GitHubとSlackをSlackのアプリで連携させる方法

Slackのアプリを使ってGitHubを連携します。

slack.com

1. GitHubにSlackアプリをインストールします。

参考 : 個人アカウントでアプリケーションをインストールする - GitHub Docs

  1. 連携するGitHubアカウントにログインします。
  2. [Marketplace] > 「slack」でアプリを検索 > 「Slack + GitHub」を選択してページを表示します。
    • f:id:ponsuke_tarou:20210601211921p:plain
  3. [Install it for free]ボタンで次のページを表示します。
  4. [Complete order and begin installation]ボタンでインストールします。

f:id:ponsuke_tarou:20210601214036p:plain
アプリがインストールされているかは[Account settings]画面で確認できます

2. SlackにGitHubアプリをインストールします。

  1. Slack + GitHub のページを開いて、[Add to Slack]ボタンを押下します。
    • f:id:ponsuke_tarou:20210601211319p:plain
  2. 設定したいSlackのワークスペースになっていることを確認して[Allow]ボタンで進みます。
  3. Slackのメッセージが届いてワークスペースGitHubアプリが追加されます。
    • f:id:ponsuke_tarou:20210601211154p:plain

3. SlackでGitHubアカウントへの連携設定をします。

  1. 使いたいチャネルで /invite @GitHub を送信してGitHubアプリをチャネルに追加します。
  2. /github subscribe ユーザ名/リポジトリ名 を送信して、表示された[Connect GitHub account]ボタンでWeb画面を表示します。
  3. [Authorize Slack]ボタンを押下すると認証コードが画面に表示されます。
    • f:id:ponsuke_tarou:20210601214216p:plain
  4. Slackに表示された[Enter code]ボタンで認証コードを入力します。
    • f:id:ponsuke_tarou:20210601211715p:plain

GitHubアカウントへの連携を解除する方法

参考 : GitHubとSlackを連携させて通知を自動化するまでの手順 - zenn.dev

# 現在、何が連携されているかを確認します
ponsuke  10:31
/github subscribe list features

GitHubAPP  10:31
Subscribed to the following repository
ユーザ名/リポジトリ名
issues, pulls, commits, releases, deployments
Learn More

# unsubscribeで連携を解除します
ponsuke  10:34
/github unsubscribe ユーザ名/リポジトリ名

GitHubAPP  10:34
Unsubscribed from ユーザ名/リポジトリ名

うまくいかなかったこと

Either the app isn't installed on your repository or the repository does not exist. Install it to proceed.

f:id:ponsuke_tarou:20210601212409p:plain
事象 : GitHubリポジトリを連携したらメッセージが表示された

  • 原因 : GitHub 側で Slack アプリがインストールされていないから
  • 対応
    1. メッセージに表示された[Install GitHub App]ボタンでWeb画面を開きます。
    2. [Only select repositories]で通知したいリポジトリを選択します(複数選択可)。
      • f:id:ponsuke_tarou:20210601213543p:plain
        リポジトリにインストールしたい場合は、[All repositories]を選択します。
    3. [Install]ボタンでインストールします。

Workspaces on free subscriptions can only install 10 apps and your workspace has reached the limit.

2020年3月頃にGitHubとSlackを連携させました。 ある日、GitHubと連携するアプリを使っているチャネルにこんな通知が来ました。 f:id:ponsuke_tarou:20210506104208p:plain

Action required - upgrade app for {ワークスペース名}.
GitHub app is built on Slack's workspace apps which are now deprecated. The legacy GitHub app will stop working on July 15, 2021.
Don't worry, we have built a new version of GitHub-Slack integration. You can just upgrade the app and get back to your work.
Learn more about this upgrade here.
(なんとなくの訳)
GitHubアプリは非推奨になって2021-07-15に使えなくなるよ。
でも新しいアプリがあるからアップグレードすればOKよ。

というわけで対応しようと、通知にある[Upgrade App]ボタンから進んでいくと・・・。 f:id:ponsuke_tarou:20210506195913p:plain

アプリ

インストールできるサードパーティ製アプリやカスタムアプリは最大 10 個です。

Slack フリープランでのメッセージ、ファイルやアプリの制限 | Slack

有料プランから無料プランへプラン変更したワークスペースのためか、インストールされている「アプリ」と「インテグレーション」の合計数が10個をがっつり超えていました。

SlackのGitHubアプリをアップグレードしよう(2021年7月15日まで) | DevelopersIOを参考にすると通知にある[Upgrade App]ボタンからぽちぽちすればアップグレードできるようですが、今回はワークスペースにインストールするアプリの上限に達しているため一旦古いGitHubアプリを削除して再度新しいGitHubアプリで設定することにしました。

  1. Slackをブラウザで表示 > [Manage]
  2. [GitHub (Legacy)]をアンインストールする
    1. [Installed apps]タブ > 一覧から[GitHub (Legacy)]を選択して画面を表示
    2. [Settings] > [Warkspace access] > [Uninstall app]でポップアップを表示
    3. 「アプリが使えなくなっちゃうって理解しているよ」チェックボックス2つにチェックを入れる
      • チェックすると[Uninstall app]ボタンが活性化する
    4. [Uninstall app]ボタンでアプリをアンインストールする
  3. 他の不要なアプリやをインテグレーションをアンインストール

f:id:ponsuke_tarou:20220315200506j:plain
41歳のお誕生日ケーキ