Spis treści
Powiadomienia o błędach CI wysyłane e-mailem i na Slacku łatwo przeoczyć. Echobell Notification Action wysyła alerty webhook prosto na Twój telefon — powiadomienia push przy zwykłych buildach, połączenia telefoniczne przy awariach produkcji — więc zepsuty pipeline nie przejdzie niezauważony.
Konfiguracja
1. Utwórz kanał w Echobell
- Pobierz Echobell / Google Play i zaloguj się
- Utwórz kanał o nazwie w rodzaju „GitHub CI/CD Alerts"
- Skopiuj adres URL webhooka z ustawień kanału
- W swoim repozytorium GitHub: Settings → Secrets and variables → Actions → New repository secret
- Nazwij go
ECHOBELL_WEBHOOK_URLi wklej adres URL
2. Dodaj akcję do swojego workflow
Podstawowa konfiguracja (workflow z jednym zadaniem):
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 }}
Pipeline z wieloma zadaniami — użyj osobnego zadania powiadamiającego, zależnego od wszystkich krytycznych zadań:
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 }}
Osobne zadanie powiadamiające daje jeden zbiorczy alert przy kaskadzie błędów, zamiast wielu oddzielnych powiadomień.
Wskazówki
Tytuły powiadomień powinny odpowiadać na pytania: co zawiodło, gdzie i kiedy. Sprawdzają się wzorce w rodzaju ❌ Main Branch CI Failed albo 🚨 Deploy Pipeline Down - Production.
Używaj osobnych kanałów dla różnych poziomów wagi. Zostaw standardowy kanał na zwykłe alerty CI, a drugi, ustawiony na Calling, przeznacz na awarie produkcji. Kieruj różne workflow na różne adresy URL webhooków. Szczegóły znajdziesz w tekście o powiadomieniach telefonicznych.
Udostępniaj kanały zespołowi. Utwórz kanał na błędy CI/CD, które powinien widzieć cały zespół, i osobny na sprawy wyłącznie infrastrukturalne. Dzięki współdzielonym kanałom Echobell osoby z zespołu subskrybują je z własnymi preferencjami powiadomień — nikt nie musi konfigurować webhooków osobno.
Powiązane
- Dokumentacja webhooków — pełna dokumentacja API webhooków
- Szablony i warunki — dostosowywanie treści powiadomień i filtrowanie
- Powiadomienia telefoniczne z Grafany — alerty telefoniczne dla systemów monitoringu
- Powiadomienia WebhookMCP — alerty o zakończeniu zadań AI
- Dokumentacja funkcji: kanały, webhooki, wyzwalacze e-mail, powiadomienia telefoniczne