GitHub Webhook Debugging Guide
GitHub can notify your systems about pushes, PRs, issues, and more. HookNexus is a convenient payload URL for development and debugging: you see headers, JSON body, and delivery history without deploying a public server first.
Prerequisites
- Admin access to the repository (or organization) where you add the webhook
- A HookNexus endpoint URL:
https://api.hooknexus.com/h/{endpoint-id}
Repository webhook setup
-
Open webhook settings
On GitHub, open your repository → Settings → Webhooks → Add webhook.
-
Set the payload URL
https://api.hooknexus.com/h/YOUR_ENDPOINT_ID -
Set content type
Select Content type:
application/json(recommended for modern integrations). -
Choose a secret
Enter a Secret string. GitHub uses it to compute
X-Hub-Signature-256. Save the same value in your password manager—you need it to verify deliveries in your own application (see GitHub’s webhook documentation). -
Select events
Choose Let me select individual events (or start with Just the push event for a minimal test).
-
Create the webhook
Click Add webhook. GitHub sends a
pingevent immediately if configured to do so—check HookNexus for the delivery.
Signed deliveries
GitHub sends:
- Header:
X-Hub-Signature-256 - Format:
sha256=<hex digest> - Algorithm: HMAC-SHA256 over the raw request body using your webhook secret
Validate deliveries in your server using the secret and GitHub’s documented procedure. HookNexus shows the raw body and headers so you can compare what you received with what your verifier expects.
Common events
| Event | Typical use |
|---|---|
push | CI, deployments, changelog automation |
pull_request | Review bots, merge queues |
issues | Issue trackers, notifications |
release | Release notes, artifact publishing |
Start with one event type, confirm deliveries in HookNexus, then expand.
Organization webhooks vs repository webhooks
| Repository webhook | Organization webhook | |
|---|---|---|
| Scope | Single repo | All repos in the org (per your selection) |
| Where to add | Repo Settings → Webhooks | Org Settings → Webhooks |
| Use case | Project-specific automation | Org-wide policies, security scanning |
Both use the same payload URL pattern and the same signing header format.
Troubleshooting
| Symptom | What to check |
|---|---|
| Red delivery in GitHub | Open the delivery; confirm URL reaches HookNexus (no corporate proxy blocking). |
No X-Hub-Signature-256 | Webhook must use a secret; recreate if missing. |
| Signature invalid | Compare secret character-for-character; verify raw body (no pretty-print changes). |
| Wrong repository | For org webhooks, confirm repo filters and event selections. |