LoginSignup
11
15

More than 3 years have passed since last update.

Microsoft TeamsにGitHub通知する

Last updated at Posted at 2020-09-01

簡単にできるはずが(実際、簡単です)、もの知らぬせいで手間取ったため、せっかくなので残しておきます。
誰かのお役に立てれば幸いです。

  • 【追記(2020.09.15)】GitHubとMicrosoft Teamsとの統合アプリ「GitHub (Preview)」がパブリックベータで登場しています( 2020.9.10 の The GitHub Blog )。
    「公式」感もありますし(アプリの作成者が「Microsoft Corporation」)、今後はこちらが主流になっていくかもしれません。

    • 参考: 2020.09.15 現在、筆者環境にてGitHub関連のTeamsアプリを見てみますと 20200915_01.jpg
      • 「GitHub」アプリ: 当記事の紹介している「GitHubコネクタ(のアプリ)」
      • 「GitHub (Preview)」アプリ: 新たなアプリ ※当記事で紹介していない
      • 「GitHub Enterprise」アプリ: 当記事の紹介している「GitHub Enterpriseコネクタ(のアプリ)」

やりたいこと

GitHubリポジトリのPushやIssueやPull Requestの通知を、Microsoft Teams(以降 MS Teams)のチャネルに出したい。
出す内容には拘らないので、とにかく手間かけずに。

方法

通知を出したいMS Teamsチャネルに、コネクタを追加します。
それらしいコネクタは「GitHub Enterprise」「GitHub」の2つありますが、どちらでも可能です。
※設定手順については、後述

「GitHub Enterprise」コネクタ、「GitHub」コネクタ、どちらを使うか?

シンプルに通知機能のみ欲しい場合であれば、設定のシンプルさ・把握のしやすさから「GitHub Enterprise」コネクタから始めるのが良さそうです。

  • 「GitHub Enterprise」コネクタ

    • 機能として「通知」に特化しており、リポジトリ側のWebhookを手動で設定する手間はあるが、シンプルで把握しやすい
    • GitHub Enterpriseではないリポジトリにおいても、動作する
  • 「GitHub」コネクタ

    • 「GitHub」アプリの一部であり、「GitHub」アプリには通知以外のリッチな機能(Issues/Pull Requestsのタブ機能や、Bot機能など)が存在する
    • MS Teams側での設定を進めるだけで完結する簡易さはあるものの、OAuthアプリ連携について慣れていないと後々苦労する、、かもしれません
      • GitHub側からすると、アカウント(もしくはOrganization)単位のOAuthアプリが登録されます
        • さらに「GitHub」アプリの他の機能を利用する際には、別なOAuthアプリが登録されます
      • この辺り(OAuthによる連携)に慣れていないと、把握・管理が難しそう ※もし、間違い等ありましたらコメント頂けますと助かります!!

設定手順

方法1. 「GitHub Enterprise」コネクタを利用

通知したいチャネルで、「GitHub Enterprise」のコネクタを登録し、GitHubリポジトリ側でWebhookを登録します。

  • チャネルで「GitHub Enterprise」のコネクタを登録
    ghe_01.jpg
    ghe_03.jpg

    • GitHubリポジトリ側のWebhookを登録(ダイアログに詳細な手順が出ているので、それを参考に) ghe_11.jpg
      • 設定ポイント:
        • 払い出されたWebhook URLを設定します
        • Webhookの設定にて、通知を受け取りたいイベントを選択します(登録後の変更は可能)
    • MS Teams側のダイアログを「完了」
  • (コネクタを登録した旨が、メッセージ)
    ghe_04.jpg

    • 補足: チャネルに「GitHub Enterprise」コネクタを登録すると、(チャネルが属する)チームに「GitHub Enterprise」アプリが登録されています。 ghe_90.jpg

以上で、チャネルに通知が来るようになります。

ghe_05.jpg

方法2. 「GitHub」コネクタを利用

通知したいチャネルで、「GitHub」のコネクタを登録します。

  • チャネルで「GitHub」のコネクタを登録
    gh_02.jpg
    gh_03.jpg

    • 途中GitHubアカウントのログインや、OAuthのダイアログが表示されるので、内容を確認の上、進める
      • 補足: GitHubアカウントにOAuthアプリが追加されます(GitHub側のアカウント設定 Applications / Authorized OAuth Apps ) gh_11.jpg
    • [通知]にて、通知を受け取りたいイベントを選択します(登録後の変更は可能)
  • (コネクタを登録した旨が、メッセージ)
    gh_04.jpg

    • 補足: チャネルに「GitHub」コネクタを登録すると、(チャネルが属する)チームに「GitHub」アプリが登録されています。 gh_90.jpg

以上で、チャネルに通知が来るようになります。

gh_05.jpg

まとめ

  • MS Teamsの「GitHub Enterprise」コネクタ、もしくは「GitHub」コネクタを使って、簡単にできます。
  • シンプルに通知機能だけ欲しい場合には、「GitHub Enterprise」コネクタから始めると良さそうです。

余談

  • 通知のタイミングや内容を細かにカスタマイズしたい場合、GitHub Actionsから、MS TeamsのIncomming Webhookアプリ(コネクタ)を用いる方法があります。
11
15
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
11
15