EmacsからYammerに投稿する

区分
Emacs
報告者

はじめまして、こんにちは。oishiです。

昨年11月に第二新卒として入社しましたが、入社1週間ほどで社内トップレベルにデスクが散らかってるエンジニアとなりました。ありがとうございます。

さて、このように少し横着者な私なので、毎日のTODOである「Yammerへ日報の投稿」を忘れてしまうことが多々ありました。
※弊社は社内SNSとしてYammerを使っており、私は日報をYammer上に投稿しています。

なぜ忘れてしまうのかを考えてみたところ、以下の手順が非常に億劫だからではないかと考えました。
1.Yammerを開く
2.昨日の日報を探し当てる
3.それをフォーマットとしてコピーする
4.入力フォームにフォーカスする
5.入力フォームに昨日の日報貼り付ける
6.昨日の内容を一部削除する
7.今日の内容に書きなおす
8.投稿

こんなにやることが多くては、面倒くさがり屋さんなら忘れてしまうのも頷けますね。

しかし、幸いなことにYammerにはAPIが公開されているので、それを使ってEmacsから日報を投稿することを思いつきました。

以下手順です。
ちなみに環境はEmacs + Common Lisp + SLIME + Quicklispを前提としています。

1.自社のYammerにYammer Appを登録
登録の仕方は公式を見てください。
https://developer.yammer.com/create-an-application/

2.以下のコードを、各Common Lisp処理系の起動時に読み込ませる

(ql:quickload :drakma)
(defvar *yammer-token* "my-yammer-token")

(defun send-nippo (body)
  (drakma:http-request "https://www.yammer.com/api/v1/messages.json"
                       :method :post
                       :additional-headers '(("Authorization" . "my-authorization"))
                       :external-format-in :utf-8
                       :external-format-out :utf-8
                       :parameters `(("body" . ,body)
                                     ("group_id" . "000000"))))


3.Emacsのyasnippetで以下のテンプレを作る

# -*- mode: snippet -*-                                                                                                                                                                        
# name: nippo
# key: nippo
# binding: direct-keybinding
# --

(send-nippo
"
おつかれさまです。oishiです。
本日の日報を提出します。

【やったこと】
$1

【次回の予定】
$2

【所感】
$3
")$4


Common LispじゃなくてEmacs Lispで書いてもいいのですが、私のEmacsのscratchバッファがデフォルトでLisp modeなので、切り替えるのが面倒なのと、SLIMEが常時立ち上がってるのでCommon Lispで書いてます。

以上が手順です。

これで冒頭の長い手順が以下のように短縮されました。
1.EmacsのLisp-modeのバッファ上で”nippo”と打つ
2.TABを押す
3.日報を書く
4.評価

私はこれで日報を書く時間が3分→1分未満に短縮されましたし、面倒くささも感じないせいか日報を忘れることもなくなりました。

これでさらに面倒くさがり屋さんに磨きがかかった気がします。


ちなみにこのブログもEmacsから投稿したいです。

トップページに戻る

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa