🔁 2026年リライト版 この記事は2020年4月に公開した「GitHubのイベントをDiscordのチャンネルに通知する」を、Discord UI刷新(2023〜2024)、GitHub Actions 経由の通知、スレッド自動生成 を踏まえて全面書き換えしたものです。
2020年からの主な変化点
- Discord の UI が刷新: 「サーバー設定 → 連携サービス → ウェブフック」という現行パス
/github(/api/v1/github)エンドポイント は以前と同じく GitHub Webhook URL の末尾に追加する方式で動く- GitHub Actions が普及: 柔軟な通知ペイロードなら Webhook 直結より Actions ワークフローから送る方が自由度が高い
- Discord Forum Channel / スレッド: PR・Issue ごとにスレッドを自動作成する設計がチーム運用で一般的
- Slack 連携と同じ感覚で使える: Discord の GitHub 連携は2020年当時より安定化
方法A: GitHub Webhook を直接 Discord に送る(最速)
1. Discord 側でウェブフックを作成
- 通知したいチャンネルの 歯車アイコン → 連携サービス → ウェブフック → 新しいウェブフック
- 名前・アイコン・チャンネルを指定して ウェブフックURLをコピー
2. URL 末尾に /github を付与
Discord のウェブフック URL は以下の形式です。
https://discord.com/api/webhooks/<id>/<token>
これに /github を末尾に追加します。
https://discord.com/api/webhooks/<id>/<token>/github
この “/github サフィックス” を付けることで、Discord が GitHub 標準の Webhook ペイロードを解釈して整形表示してくれます。
3. GitHub リポジトリ側で Webhook 設定
- Settings → Webhooks → Add webhook
- Payload URL: 上記の
/github付きURL - Content type:
application/json - Which events would you like to trigger this webhook?: お好みで(例:
Pushes,Pull requests,Issues,Issue comments,Releases) - Active をオンにして「Add webhook」
以降、push や PR のイベントが Discord チャンネルに投稿されます。
方法B: GitHub Actions から Discord に送る(柔軟)
通知文面をカスタマイズしたい、あるいは特定のジョブ結果だけ通知したい場合、GitHub Actions から送る方が柔軟です。
.github/workflows/notify.yml:
name: Notify Discord
on:
pull_request:
types: [opened, closed]
release:
types: [published]
jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Send to Discord
uses: sarisia/actions-status-discord@v1
with:
webhook: ${{ secrets.DISCORD_WEBHOOK }}
title: "${{ github.event_name }} on ${{ github.repository }}"
description: "${{ github.event.head_commit.message || github.event.pull_request.title }}"
color: 0x5865F2
DISCORD_WEBHOOK はリポジトリの Secrets に登録(このときは /github サフィックスは 不要、プレーンな Webhook URL を入れます)。
方法C: スレッド自動生成(PRごとの議論を分離)
チーム運用では、PRごとに専用スレッドを作って議論を集約 するのが便利です。Discord のフォーラムチャンネルか、通常チャンネル + 自動スレッド作成ワークフローで実現できます。
- name: Create thread for PR
uses: rjstone/discord-webhook-notify@v1
with:
severity: info
description: "PR #${{ github.event.pull_request.number }} opened"
details: "${{ github.event.pull_request.html_url }}"
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
threadName: "PR-${{ github.event.pull_request.number }}"
まとめ
- 最速:
/githubサフィックス付きの Discord Webhook を GitHub Webhook に登録 - 柔軟: GitHub Actions から
sarisia/actions-status-discordなどでカスタム通知 - チーム運用: スレッドやフォーラムチャンネルと組み合わせて PR ごとに議論を整理
2020年当時の /github サフィックス方式は今でも最速・最小構成なので、迷ったらまずこれで十分です。