GitHubからDiscordへ通知する

GitHubからDiscordへ通知する

November 1, 2023

Github の何かのイベントを契機に Discord へメッセージを飛ばす設定の手順です。

1.Discord の Webhook エンドポイントの作成

  • Discord のサーバ設定またはチャンネル設定を開きます。
  • Integrations のタブを開きます。
  • Create Webhook ボタンを押します。

Discord - Settings

  • 通知先のチャンネルを選択し、設定を保存します。
  • Copy Webhook URL ボタンを押します。

Discord - Settings

2.Github の通知設定の作成

  • Github のリポジトリから設定ページを開きます。
  • Webhooks のタブを開きます。
  • Add Webhook ボタンを押します。

GitHub - Settings

  • Payload URL に Discord で作成した Webhook URL を貼り付けます。さらに、貼り付けた文字列の末尾に /github を付け加えてください。
  • Content type は application/json を選択します。
  • お好みで、Which events would you like to trigger this webhook? の内容を選択します。
    • 例えば、プルリクエスト時とそのレビュー時に通知を送りたい場合は以下の設定になります。

GitHub - Settings

  • 最後に、最下部の Add webhook ボタンを押して保存してください。

3.疎通確認

  • Github で作成した Webhook をクリックします。Recent Deliveries から疎通結果が確認できます。

GitHub - Settings

  • 新規 Webhook 作成後は ping による疎通確認が自動で行われていて、正常に疎通できていればチェックマークがついています。
  • チェックマークを確認して作業は完了です。

うまくいかないときは

Recent Deliveries の各通信をクリックすると通信内容が確認できます。もしチェックマークがついていない場合は、Discord から返ってきているエラーメッセージを確認しましょう。

例えば、Webhook 作成時に設定する Payload URL の末尾に /github を付け加え忘れていると、以下のメッセージが返ってきているはずです。

{ "message": "Cannot send an empty message", "code": 50006 }

参考:https://github.com/discord/discord-api-docs/issues/4134