Webhooki GitHub: tworzenie, weryfikacja i ponowne wysyłanie

Webhooki GitHub

Webhooki GitHub: konfiguracja, zdarzenia i weryfikacja podpisu | We.Inc

Utwórz webhook GitHub, wybierz zdarzenia, weryfikuj nagłówek X-Hub-Signature-256 działającym kodem i ponów nieudane dostarczenia. Zawiera sprawdzarkę podpisu działającą w przeglądarce.

Webhook GitHub to wiadomość, którą GitHub wysyła na URL Twojego serwera za każdym razem, gdy coś dzieje się w repozytorium, na przykład push, nowe issue lub wydanie. Dodajesz go w Settings repozytorium, w sekcji Webhooks. Ustaw sekret, aby móc sprawdzać nagłówek X-Hub-Signature-256 i odrzucać fałszywe dostarczenia.

Fakty o webhookach GitHub, które warto znać (docs.github.com, październik 2026)

Webhooki pozwalają GitHubowi informować Twoją stronę lub aplikację o zmianach w chwili, gdy zachodzą, więc możesz przebudować stronę przy każdym pushu, wysłać wiadomość po otwarciu issue lub zaktualizować changelog przy wydaniu. Najważniejsza część, którą pomija większość szybkich poradników, to sprawdzenie, czy dostarczenie naprawdę pochodzi od GitHuba. Poniższa sprawdzarka oblicza ten sam podpis, który wysyła GitHub, bezpośrednio w Twojej przeglądarce.

Najczęściej zadawane pytania

Czy GitHub ponawia nieudane webhooki?

Nie. Dokumentacja GitHub stwierdza, że nieudane dostarczenia nie są automatycznie wysyłane ponownie. Możesz ręcznie wysłać ponownie dostarczenie z ostatnich 3 dni w Recent Deliveries.

Czym jest nagłówek X-Hub-Signature-256?

Jest wysyłany, gdy webhook ma sekret. GitHub bierze treść żądania, oblicza HMAC z SHA-256, używając Twojego sekretu jako klucza, i wysyła wynik w hex z prefiksem sha256=. Twój serwer powtarza obliczenie i porównuje.

Jakie zdarzenia może odbierać webhook?

Wiele, w tym push, pull_request, issues, release i workflow_run. Nagłówek X-GitHub-Event podaje nazwę zdarzenia, które wywołało dane dostarczenie, a ping przychodzi przy pierwszym utworzeniu hooka.

Czy mogę przetestować webhook bez publicznego serwera?

Twój endpoint musi być dostępny z internetu, bo GitHub wysyła na niego żądania. Przy pracy lokalnej uruchom narzędzie tunelujące, które daje Twojemu komputerowi tymczasowy publiczny URL, i użyj go jako Payload URL.

Webhook czy odpytywanie API?

Webhook przesyła Ci każdą zmianę w chwili, gdy zachodzi, a odpytywanie to pytanie API w regularnych odstępach. Webhooki zużywają mniej żądań i docierają szybciej, co ma znaczenie, bo wywołania API wliczają się do limitów.

Co przychodzi z każdym dostarczeniem

Sprawdzanie kodu weryfikacji na wartościach testowych GitHuba

Ta trasa Express odczytuje surową treść, oblicza HMAC z Twoim sekretem i porównuje go w stałym czasie, zanim zaufa payloadowi.

express.raw zachowuje dokładnie te bajty, które podpisał GitHub. Sekret pochodzi ze zmiennej środowiskowej, nigdy z kodu.

Nagłówki dostarczenia

Nagłówki każdego dostarczenia webhooka GitHub

Sprawdzarka podpisu webhooka

Wpisz sekret i surową treść żądania, aby zobaczyć wartość X-Hub-Signature-256, którą wysłałby GitHub. Działa w Twojej przeglądarce z Web Crypto API, nic nie jest przesyłane.

Sekret webhooka

Surowa treść żądania

Otrzymany nagłówek podpisu (opcjonalnie)

sha256=...

Obliczony podpis

Zgodność: podpis tego dostarczenia jest prawidłowy dla tego sekretu i treści.

Brak zgodności: różnią się sekret, bajty treści lub nagłówek.

Wczytaj wartości testowe GitHuba

Z wartościami testowymi GitHuba wynik powinien wynosić:

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony