Webhooki GitLab: konfiguracja, weryfikacja i błędy

Webhooki GitLab

Webhooki GitLab: konfiguracja, signing token i automatyczne wyłączanie | We.Inc

Dodaj webhook projektu lub grupy w GitLab, wybierz zdarzenia, weryfikuj nagłówek webhook-signature lub X-Gitlab-Token i sprawdź, kiedy GitLab wyłącza hook.

Webhook GitLab wysyła żądanie HTTP POST na Twój URL, gdy w projekcie lub grupie zajdzie zdarzenie, na przykład push, merge request lub nowy komentarz. Dodasz go w Settings, Webhooks. Zabezpiecz go signing tokenem i odpowiadaj szybko kodem 200, bo GitLab wyłącza hooki, które ciągle zawodzą.

Fakty o webhookach GitLab (docs.gitlab.com, październik 2026)

Webhooki to sposób, w jaki GitLab informuje Twoją stronę, skrypt wdrożeniowy lub czat zespołu, że coś się zmieniło, bez ciągłego odpytywania przez Twój kod. Konfiguracja zajmuje minutę. Problemy pojawiają się później: trzeba udowodnić, że żądanie przyszło z GitLab, i nie dopuścić do wyłączenia hooka. Poniższa sprawdzarka tworzy w Twojej przeglądarce podpis signing tokena, abyś mógł przetestować swój odbiornik.

Najczęściej zadawane pytania

Czym jest X-Gitlab-Token?

To starszy tajny token. Gdy go ustawisz, GitLab wysyła go jawnym tekstem w nagłówku X-Gitlab-Token, a Twój serwer go porównuje. Dokumentacja GitLab zaleca teraz dla nowych webhooków signing token.

Dlaczego mój webhook GitLab został wyłączony?

GitLab wyłącza hook po czterech kolejnych niepowodzeniach, czyli odpowiedziach 4xx lub 5xx, przekroczeniach limitu czasu połączenia lub innych błędach HTTP. Najpierw jest wyłączony na minutę, przy każdym kolejnym niepowodzeniu dłużej, do 24 godzin, a trwale po 40 z rzędu.

Jak rozpoznać, które zdarzenie nadeszło?

Odczytaj nagłówek X-Gitlab-Event. Jego wartość to typ zdarzenia ze słowem Hook na końcu, na przykład Push Hook, Merge Request Hook, Note Hook dla komentarzy lub Pipeline Hook.

Czy mogę dodać webhook do całej grupy?

Tak, w planach Premium i Ultimate. Webhook grupy uruchamia się przy zdarzeniach w każdym projekcie grupy i może też odbierać zdarzenia członków grupy, projektów i podgrup.

Czy signing token działa w GitLab self-managed?

Dokumentacja GitLab mówi, że pojawił się w wersji 19.0 za flagą funkcji domyślnie włączoną i stał się ogólnie dostępny w 19.1. Starsze wersje self-managed mają tylko tajny token.

Jak działa signing token

Przejście z tajnego tokena bez przestoju

Ten odbiornik sprawdza podpis signing tokena, odrzuca nieaktualne znaczniki czasu i na czas migracji korzysta zapasowo ze starego tajnego tokena.

Tokeny pochodzą ze zmiennych środowiskowych. Pięciominutowe okno ważności to nasz własny wybór, ustaw to, co Ci odpowiada.

Częste zdarzenia i ich wartości X-Gitlab-Event

Zdarzenia webhooków GitLab

Kreator podpisu signing tokena

Wpisz signing token, webhook-id, webhook-timestamp i surową treść żądania, aby uzyskać wartość webhook-signature, którą wysłałby GitLab. Wszystko działa w Twojej przeglądarce.

Signing token (zaczyna się od whsec_)

Surowa treść żądania

Token musi zaczynać się od whsec_, a po nim tekst w base64.

Wstępnie wpisany token to zmyślony przykład, a nie prawdziwy klucz. Z tymi wartościami wynik to:

Kiedy GitLab wyłącza hook?

Kolejne nieudane dostarczenia: {n}

Aktywny: dostarczenia trwają.

Tymczasowo wyłączony: najpierw na 1 minutę, po każdym kolejnym niepowodzeniu dłużej, do 24 godzin, potem automatycznie włączany ponownie.

Trwale wyłączony: pozostaje wyłączony, dopóki żądanie testowe nie dostanie odpowiedzi 2xx.

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony