Step state now includes canceled for canceled steps
Steps that were canceled (either directly or as part of a canceled build) now return state: "canceled" in the REST API and webhooks, instead of state: "finished" with outcome: "errored".
Previously, canceled steps were grouped with timed-out and expired steps under the same errored outcome. This made it difficult to distinguish between steps that were manually canceled versus those that failed due to timeouts or system errors.
With this change:
- Canceled steps:
state: "canceled",outcome: "neutral" - Timed-out/expired steps:
state: "finished",outcome: "errored"
If you have integrations that parse step state from webhooks or the REST API, update your logic to handle the new canceled state:
- if step.state == "finished" && step.outcome == "errored"
- # Could be canceled, timed out, or expired
+ if step.state == "canceled"
+ # Step was canceled
+ elsif step.state == "finished" && step.outcome == "errored"
+ # Step timed out or expiredThis affects step.finished webhook events and REST API endpoints that return step data.
Sarah
Start turning complexity into an advantage
Create an account to get started for free.