Test GitLab Webhooks with HookTest
Test GitLab webhooks for push, merge request, pipeline, and issue events. Use HookTest to create a free webhook URL, point GitLab at it, and inspect every request in real time — headers, body, and signature included.
Quick Start
Get GitLab webhooks flowing to HookTest in under a minute:
- Create a HookTest URL. Go to hooktest.dev and click Create Bin. Copy the webhook URL.
- Add it to GitLab webhook settings. Paste the HookTest URL as your webhook endpoint in the GitLab developer dashboard. Select the events you want to receive.
- Trigger an event and inspect. Perform an action in GitLab (or use their test/sandbox mode) and watch the request appear in HookTest in real time. Check headers, body, and query parameters.
Common GitLab Webhook Events
These are the most commonly tested GitLab webhook events. Each one triggers an HTTP POST to your webhook URL with a JSON payload.
| Event | Description |
|---|---|
Push Hook | Commits pushed to a branch |
Merge Request Hook | MR opened, merged, or closed |
Pipeline Hook | CI/CD pipeline completes |
Issue Hook | Issue opened, closed, or updated |
Verifying GitLab Signatures
GitLab signs every webhook request using the X-Gitlab-Token header. You should always verify this signature in production to confirm the request actually came from GitLab and was not tampered with in transit.
When testing with HookTest, you can inspect the raw signature header value in the request details. This is useful for verifying that your signature verification code handles the header format correctly before deploying to production.
See the official GitLab webhook docs for the full signature verification algorithm and code samples.
Why Test GitLab Webhooks?
Webhook handlers are notoriously hard to debug. You cannot see what GitLab is sending until your endpoint receives it, and errors in your handler can cause silent failures — missed payments, lost data, or broken integrations.
HookTest gives you full visibility into every request before you write a line of handler code. Create a bin, point GitLab at it, and see exactly what arrives: HTTP method, headers (including signatures), body, and query parameters. Once your handler is ready, use webhook forwarding to send requests to your local server in real time.
Start testing GitLab webhooks
Create a free webhook URL in one click. No signup required.
Create Free Webhook URL