GitHub と Slack を連携させる

GitHub は、ソフトウェア開発者のチームが共同でコードを記述し、プロジェクトを管理するためのツールです。GitHub を Slack に連携させれば、選択した Slack チャンネルであらゆるイベントの通知を受信できるようになります。一番よく使う重要度の高い2つのツールを連携させて、業務の状況を Slack 内から完全に把握できるようにしましょう。🛠


用途に合わせてアプリを選択

  • Slack 用 GitHub アプリ : GitHub の Developer、Team または Business プランを利用していますか?そんな方にはこのアプリがおすすめです!
  • Github Notifications (レガシー): このアプリは GitHub Enterprise と互換性があります。


アプリをインストールする

Slack で GitHub を使う 

GitHub Notifications (レガシー)

GitHub アプリを使えば、パブリックリポジトリのリンクのプレビューを Slack で受信し、スラッシュコマンドで通知を設定し、プロジェクトのアクティビティを簡単に把握することができます。


アプリをインストールする

  1. slack.github.com にアクセスし、「Add to Slack」をクリックします。
  2. アプリが必要とするアクセス権限を確認し、「Continue」をクリックして許可します。
  3. アプリがアクセスできるチャンネルを選択します (全てのパブリックチャンネル、特定のチャンネル、なし、等)。 

アプリのインストールが完了すると、GitHub アプリから設定方法と 「/github」のスラッシュコマンドの使い方に関するダイレクトメッセージが送信されます。

Tip : 以前の設定を購読するためには、スラッシュコマンド 「/github subscribe owner/repo」 を使いましょう。 


通知をカスタマイズする

GitHub アプリを使えば、Slack に投稿する内容のカスタマイズがしやすくなります。チャンネル全体で見てほしい関連のあるアクティビティの情報については購読し、その必要がなくあまり役立たないものについては購読を解除することができます。アクティビティの中には、デフォルトで Slack での通知を行うものと、そうでないものがあります。

デフォルトで通知を行う機能

  • issues (イシュー)
  • pulls (プル)
  • statuses (ステータス)
  • コミット
  • deployments (デプロイメント)
  • public (パブリック)

デフォルトで通知されない機能

  • reviews (レビュー)
  • comments (コメント)
  • branches (ブランチ)
  • commits:all (すべてにコミット)

 

以下のスラッシュコマンドも通知のカスタマイズに便利です。

  • /github subscribe owner/repo [機能]
  • /github unsubscribe owner/repo [機能]


GitHub アプリについての注意事項 

Slack の他のアプリを使っているユーザーの方は、GitHub のインストール方法が少し違うことに気づかれたかもしれません。このアプリは、メンバーレベルではなく、ワークスペースレベルで動作するものです。それには以下のようなしかるべき理由があります!

  • アプリをインストールしたメンバーがワークスペースから退出しても、アプリの連携が解除されることはありません。
  • GitHub アプリは特定のチャンネルに追加することができます。インストール時にチャンネルを選択するか、「/invite @github」を使って後からアプリをチャンネルに追加することもできます 

💡 Slack プラットフォームブログで今後の Slack アプリの展開についてチェックしてみましょう。開発者の方には、次世代の Slack アプリのビルドについてのトピックや、デベロッパー用プレビューへの参加もおすすめです!

 

GitHub のオンプレミスオプション、GitHub Enterprise を利用している場合には、GitHub Notifications (レガシー) アプリのインストールが必要となります。 


アプリをインストールする

  1. Slack の App ディレクトリで GitHub アプリを見つけます。 
  2.  Install  をクリックします。
  3. GitHub イベントの投稿先チャンネルを選択するか、「新しいチャンネルを作成する」をクリックしてまったく新しいチャンネルを作成します。
  4.  Add GitHub Integration をクリックします。 
  5.  Authenticate your GitHub account  (GitHub のアカウントを認証する) をクリックします。
  6. Slack で通知を受け取りたいリポジトリを選択します。 
  7. Slack に投稿する GitHub イベントを選択します。
  8. 必要に応じてカスタム表示名とアイコンを選択し、GitHub イベントの表示方法をカスタマイズできます。
  9. 以上全て終了したら  Save Integration   をクリックします。


権限について理解する 

GitHub アプリを Slack に初めて連携させた時に、Slack から GitHub リポジトリへのアクセス許可を求められることがあります。すべてのパブリックおよびプライベートリポジトリデータ (コード、問題、プルリクエスト、wikis、設定、デプロイキー、Web フックとサービス) への読み取り権限と書き込み権限が必要です。

難しいことをお願いしているのは十分承知しています!ですが、Slack が公開/非公開リポジトリの全項目にアクセスするには、上記に挙げた全ての許可を与える GitHub の repo scope を使うことが必要なため、どうかご理解ください。

注意 : Slack は、リポジトリデータを読むため (公開・非公開リポジトリのリストを取得するため)、また GitHub に Webhook を設定するためだけにこれらの権限を使用します。


非認証モードに切り替える

GitHub アプリを非認証モードで設定することもできます。非認証モードで設定するには、 上記の手順1〜4を実行し、それから以下の手順に従います。

  1. Slack の設定ページで、「非認証モードに切り替える」をクリックします。
  2. GitHub のアカウントページから、自分がモニターしたいレポジトリに移動します。右ナビゲーションメニューから、 「設定」  をクリックします。
  3. 左ナビゲーションメニューから  Webhooks & Services  をクリックして、 Add webhook  を選択します。
  4. Slack の App ディレクトリウィンドウから、「URL をコピーする」をクリックします。
  5. GitHub アカウントに戻り、Payload URL  の下に URL をペーストします。
  6.  Content type  の項目で、必ず  application/json  が選択されていることを確認してください。
  7.  SSL verification (SSL 認証) が ON になっていることを確認します。
  8.  Add webhook をクリックします。
  9. Slack の設定ページに戻り、Save Integration  をクリックします。


新しい GitHub オーガナイゼーションを追加する

新しい GitHub オーガナイゼーションに参加した場合は、Slack がそれにアクセスできるように許可する必要があります。この設定が済むと、その新しいオーガナイゼーションが既存のアプリ一覧に表示されるようになります。以下に手順を説明します:

  1. GitHub Settings のページ :  github.com/settings  にアクセスします。
  2. Authorized OAuth Apps(認証済の OAuth アプリ)の項目で Slack をクリックします。
  3. Organization access」の新しい OrG の横にある「Grant Access」をクリックします。

新しいオーガナイゼーションとそのリポジトリが、Slack の GitHub アプリのページ :  my.slack.com/apps/manage  に表示されます。

質問がありますか?いつでもお気軽にお問い合わせください!

関連記事

最近チェックした記事