Slackbotで小さいタスクを即アサインする

1 min read読了の目安(約1100字

誰がやってもよくて、かつすぐ終わるような小さいタスクはbotに担当を決めてもらってしまいたいと思い、それだけの機能のSlackbotを作りました。
ソースはgithubに置いています。Golangです。

https://github.com/k-tomoyasu/taskuji-slackbot-event-subscribe

メンションされるとメンバーを指名するSlackbot

botにメンションするとchannel内のメンバーをランダムで指名します。
チームのSlackチャンネルに入れて、小さいタスクの担当を決めるのに使ったりしています。
メンションされると動くので、Slackのリマインダーでbotをメンションするようにしておくと、定期タスクの担当を決めるような使い方も出来ます。前回の担当者を覚えておかなくて良い点でローテーションより楽です。 demo

実装している機能

botへのメンションをトリガーにチャンネル内のメンバーをランダム指名する

Slack Events APIでbotへのメンション(app_mentionイベント)を受け取れます。
イベントを受け取ると、メンションされたchannel内のメンバーを取得し、そこからランダムで選ばれたメンバーにメンションするメッセージを投稿します。
Choose

指名に対して「OK」ボタンを押すと決定メッセージを出す

OKボタンを押した人の名前が出て、引き受けてくれたことが周りからも分かります。
引き受けてくれた人に感謝
OK

指名に対して「NG」ボタンを押すと再度ランダム指名

「NG」ボタンを押すと再度ランダム指名します。指名された人が休暇中だったり、手が離せないときにサクッとやり直せるのが地味に便利です。

最後に

チームのみんなが「このぐらいならテキトーにやる人決めちゃおう」と思っているような小さいタスクのアサインをSlackbotにやってもらうことで、ちょっと快適になりました。