Integracja z GitHub

Zamień nieudane Actions i alerty bezpieczeństwa w telefon i eskalację

Dodaj podpisany webhook repozytorium lub organizacji. Nieudane uruchomienie Actions wzywa dyżurnego, a kolejne udane je zamyka. Alerty skanowania kodu, Dependabota i wykrycia sekretów eskalują przez głos, Telegram, SMS i e-mail.

Konfiguracja
Podpisany webhook
Uwierzytelnianie
X-Hub-Signature-256
Powrót do normy
Zielony zamyka czerwony

Budowa alertu GitHub

LIVE
GitHub → webhook
CI nieudane na main · uruchomienie #42
WardenPoint
mapuj wynik · eskaluj · zielony zamyka
Telegram
Voice call
Email

Konfiguracja

Trzy kroki w GitHub

GitHub podpisuje treść webhooka Twoim sekretem — żadnego tokenu w adresie ani nagłówka do ustawienia.

  1. 1Krok 1

    Dodaj webhook

    W repozytorium (lub organizacji) przejdź do Settings → Webhooks → Add webhook. Ustaw Payload URL na Twój punkt końcowy WardenPoint, a Content type na application/json.

    $ Settings › Webhooks › Add webhook
  2. 2Krok 2

    Wklej sekret

    Wpisz swój sekret integracji WardenPoint w polu Secret. GitHub podpisuje nim każdą dostawę, a WardenPoint weryfikuje nagłówek X-Hub-Signature-256 — dostawa niepodpisana lub z błędnym sekretem zostaje odrzucona.

    $ Secret › <Twój sekret WardenPoint>
  3. 3Krok 3

    Wybierz zdarzenia

    Zaznacz pojedyncze zdarzenia: Workflow runs dla CI oraz Code scanning alerts, Dependabot alerts i Secret scanning alerts dla bezpieczeństwa. GitHub wysyła najpierw ping — WardenPoint potwierdza go automatycznie.

    $ Let me select individual events

Format danych

Webhook workflow_run

GitHub wysyła zdarzenie z typem w nagłówku X-GitHub-Event. WardenPoint mapuje wynik uruchomienia na stan aktywny lub rozwiązany i deduplikuje po repozytorium + procesie + gałęzi.

GitHub → WardenPoint
workflow-run.jsonJSON
// workflow_run webhook (X-GitHub-Event: workflow_run)
{
"action": "completed",
"workflow_run": {
"name": "CI",
"head_branch": "main",
"conclusion": "failure",
"run_number": 42,
"event": "push",
"html_url": "https://github.com/acme/api/actions/runs/123"
},
"repository": { "full_name": "acme/api" }
}
Rozsyłanie WardenPoint
WardenPoint response202
{
"status": "queued",
"notification_uuid": "notif_8h2k7yQrxJp",
"channels_planned": [
"telegram_voice",
"voice_call",
"email"
],
"escalation_chain_id": "esc_4j2k9bMcvL"
}

Przepisy na trasowanie

Trzy wzorce dla GitHub → WardenPoint

Prowadź awarie CI i alerty bezpieczeństwa przez osobne integracje WardenPoint, każdą podpiętą do własnego łańcucha eskalacji.

CI

Nieudane uruchomienie na main → telefon

Uruchomienie workflow_run, które kończy się wynikiem failure na gałęzi wydania, mapuje się na 'high' — najpierw połączenie telefoniczne, potem Telegram. Kolejne udane uruchomienie tego samego procesu i gałęzi zamyka je automatycznie.

match
conclusion = failure
→ route
ważność: high
Bezpieczeństwo

Krytyczny alert skanowania kodu → eskalacja

Alert skanowania kodu niesie własną ważność (security_severity_level). Znalezisko krytyczne wzywa natychmiast; alerty Dependabota i wykrycia sekretów trasują się tak samo.

match
security_severity_level = critical
→ route
→ łańcuch bezpieczeństwa
Powrót do normy

Zielone uruchomienie wysyła informację o rozwiązaniu

Ponieważ alerty CI deduplikują się po repozytorium + procesie + gałęzi, udane uruchomienie oznacza wcześniejszą awarię jako rozwiązaną, wysyła do łańcucha informację o rozwiązaniu i anuluje trwającą eskalację — bez ręcznego zamykania.

match
conclusion = success
→ route
→ informacja o rozwiązaniu

FAQ GitHub

Częste pytania o integrację z GitHub

GitHub nie wysyła własnych nagłówków, ale podpisuje treść każdego webhooka Twoim sekretem i przesyła ją jako X-Hub-Signature-256. Wpisz swój sekret integracji WardenPoint w polu Secret webhooka; WardenPoint ponownie wylicza HMAC z surowej treści i odrzuca każdą dostawę, której podpis się nie zgadza. Sekret nigdy nie trafia do adresu.
Plan darmowy

Podłącz jedno repozytorium, zanim na nim polegniesz

Dodaj webhook, zepsuj testowy proces i przeczytaj wpis w dzienniku audytu. Bez karty. Bez ryzyka dla produkcji.

  • Podpisany webhook, bez sekretu w adresie
  • Zielone uruchomienie zamyka czerwone
  • Alerty CI i bezpieczeństwa