Slackの発言をEmoji reactionで簡単にGitHub Issue化する方法

はじめに
こんにちは。 yoshitsugu です。
普段Slackを使っていると、「この発言は流れてほしくない」というものがあると思います。
通常であればSlackのpin機能などで事足りると思いますが、バグの報告などはそのままGitHub Issue化できると便利です。そこで、今回はSlackの発言にreactionをつけることでGitHub Issue化するSlack botを作ってみました。
今回のゴール
- Slack上で発言にEmoji reactionをつけるとそのままGitHub Issueとして登録される
- 1チャンネル1リポジトリとしてSlackチャンネルとGitHubリポジトリとの紐付けができる
手順
hubotの下準備
- hubotの準備をします。
- こちらを参照
- Slackにhubot integrationを追加します。
- こちらを参照
スクリプトの作成
hubotディレクトリのscripts/ 以下に以下のようなスクリプトをおきます。
今回は、GitHub APIの操作に
、hubot外のSlack APIの操作に
を使いました。
hubotデプロイ
あとはherokuなどにhubotをデプロイして動くようにすれば完了です。
環境変数として、HUBOT_SLACK_TOKEN にSlackのアクセストークン、HUBOT_GITHUB_TOKENにGitHubのアクセストークン、GITHUB_ISSUE_EMOJIにIssue化するときに使うSlack Emoji名の設定が必要ですので、それだけ注意してください。
結果
set (リポジトリ名) で対象のリポジトリ名を設定します。

get で今設定されているリポジトリ名を確認できます

GITHUB_ISSUE_EMOJIのEmoji名で設定したEmoji reactionをつけることでIssueを作成できます。

さいごに
今回はSlackの発言をGitHub Issue化できるhubotの拡張スクリプトを紹介しました。
弊社でも議事録、バグ報告などいくつかの利用例で活用されています。
何かの参考になれば幸いです。