GithubのコミットをDiscordに投稿

単にDiscordのWebhook URLを貼り付けるだけではエラー(もしくは無反応)になります。

しかし、URLの末尾に少しだけ付け加えるだけで、誰でも簡単に連携させることができます!

1. 最も簡単な方法:URLに /github を付ける

DiscordのWebhookは、GitHub専用の互換モードを持っています。

  1. Discord側: Webhook URLをコピーします。
    • 例: https://discord.com/api/webhooks/12345/abcde
  2. GitHub側: Webhookの設定画面(Payload URL)に貼り付ける際、末尾に /github を書き足します。
    • 修正後: https://discord.com/api/webhooks/12345/abcde/github
  3. 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 ファイルに数行書くだけで、もっとリッチな通知(コミットハッシュのリンク付きなど)が送れるようになります。

コメント

タイトルとURLをコピーしました