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の下準備

  1. hubotの準備をします。
  1. 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の拡張スクリプトを紹介しました。
弊社でも議事録、バグ報告などいくつかの利用例で活用されています。
何かの参考になれば幸いです。