Aggiungi un webhook GitLab di progetto o di gruppo, scegli i trigger, verifica l'header webhook-signature o X-Gitlab-Token e scopri quando GitLab disattiva un hook che fallisce.
Un webhook GitLab invia una richiesta HTTP POST al tuo URL quando avviene un evento in un progetto o in un gruppo, come un push, una merge request o un nuovo commento. Aggiungilo da Impostazioni, Webhook. Proteggilo con un signing token e rispondi subito con 200, perché GitLab disattiva gli hook che continuano a fallire.
Dati sui webhook GitLab (docs.gitlab.com, ottobre 2026)
I webhook sono il modo in cui GitLab avvisa il tuo sito, lo script di deploy o la chat del team che qualcosa è cambiato, senza che il tuo codice debba chiederlo in continuazione. La configurazione richiede un minuto; le parti che creano problemi in seguito sono dimostrare che una richiesta arriva davvero da GitLab ed evitare che l'hook venga disattivato. Lo strumento qui sotto calcola la firma del signing token nel tuo browser, così puoi testare il tuo ricevitore.
È il vecchio secret token. Quando ne imposti uno, GitLab lo invia in chiaro nell'header X-Gitlab-Token e il tuo server lo confronta. La documentazione di GitLab ora raccomanda invece un signing token per i nuovi webhook.
GitLab disattiva un hook dopo quattro errori consecutivi, cioè risposte 4xx o 5xx, timeout di connessione o altri errori HTTP. Prima resta spento per un minuto, poi più a lungo a ogni errore successivo fino a 24 ore, e in modo permanente dopo 40 di fila.
Leggi l'header X-Gitlab-Event. Il suo valore è il tipo di evento seguito da Hook, per esempio Push Hook, Merge Request Hook, Note Hook per i commenti o Pipeline Hook.
Sì, sui piani Premium e Ultimate. Un webhook di gruppo scatta per gli eventi di ogni progetto del gruppo, e può ricevere anche eventi su membri del gruppo, progetti e sottogruppi.
La documentazione di GitLab dice che è arrivato nella versione 19.0 dietro un feature flag attivo di default ed è diventato disponibile per tutti nella 19.1. Le versioni self-managed più vecchie hanno solo il secret token.
Questo ricevitore controlla la firma del signing token, rifiuta i timestamp scaduti e ripiega sul vecchio secret token durante la migrazione.
I token arrivano dalle variabili d'ambiente. La finestra di validità di cinque minuti è una nostra scelta; scegli quella che fa per te.
Eventi dei webhook GitLab
Inserisci un signing token, il webhook-id, il webhook-timestamp e il corpo grezzo per ottenere il valore webhook-signature che GitLab invierebbe. Tutto gira nel tuo browser.
Signing token (inizia con whsec_)
Corpo grezzo della richiesta
Il token deve iniziare con whsec_ seguito da testo base64.
Il token precompilato è un esempio inventato, non una chiave reale. Con questi valori il risultato è:
Quando GitLab disattiva un hook?
Consegne fallite consecutive: {n}
Attivo: le consegne continuano.
Disattivato temporaneamente: spento per 1 minuto all'inizio, più a lungo dopo ogni errore successivo, fino a 24 ore, poi riattivato automaticamente.
Disattivato in modo permanente: resta spento finché una richiesta di test non riceve una risposta 2xx.
Inizia gratis · Nessuna carta di credito richiesta