domain/shield/apps/cicd/webhooks.py.
Endpoint
POST /api/v1/webhooks/pipeline-metrics/GET /api/v1/webhooks/pipeline-metrics/(health)
Required fields (minimum)
The implementation requires:servicerun_idstatus
Example payload
Send it (signed)
Use the same signature header format as GitHub webhooks:X-Hub-Signature-256: sha256=<hex>
WEBHOOK_BASE_URLGITHUB_WEBHOOK_SECRETpayload(and optionallyX-GitHub-Delivery)
- Set the endpoint to
POST /api/v1/webhooks/pipeline-metrics/ - Set
X-GitHub-Event: pipeline_metrics - Set
X-GitHub-Delivery: <run_id>
Expected results
202or200JSON response indicating acceptance.- Metrics stored/forwarded according to Shield’s configuration.
Common failures
401 Invalid signature: the secret doesn’t matchGITHUB_WEBHOOK_SECRETin Shield.400 Missing required fields: ensureservice,run_id, andstatusare present.