はじめに
GithubとSlack連携は以前から使ってましたが
slackと連携するgithubの新しいアプリが出たらしいので使ってみた感じをメモ
2018/04現在、以前のgithub連携アプリは
Github Notifications (レガシー)
と呼ばれるようです
アジェンダ
- 連携させる
- 設定を変える
- /githubコマンドの使い方
1. 連携させる
https://slack.github.com/ にて連携設定を行います。
連携はwebのみで行えます。
webを開く
https://slack.github.com/ を開いてAdd to Slack
を押します
アクセス権限を確認
アクセス権限を確認し「Continue」を押します
チャンネル選択
アプリがアクセスできるチャンネルを選択します。
とりあえずAll Public Channels
を選択しInstall
を押して先に進みます。
2. 設定を変える
にて後述しますが、設定は後で変更できます。
Installと連携を確認
Installされるとアプリを開くダイアログが表示されます
Slack.appを開くとこんな画面で出迎えてくれます
2. 設定を変える
設定を変えるには以下から行います。
https://<チーム名>.slack.com/apps/manage
設定するアプリを探す
https://<チーム名>.slack.com/apps/manage
を知らなくてもアプリからも開けます。
slackアプリのメニューから
Customize Slack
を開きますConfigure Appsを開きます
InstallしたGitHubがあるので選択します
設定を変える
Settings
を選択します
Install時の設定でAll public channels
を選択してしまったとしてもこの画面で変更できます。
本来は極力権限はしぼるべきでしょう。
補足
特定のChannelのみにした場合でも、
あとからslack側の追加したいchannelで
/invite @github
と発言することで後から追加できます
3. /githubコマンドの使い方
使うコマンド
slackのコメント欄にて以下のコマンドを発言することでリポジトリの設定が行えます
コマンド | 意味 |
---|---|
/github subscribe owner/repo |
指定したリポジトリの通知を受け取ります |
/github unsubscribe owner/repo |
指定したリポジトリの通知をやめます |
/github subscribe owner/repo 機能 |
指定したリポジトリの機能 (※1)の通知を受け取ります |
/github unsubscribe owner/repo 機能 |
指定したリポジトリの機能 (※1)の通知をやめます |
/github subscribe list |
通知設定したリポジトリを表示します |
※1:
機能
には、
↓に記載しているデフォルト通知設定
の機能を個別に指定します。具体的には
issues
、pulls
、comments
などです。
デフォルト通知設定
- デフォルトで通知を行う機能
- issues (イシュー)
- pulls (プル)
- statuses (ステータス)
- コミット
- deployments (デプロイメント)
- public (パブリック)
- デフォルトで通知されない機能
- reviews (レビュー)
- comments (コメント)
- branches (ブランチ)
- commits:all (すべてにコミット)
特定のリポジトリのsubscribe
ためしにこのリポジトリをsubscribeしてみます
https://github.com/tweeeety/github-slack-new_app
slack上でsubscribeするリポジトリを指定
/github subscribe tweeeety/github-slack-new_app
と打ちます
Githubアカウントと連携する
SLack上にConnect GitHub account
というボタンが現れるのでおします
Github上で連携する
Authorize github
を押します
押すとSlack上にはSuccess!
と通知がきます
Github上でリポジトリ設定をする
続けてGithub側で
この連携がアカウントの全てのリポジトリを対象とするか、特定のリポジトリとするかを選択します
完了するとSubscribed to...
という通知がきます
pull requestを送ったsubscribeを確認
https://github.com/tweeeety/github-slack-new_app/pull/1
ためしにこのpull requestを送ってみた結果です。
特定のリポジトリの機能のsubscribeをする/やめる
すでに出てきましたが、以下のようなコマンドで機能に対してのsubscribeをする/やめるができます
補足
2018/04現在、Enterprise
やSlack Enterprise
には対応してないようです。
以下の公式リポジトリのREADMEに記載があります
This app officially supports GitHub.com and Slack.com but the team plans to support GitHub Enterprise and Slack Enterprise Grid in the future.
おわり
chatOps的にslackから設定ができるのはとっても便利ですね\(^o^)/