ふだん社内のコミュニケーションはSlackを使っていて、社内の開発はGitHub Enterprise上で行っています。
普通のGitHubとは連携方法が違うみたいなので、(ググるとやり方のページいっぱい出てくるんですけど)
自分の環境で手順をまとめました。
この手順で、リポジトリごとに好きなチャンネルに通知を飛ばすことができます。
公式でも
- Slack 用 GitHub アプリ : GitHub の Developer、Team または Business プランを利用していますか?そんな方にはこのアプリがおすすめです!
- Github Notifications (レガシー): このアプリは GitHub Enterprise と互換性があります。
https://slack.com/intl/ja-jp/help/articles/232289568-github-for-slack
となっており、Enterprise環境の場合は Github Notifications (レガシー)
が必要になります。
GitHubアプリのインストール
Slackの GitHubアプリ https://slack.com/apps/A0F7YS2SX-github に行きます。
GitHub Enterprise Server
とあります。アプリ名変わったんでしょうか。レガシーだと印象悪いもんね。
初めて導入するときは「インストール」というボタン名になっているみたいです。
私の環境ではすでに連携したことがあるので、左側の「Slackに追加」ボタンをクリックします。
Slack-投稿チャンネルの選択
まず、どの Slackチャンネル
にGitHubの通知を飛ばすかを選びます。ちなみにDMにも送れます。あとから通知先のチャンネルを変更することも可能です。
ここで新しいチャンネルを作ってもいいです。
選んだら「GitHubインテグレーションを追加する」をクリックします。
新しい連携が追加されました!
指定したSlackチャンネルにも連携された通知が来ます。
ここから先は、親切にキャプチャつきの説明が始まるので迷うことは少ないかと思います。
GitHub-Settings
Slackのページはまだ閉じないでください。
GitHub(Enterprise)上の、通知を飛ばしたいリポジトリページを開きます。
ナビゲーションメニュー(<>Code
とかPull requests
とかが並んでいる場所)の右端にSettings
があれば、それをクリックします。
ちなみにSettingsが見当たらなければ、操作する権限がないのでこの先の設定ができません。管理者に権限付与してもらうか、設定の対応をしてもらってください。
Settings
-> Hooks
-> Add webhook
の順にクリックします。
Add webhook 設定
(最初に表示したときには SSL 〜
は表示されてないかもしれません。下記URLを貼り付けると現れます)
Payload URL
さきほど開いていたSlack側のページを確認します。「Step3」に記載の ペイロードURL
、またはその少し下にある Webhook URL
をコピーして(どちらも同一のもの)、GitHubの Payload URL
欄に貼り付けます。
Content type
コンテンツタイプは application/json
を選択します。
SSL verification
Enable SSL verification
が選択されていること(またはSSLが無効になっていないこと)を確認します。
Which events would you like to trigger this webhook?
通知をトリガーするイベントを選択できます。
- Just the push event.
- Send me everything.
- Let me select individual events.
ひとまず一番上を選んで、後から好みでカスタマイズするといいと思います。弊社ではだいたいこんな設定にしているので、参考まで;
準備ができたら Update webhook
をクリックします。
Slack-その他の設定
記載のとおりです。最初に設定した通知先チャンネルの変更や、通知のスタイル(名前やアイコン)などもここでカスタマイズできます。
よければ「インテグレーションの保存」をクリック!これで設定は完了です。
GitHubを編集して、Slackに通知が来ることを確認してください。
それでは良いエンジニアHackを!