2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHubコミットをSlack通知する方法(SlackのGitHubアプリを使用する編)

Last updated at Posted at 2024-01-04

この記事は?

第三者が運用しているGitHubレポジトリ※へのコミットをSlackワークスペースで各種更新の通知を受けるという要件を実現するための方法を調査・実装したので、手順と気づいた内容を記録する。

※オープンソースソフトウェアのGitHubレポジトリなどを想定いただければ

環境

  • Slackアプリ プロダクション 4.36.136 64-bit
  • Windows 10
  • GitHub(SaaS版であり、オンプレ版でも、 有償アカウントでもない)
  • Slack (無料アカウント)

GitHubアプリでの連携

概要

  • SlackのワークスペースへサードパーティーアプリのGitHubアプリを導入することでGitHub上の対象のレポジトリの更新を検知する方法

必要なもの

※注意事項にも詳細を記載

注意事項

GitHubにSlackアプリをインストールしていない場合や、通知を受けたい対象のレポジトリへGitHubアカウントが必要な権限を有していない場合、本記事の連携方法は使用できない※(簡単に言うと、自分のGitHubアカウントで運用しているレポジトリではあればSlackアプリをインストールすれば問題ない。OSSや企業が公開しているPublicなレポジトリでもできるものとできないレポジトリがあるということ。)
つまり、第三者のPublicレポジトリ(OSSなど)の内容を確認したりしたいという要件だと先方がGitHubにSlackアプリを入れてくれていないとケースもあり実現できない場合がある。

※私はSlack上のGitHubアプリとGitHub上のMarketplace AppsでのSlackアプリが混同をした。。。(詳細はインストール方法を見てほしい)

インストール方法

  • Slack(管理WEB画面操作)

    • https://[ワークスペース名].slack.com/apps にブラウザでアクセス
      image.png
    • "GitHub"で検索
      image.png
    • インストール
  • Slack(ユーザ操作)

    • ワークスペースの左メニューのAppにGitHubをクリック
      image.png
    • BOTからのファーストメッセージ上の"Connect GitHub Account"をクリック(なお、時間がたっていて失敗した場合や、該当のメッセージが見当たらない場合は、/github signin とGitHubボットに話しかけるとボタンが出現します。)
      image.png
    • Slackアプリから呼び出されたブラウザ上に以下の画面が表示されるので、"Connect GitHub account"ボタンをクリック
      image.png
    • 確認コードが表示されるのでコピー
      image.png
    • Slackアプリの画面に戻り、"Enter code"をクリック
      image.png
    • 以下のポップアップをウィンドウにさきほどの確認コードをペースト
      image.png
    • 成功すると、SlackアプリのGitHubアプリ(BOT)との会話欄にBOTより以下のメッセージが表示されました
      image.png
  • Slackアプリ(通知対象のレポジトリの購読登録)

    • 以下のsubscribeコマンドをSlackアプリ > app > GitHubをクリックして入力する
      image.png
    • (購読に成功した場合)
      image.png
    • (購読に失敗した場合)
      image.png

成功した場合の通知の見え方

image.png
※通知の内容については、subscribeコマンドの引数で通知内容を調整することが可能

検証していて気づいたこと

  • 購読に失敗した場合は、タイポをまず疑うべし
  • Slack上のパブリックチャネルでの運用の際は、Slackユーザ全員にGitHubアプリとの会話を許可してしまうと、subscribeされまくり、誰が登録したのかが調査できないので注意(基本通知用のチャネルを作ったほうがいいと思う)
  • 注意事項にも記載したが、GitHub側にSlackアプリを入れないとsubscribeできないため、第三者(OSS)のレポジトリのウォッチには適してないない(別の連携方法を探し中、どなたかおすすめあれば教えてください)

追伸

今回制約があった、第三者のレポジトリの更新検知について対応すべく、続編書きました。

参考

dynamis/github-slack.md GitHub - Slack 連携メモ

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?