🚀
GitHubデプロイイベントをSlackに通知する
GitHub Triggerでpush/deploymentイベントを検知し、デプロイ環境・コミット情報・ステータスをSlackの開発チャンネルにリッチフォーマットで自動通知するワークフロー。
ユースケース概要
GitHubのDeployment/Deployment Statusイベントを検知し、デプロイ開始・成功・失敗をSlackに分かりやすく通知する。失敗時はエラー担当者へのメンションも自動で行う。
解決する課題: デプロイ状況をSlackで追跡する際の手動確認作業をなくし、チーム全員がリアルタイムで把握できる
使用するn8nノード:
- Webhook Trigger(GitHub Webhookイベント受信)
- Switch(イベント種別・ステータスで分岐)
- Slack(Slackブロックキット形式で通知)
ワークフロー構成
[Webhook Trigger: GitHub deployment_status webhook]
↓
[Switch: deployment_status.state]
├── "pending" → [Slack: 🔄 デプロイ開始通知]
├── "success" → [Slack: ✅ デプロイ成功通知]
├── "failure" → [Slack: ❌ デプロイ失敗通知(担当者メンション)]
└── "error" → [Slack: 🚨 エラー通知]
実装手順
Step 1: GitHub Webhookの設定
GitHub側の設定:
Repository → Settings → Webhooks → Add webhook
Payload URL: https://your-n8n.example.com/webhook/github-deploy
Content Type: application/json
Events: Deployment, Deployment status
Step 2: Switchノードで状態分岐
Mode: Expression
Output 0 (pending): {{ $json.deployment_status?.state === 'pending' }}
Output 1 (success): {{ $json.deployment_status?.state === 'success' }}
Output 2 (failure): {{ $json.deployment_status?.state === 'failure' }}
Output 3 (default): {{ true }}
Step 3: Slackへのリッチ通知(成功時)
Slackのブロックキット形式でリッチなメッセージを送信する。
Resource: Message
Operation: Send
Channel: #deployments
Blocks (JSON):
[
{
"type": "header",
"text": { "type": "plain_text", "text": "✅ デプロイ成功" }
},
{
"type": "section",
"fields": [
{ "type": "mrkdwn", "text": "*リポジトリ:*\n{{ $json.repository.full_name }}" },
{ "type": "mrkdwn", "text": "*環境:*\n{{ $json.deployment.environment }}" },
{ "type": "mrkdwn", "text": "*ブランチ:*\n{{ $json.deployment.ref }}" },
{ "type": "mrkdwn", "text": "*実行者:*\n{{ $json.sender.login }}" }
]
},
{
"type": "actions",
"elements": [
{ "type": "button", "text": { "type": "plain_text", "text": "デプロイを見る" },
"url": "{{ $json.deployment_status.target_url }}" }
]
}
]
Step 4: 失敗時の担当者メンション
Text: ❌ デプロイ失敗 <@U_ONCALL_USER_ID>
確認をお願いします: {{ $json.deployment_status.log_url }}
ポイント・注意事項
- GitHub AppよりPersonal Access TokenのWebhookは組織全体に設定できない。組織Webhookには管理者権限が必要
- Slackのブロックキット形式は
blocksフィールドに配列を渡す。n8nのJSON入力で直接記述できる - デプロイ担当者のGitHub usernameからSlack IDへのマッピングテーブルをGoogleシートで管理するパターンが運用しやすい
関連機能
- 1. 🔄n8n概要 - ワークフロー自動化プラットフォーム
- 2. ⚙️n8nワークフローの基本(ノード・コネクション・実行)
- 3. ⚡n8nトリガーの種類(Webhook・スケジュール・イベント)
- 4. 🔀n8nロジック制御(フィルター・条件分岐・ループ・マージ)
- 5. 🌐n8n HTTP Request・API連携
- 6. 🔗n8n主要インテグレーション(Slack・Gmail・GitHub)
- 7. 🛡️n8nエラーハンドリング・デバッグ
- 8. 🤖n8n AI・LLMエージェント(Chain・Agent)
- 9. 💻n8n Codeノード・カスタム処理
- 10. 🏢n8nエンタープライズ機能(ソース管理・シークレット・チーム管理)
- 11. 🌤️毎朝SlackにAIで天気・ニュースを通知する
- 12. 📊GitHubのPRをGoogleシートに自動記録する
- 13. 📧新規ユーザー登録時にWelcomeメールを自動送信する
- 14. 💳StripeのWebhookで決済完了を検知して処理する
- 15. 📈スケジュールトリガーで週次レポートを自動生成する
- 16. 🎫Gmailトリガーでサポートメールを自動Notionチケット化する
- 17. 🎯条件分岐でリード属性に応じて担当者を振り分ける
- 18. 📨ループ処理でリストを走査し一括メール送信する
- 19. 📋複数APIのデータをマージして統合レポートを作成する
- 20. 🗄️外部REST APIからデータを取得してDBに保存する
- 21. 🔍GraphQL APIでGitHubのIssueを取得・加工する
- 22. 🔐Bearer認証付きAPIを呼び出してデータ同期する
- 23. ✅SlackとNotionを連携したチームタスク管理フロー
- 24. 🤝GmailとHubSpotを連携したCRM自動化フロー
- 25. 🚀GitHubデプロイイベントをSlackに通知する
- 26. 🚨APIエラー発生時にSlackへアラートを送る
- 27. 🔁リトライ付きの堅牢なデータ同期フローを構築する
- 28. 📝エラーログをAirtableに自動記録する
- 29. 🤖LLMを使ったカスタマーサポート自動応答ボット
- 30. 🔎ドキュメントRAG検索システムを構築する
- 31. 📬AIでメール内容を自動分類・ルーティングする
- 32. 🔧JavaScriptで複雑なデータ変換処理を実装する
- 33. 📄npmライブラリを使ったPDF自動生成フロー
- 34. ✔️カスタムバリデーションロジックをCodeノードで実装する
- 35. 🗂️Gitでワークフローをバージョン管理する
- 36. 🌍環境変数で本番・ステージングを切り替える
- 37. 👥チームでのワークフロー共同管理フロー
- 38. 📋AIで履歴書を自動スクリーニング・スコアリングする
- 39. 🧾請求書PDFをOCRで自動データ入力・会計ソフト登録する
- 40. 📱ブログ記事→SNS自動投稿パイプラインを構築する
- 41. 📦Shopify注文処理を完全自動化する(在庫・配送・顧客通知)
- 42. 🔔予約リマインダーを自動送信してノーショーを削減する
- 43. 📊経営ダッシュボードを毎朝Slackに自動配信する
- 44. 🔭競合情報を自動収集してWeeklyレポートにまとめる
- 45. 🎉新入社員オンボーディングを完全自動化する
出典: https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.githubtrigger/