ソースコードや画像などのリソースをGitHub(ギットハブ)でバージョン管理する開発者が増えてきました。開発を進める中で出てきた課題は、GitHubのIssue(イシュー)で管理できます。Issueでは、コミットを行った開発者に処理内容を確認したり、発生した不具合の共有など、開発に重要な議論が行われます。Issueが追加・更新されると、GitHubからメールで通知されるのですが、チャットツールをコミュニケーション手段としている環境では、メールに気づかず素早く反応できない場合があります。それを解消するために、チャットツールであるSlack(スラック)へIssueの内容を通知する方法を紹介します。

IssueをSlackへ通知する構成

GitHubとSlackを連携させるために、IFTTT(イフト)を使います。IFTTTとは、さまざまなWebサービスの間を仲介してつなぎ合わせる無料のWebサービスです。GitHubのリポジトリにIssueが追加されると、IFTTTへ通知します。通知を受け取ったIFTTTは、SlackへIssueの内容やURLを送信します。

構成図

IssueをSlackへ通知するまでの手順

IssueをSlackへ通知するまでの手順は次のようになっています。事前にGitHub、Slack、IFTTTのアカウントを用意してください。

  1. GitHubとIFTTTを連携する
  2. SlackとIFTTTを連携する
  3. IFTTT上でGitHubとSlackをつなぎ合わせる

1. GitHubとIFTTTを連携する

IFTTTにはWebサービスごとに「チャンネル」が用意されています。そのチャンネルとWebサービスのアカウントを連携することで、IFTTT上でWebサービスをつなぎ合わせることができるようになります。GitHubのアカウントと連携するGitHubチャンネルを設定します。IFTTTのグローバルナビゲーションから[Channels]をクリックし、Channelsページを開きます。検索ボックスに「GitHub」と入力すると、GitHubのアイコンが表示されるのでクリックします。

GitHubチャンネルを検索している様子

GitHubチャンネルの詳細ページが開くので、[Connect]ボタンをクリックしてGitHubアカウントと連携します。

GitHubチャンネルの詳細ページ

連携に成功すると次の図のように「Connected as: GitHubのアカウント名」と表示されます。

GitHubチャンネルとGitHubのアカウントが連携できた様子

2. SlackとIFTTTを連携する

Slackのアカウントと連携するSlackチャンネルを設定します。Channelsページの検索ボックスに「Slack」と入力すると、Slackのアカウントが表示されるのでクリックします。

Slackチャンネルを検索している様子

Slackチャンネルの詳細ページが開くので、[Connect]ボタンをクリックしてSlackアカウントと連携します。

Slackチャンネルの詳細ページ

連携に成功すると次の図のように「Connected as: Slackのアカウント名」と表示されます。

images/160422_ifttt_06.png

ここまででIFTTTにGitHubとSlackを結びつけることができました。次のページでは、GitHubとSlackをIFTTT上でつなぎ合わせて、GitHubのIssueをSlackへ通知する流れ解説します。