Worqueを使ってSlack上で非同期にDailyStandupMeetingする


はじめに

リモートワークが増えて、お互いが何をやっているかを把握するために、Slack上で進捗報告を行う機会が多くなってきました。

でもSlack上で整形した長文を投稿するなんて面倒ですよね。。

その問題を解決すべく、対話型で進捗報告を簡単にできるSlackBotが公開されているようです。Geekbot, Jell, Tatsu などがその一部です。

Geekbotを使った事例としてはSORACOMさんの記事が分かりやすいです。
https://blog.soracom.jp/blog/2016/06/28/about-team/

ですが、本記事ではBotとは違ったアプローチを使って、Slack上での非同期コミュニケーションの簡易化を図る努力をしていきます。Botは有料なものが多いので、無料で自分流にカスタムできる感じにやっていければなと。

Worqueとは

有志が公開しているCLIです。コマンドで日々のメモなどを記録していくことができます。詳しくはGithubのREADMEをご覧ください。

僕の.bash_profileには下記でコマンドを登録しています。

# worque
today () { subl $(worque todo); }
ytd () { subl $(worque todo --for yesterday); }
alias push-today="worque push --channel standsup"
alias push-ytd="worque push --channel standsup --for yesterday"

today と打つと日付がファイル名になってSublimeTextが起動します。
push-todayと打つと今日のメモが特定のSlackチャンネルに投下されます。

* sublコマンドについてはこちらをご覧ください。
https://www.sublimetext.com/docs/3/osx_command_line.html

READMEにも記載がありますがWorqueでSlackに投下するためにはTokenを取得する必要があります。

https://api.slack.com/web から取得して.worquercに書いておきましょう。

$ vim ~/.worquerc 

{
  "path": "メモを保存する場所のパス",
  "token": "取得したSlackのトークン"
}

SublimeSnippetを登録してさらに便利にしてみる

Sublimeには自分のSnippetを登録できる機能があります。standupと入力したら定型文が表示されるようにすると更に便利になりそうな予感がします。

New Snippet を選択して下にある内容で保存します。

ファイル名は standup.sublime-snippet としておきましょう。 .sublime-snippetという拡張子で保存しないと認識されないので注意です。

<snippet>
  <content><![CDATA[
# 昨日やったこと


# 今日やること


# 作業する上での懸念


# ひとこと


]]></content>
  <tabTrigger>standup</tabTrigger>
</snippet>

実行してみる

$ today

standup と入力して TABキーを押す

ごにょごにょ書いて

$ push-today

以上で終了です。まぁまぁ簡単になったのではないでしょうか。Worqueならファイルをローカルに保存しておけるので見返すのも楽です。cron と連携して定時になったら自動投稿する、Slack上でリマインドを設定しておくなどの工夫もすると更に良さそうです。