Spinnaker Webhook stage failed in CI
A Webhook stage calls an external endpoint and expects a success status (and optionally a status URL to poll). It fails when the endpoint returns a non-2xx code, or when the poll condition never reaches its success state.
What this error means
A Webhook stage goes TERMINAL with a status code such as 400/500 from the target, or "The webhook request failed", or the status poll never satisfies the success/cancel condition.
Exception ( Webhook )
Received status code 500 from webhook https://deploy-hook.example.com/notify
Webhook stage failed.Common causes
The target endpoint returned a non-success status
The external service the webhook calls returned 4xx/5xx, so Spinnaker marks the stage failed.
The status check condition never resolved
For polled webhooks, the status JSON path or success/cancel value did not match, so the stage times out.
How to fix it
Inspect the webhook response
- Read the stage details for the status code and response body.
- Fix the target endpoint or the request payload/headers.
- For polled webhooks, verify the status JSON path and expected values.
Correct the status polling config
Align the statusUrlResolution, success, and cancel conditions with what the target actually returns so the poll can complete.
# Webhook stage -> Status Check
# Success statuses: SUCCEEDED Canceled statuses: CANCELED
# Status JSON path: $.statusHow to prevent it
- Confirm target endpoints are reachable and return 2xx on success.
- Match the status JSON path to the target response shape.
- Send required auth headers to webhook targets from secrets.