Test GitHub Webhooks with HookTest
Test GitHub webhooks for push, pull request, release, and issue events. Use HookTest to create a free webhook URL, point GitHub at it, and inspect every request in real time — headers, body, and signature included.
Quick Start
Get GitHub 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 GitHub webhook settings. Paste the HookTest URL as your webhook endpoint in the GitHub developer dashboard. Select the events you want to receive.
- Trigger an event and inspect. Perform an action in GitHub (or use their test/sandbox mode) and watch the request appear in HookTest in real time. Check headers, body, and query parameters.
Common GitHub Webhook Events
These are the most commonly tested GitHub webhook events. Each one triggers an HTTP POST to your webhook URL with a JSON payload.
| Event | Description |
|---|---|
push | Commits pushed to a branch |
pull_request | PR opened, closed, or merged |
release | A release is published |
issues | Issue opened, closed, or labeled |
workflow_run | GitHub Actions workflow completes |
Verifying GitHub Signatures
GitHub signs every webhook request using the X-Hub-Signature-256 header. You should always verify this signature in production to confirm the request actually came from GitHub 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 GitHub webhook docs for the full signature verification algorithm and code samples.
Why Test GitHub Webhooks?
Webhook handlers are notoriously hard to debug. You cannot see what GitHub 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 GitHub 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 GitHub webhooks
Create a free webhook URL in one click. No signup required.
Create Free Webhook URL