Webhooks
Overview
Webhooks are how GitVelocity receives real-time events from your version control provider. When a pull request is opened, updated, or merged, GitHub (or Bitbucket/GitLab) sends an event to GitVelocity, which triggers scoring based on your score settings.
How Webhooks Work
During repository setup, GitVelocity registers a webhook with your VCS provider. From that point on, the provider sends event payloads to GitVelocity automatically whenever relevant PR activity occurs. No manual intervention is needed for normal operation.
Webhook Status
The Webhooks page shows the health of webhook connections for each connected repository. For each repository you can see:
- Connection status -- whether the webhook is active and receiving events
- Last event received -- timestamp of the most recent event from this repository
- Delivery failures -- any events that failed to deliver, with error details
A healthy webhook shows recent activity and no delivery failures. If a repository hasn't sent events in a while, that may indicate a problem.
Troubleshooting
If PRs aren't being scored, check the following:
No Events Received
- Verify the webhook is still registered in your VCS provider's settings (GitHub: repository Settings > Webhooks)
- Check that the repository is still connected in GitVelocity
- Confirm that the VCS provider isn't experiencing an outage
Events Received but Not Scored
- Check if scoring is paused for the repository
- Verify the PR isn't being caught by an exclusion filter
- Confirm the PR targets the default branch (PRs merged to non-default branches are not scored by default)
Delivery Failures
- Temporary failures usually resolve on their own -- VCS providers retry failed deliveries
- Persistent failures may indicate a permissions change on the repository
- If the webhook secret has been rotated or the webhook was deleted and recreated, you may need to reconnect the repository in GitVelocity