📚

【Slack】GitHubと連携してPushやPRなどの通知を受け取れるようにしよう

2025/01/10に公開

Slack と GitHub を連携させることで、

コードの変更やプルリクエストの進捗、新しいイシューの作成などをリアルタイムに通知できます。

これによって、チーム全体のコミュニケーションをスムーズにし開発効率が向上します。

では、実際に連携していきましょう!!

GitHub と連携するためのアプリを Slack へインストール

インストールするアプリのドキュメントは ↓ です

https://github.com/integrations/slack

slack.github.com にアクセスして、「Add to Slack」をクリックします

許可する」をクリックします

Slack が開かれ、App に GitHub が追加されています。

また、GitHub からDMが来ています

GitHub のアカウントと連携する

GitHub アプリに対して下記のメッセージを送ります

/github signin

返ってきたメッセージ内の「Connect GitHub account」をクリックします。

WEB ブラウザでページが開くため、「Connect GitHub account」をクリックします。

続いて GitHub で Slack を認証していいか聞かれるので、「Authrorize Slack」をクリックします

認証コードが発行され、

Slack に戻って、このコードを GitHub アプリに送ります

Enter code」をクリックするとダイアログがでるので

先ほどの認証コードを打ち込みます

GitHub との連携が完了すると新しくメッセージが届きます

【必要に応じて】通知用チャンネルを作成する

普段やり取りしているチャンネルに通知するとメッセージが流れてしまいます。

特に開発が活発なプロジェクトだと GitHub からの通知が邪魔になってしまうかも。

なので、GitHub からの通知用のチャンネルを作成することをオススメします。

チャンネル名に GitHub からの通知ということがわかるといいと思います

通知される項目

デフォルトで通知される項目

⇒ 通知開始したら受け取れる項目。通知オフにもできる。

項目 通知タイミング
issues issuesのオープン/クローズ
pulls PRの作成/マージ
commits デフォルトブランチへのコミット
releases releasesのpush
deployments Deployment status の更新

デフォルトでは通知されない項目

⇒ 通知開始しても受け取れない項目。通知オンにする必要がある。

項目 通知タイミング
workflows GitHub Actions の実行
reviews PRへのレビュー
comments issues や PR へのコメント
branches ブランチの作成/削除
commits:* すべてのブランチへのコミット
+label:"your label" 指定したラベルを持つissues や PR、コメント
discussions discussions の作成や回答

通知設定

通知を受け取る Slack チャンネルに移動し、 コマンドを実行します。

コマンドを実行した際に下記メッセージが表示された人向け

Install GitHub App」をクリックすると、 Slack からアクセスしていいリポジトリを選択するページが表示されますリポジトリを選択したら、「Install」をクリックしてください これでSlack から GitHub のリポジトリを参照できます

通知の開始/停止

// 通知の開始
// 特定のリポジトリのみ通知開始
/github subscribe owner/repository

// ownerのリポジトリに関してすべて通知開始
/github subscribe owner


// 通知の停止
// 特定のリポジトリのみ通知停止
/github unsubscribe owner/repository

// ownerのリポジトリに関してすべて通知停止
/github unsubscribe owner

通知される項目の追加/削除

// 通知される項目の確認
/github subscribe list features

// 通知項目の追加
/github subscribe owner/repo [通知項目]

// 全項目の追加
/github subscribe owner/repository issues,pulls,releases,deployments,reviews,comments,branches,commits:*,discussions

// 通知項目の削除
/github unsubscribe owner/repo [通知項目]

動作確認

push

push 時にはpush と commit の通知がきます

PR 作成&コメント

PR 作成時のスレッドにコメントの内容が通知されます

PR マージ

マージするとPR 作成時のスレッドに通知がきます

マージ時にはブランチへの push 通知やマージ元のブランチ削除の通知もきます

参考

https://github.com/integrations/slack

https://zenn.dev/easy_easy/articles/298c9728e01819db9f50

https://zenn.dev/kino_puehddby/articles/d6172cb5503166

Discussion