GitHub Actionsの失敗を見逃さない:Echobellで即時アラートを受け取る

EchobellでGitHub Actionsの失敗をWebhookで即時通知する設定方法。プッシュ通知や電話でCI/CDパイプラインを常に把握できます。

GitHub Actionsの失敗を見逃さない:Echobellで即時アラートを受け取る

CIの失敗をメールやSlackで通知されても、見落としがちです。Echobell Notification ActionはWebhookアラートを直接スマートフォンに送ります。通常ビルドにはプッシュ通知、本番環境の失敗には電話着信という使い分けで、壊れたパイプラインを見逃しません。

セットアップ

1. Echobellチャンネルの作成

  1. Echobellをダウンロードしてサインイン
  2. 「GitHub CI/CD Alerts」のような名前のチャンネルを作成
  3. チャンネル設定からWebhook URLをコピー
  4. GitHubリポジトリで: Settings → Secrets and variables → Actions → New repository secret
  5. 名前を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を個別に設定する必要はありません。

関連リンク