GitHub Actionsの失敗を見逃さない:Echobellで即時アラートを受け取る
CIの失敗をメールやSlackで通知されても、見落としがちです。Echobell Notification ActionはWebhookアラートを直接スマートフォンに送ります。通常ビルドにはプッシュ通知、本番環境の失敗には電話着信という使い分けで、壊れたパイプラインを見逃しません。
セットアップ
1. Echobellチャンネルの作成
- Echobellをダウンロードしてサインイン
- 「GitHub CI/CD Alerts」のような名前のチャンネルを作成
- チャンネル設定からWebhook URLをコピー
- GitHubリポジトリで: Settings → Secrets and variables → Actions → New repository secret
- 名前を
ECHOBELL_WEBHOOK_URLとして、URLを貼り付け
2. ワークフローへの追加
基本設定(シングルジョブのワークフロー):
name: Build and Test
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: npm run build
- name: Test
run: npm test
- name: Notify on Failure
if: failure()
uses: weelone/echobell-action@v1
with:
webhook-url: ${{ secrets.ECHOBELL_WEBHOOK_URL }}マルチジョブパイプライン — 重要なジョブすべてに依存する専用の通知ジョブを使用:
name: Deploy Pipeline
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Tests
run: npm test
build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: npm run build
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- name: Deploy
run: npm run deploy
notify_on_failure:
runs-on: ubuntu-latest
needs: [test, build, deploy]
if: failure()
steps:
- name: Send Failure Notification
uses: weelone/echobell-action@v1
with:
webhook-url: ${{ secrets.ECHOBELL_WEBHOOK_URL }}専用の通知ジョブを使うことで、連鎖的な失敗が発生しても複数の通知ではなく1つにまとまります。
ヒント
通知タイトルには「何が、どこで、いつ失敗したか」を含めましょう。❌ Main Branch CI Failedや🚨 Deploy Pipeline Down - Productionのようなパターンを使用します。
重大度別にチャンネルを分ける。 通常のCIアラート用の標準チャンネルと、本番環境の失敗用に**着信(Calling)**に設定した第2チャンネルを用意します。ワークフローごとに異なるWebhook URLを使い分けてください。詳細は着信通知を参照。
チームとチャンネルを共有する。 チーム全体で見るべきCI/CDの失敗用チャンネルと、インフラ担当者のみのチャンネルを分けて作成します。Echobellの共有チャンネルでは、チームメンバーが各自の通知設定で購読できるため、全員がWebhookを個別に設定する必要はありません。
関連リンク
- Webhookドキュメント — WebhookのAPI全リファレンス
- テンプレートと条件 — 通知内容のカスタマイズとフィルタリング
- Grafana着信通知 — 監視システムへの電話着信アラート
- WebhookMCP通知 — AIタスク完了アラート
- 機能ドキュメント: チャンネル、Webhook、メールトリガー、着信通知