単にDiscordのWebhook URLを貼り付けるだけではエラー(もしくは無反応)になります。
しかし、URLの末尾に少しだけ付け加えるだけで、誰でも簡単に連携させることができます!
1. 最も簡単な方法:URLに /github を付ける
DiscordのWebhookは、GitHub専用の互換モードを持っています。
- Discord側: Webhook URLをコピーします。
- 例:
https://discord.com/api/webhooks/12345/abcde
- 例:
- GitHub側: Webhookの設定画面(Payload URL)に貼り付ける際、末尾に
/githubを書き足します。- 修正後:
https://discord.com/api/webhooks/12345/abcde/github
- 修正後:
- Content type: 必ず
application/jsonを選択してください。
これだけで、GitHubからの通知をDiscordが解釈できる形式に自動変換してくれます。
2. 設定手順のチェックリスト
GitHubのリポジトリ設定(Settings)から以下の手順で進めてください。
- Payload URL:
https://discord.com/api/webhooks/〜/github(末尾の/githubを忘れずに!) - Content type:
application/json - Secret: 空欄でOK(セキュリティを強める場合は設定が必要ですが、まずは空で動きます)
- Which events…: 「Just the push event.」を選択すれば、コミット時に通知が飛びます。
3. なぜ /github が必要なのか?
GitHubとDiscordでは、「データの話し言葉(JSONの構造)」が異なります。
- GitHub: 「誰が」「どのリポジトリに」「このメッセージで」コミットしたよ!という巨大なデータを送る。
- Discord: 「ユーザー名」「アイコン」「本文(Content)」という決まった枠組みでデータを受け取りたい。
末尾に /github を付けることで、Discord側が「あ、これはGitHubからのデータだな」と察して、綺麗に整形してチャット欄に表示してくれるようになります。
💡 さらにこだわりたい場合(GitHub Actions)
もし「特定のブランチの時だけ通知したい」「メッセージの内容をもっとカスタマイズしたい」という場合は、Webhookではなく GitHub Actions を使うのが王道です。
yml ファイルに数行書くだけで、もっとリッチな通知(コミットハッシュのリンク付きなど)が送れるようになります。

コメント