Automatically analyze PRs when they're opened or updated
Webhooks allow Axiomo to automatically analyze pull requests when they're opened, updated, or marked ready for review. Instead of manually pasting PR URLs, configure a webhook once and Axiomo will analyze PRs as they come in.
Call the enable endpoint to generate a webhook secret for your repository.
Configure the webhook in your GitHub repository settings using the provided URL and secret.
When a PR is opened or updated, GitHub sends an event and Axiomo runs analysis automatically.
Use the API to enable webhooks for a repository:
curl -X POST https://axiomo.app/api/repos/github/owner/repo/webhook/enable \
-H "Cookie: axiomo_session=YOUR_SESSION"
{
"status": "enabled",
"webhook_url": "https://axiomo.app/api/webhooks/github",
"webhook_secret": "abc123...",
"content_type": "application/json",
"events": ["pull_request"],
"instructions": "..."
}
After enabling the webhook via API, configure it in GitHub:
Go to your repository on GitHub, then Settings → Webhooks → Add webhook
https://axiomo.app/api/webhooks/github
application/json
Click "Add webhook". GitHub will send a ping event to verify the connection.
Axiomo processes these pull request actions:
| Action | Triggers Analysis |
|---|---|
opened |
Yes - new PR created |
synchronize |
Yes - new commits pushed |
ready_for_review |
Yes - draft PR marked ready |
reopened |
Yes - closed PR reopened |
Draft PRs
Draft PRs are not analyzed until they're marked as ready for review.
Webhook requests are verified using HMAC-SHA256 signatures. GitHub signs each webhook payload with your secret, and Axiomo verifies this signature before processing.
To disable webhooks for a repository:
curl -X DELETE https://axiomo.app/api/repos/github/owner/repo/webhook \
-H "Cookie: axiomo_session=YOUR_SESSION"
Don't forget GitHub
After disabling in Axiomo, also remove the webhook from your GitHub repository settings to stop GitHub from sending events.