こんにちは、認証グループの横井です。
Emacsを使用していると、様々なものをEmacs上に集約していきたくなりますよね。 そこで、EmacsでChatwork上に存在するタスクを確認できるようなプラグインを作成しました。
この記事は kubell Advent Calendarの12/11の投稿です。
Emacs Dashboardの話
私は普段テキストエディタとしてEmacsを愛用しています。
Emacsではdashboardというプラグインで、 起動時に様々な情報(頻繁に使用するディレクトリや最近使用したディレクトリなど)を表示することができます。
Emacsのorg-agenda(タスクを収集しまとめる機能)を表示することもでき、これによりタスクをEmacsを開いた瞬間に確認できるようになります。

Chatworkを使用していると、Chatwork上でタスクを振られることが多々あります。 せっかくEmacsのトップページにタスクが表示されるのに、様々な箇所にタスク管理が分散していると見逃しが発生するので、 Chatwork上に存在するタスクについてもdashboardに表示されるようにしました。
作成したプラグインはこちらです。
使用方法
(use-package chatwork-task-sync :vc (:url "https://github.com/chmod700yokoish/emacs-chatwork-task-sync" :rev :newest) :config (setq chatwork-api-token "XXXXXXXXXXX") (setq chatwork-task-sync-org-file "~/.emacs.d/org/chatwork-tasks.org"))
上記例ではinit.elに直接Chatwork APIトークンを記述していますが、 コミットしたりする必要がある場合は必ず環境変数やauth-source等を使用してください。
設定後、M-x chatwork-task-sync-save-to-fileを実行することで、Chatwork上での自分宛のタスクが指定したファイルに書き込まれます。
作成されるファイルはこのようになります。

これをorg-agenda-filesで読み込まれているディレクトリに追加することで、ダッシュボードに表示することができます。
さらに、Emacs起動時に自動でchatwork-task-sync-save-to-fileを実行するようにすれば、常に Chatwork 上のタスクが Emacs のトップ画面に
表示されるようになります!

まとめ
Chatwork APIを使用し、Chatwork上のタスクをEmacsで表示することができました。
今回は取得し表示するだけですが、Emacs上からタスクの完了などもできるようになるとさらに利便性が増すように思います。