Parent Epic
#164 — Cancel workflow on unassignment
Description
Add a cancel_on_unassign boolean config option to the Trigger struct (alongside allowed_users). When enabled on a github_issue_assigned or gitlab_issue_assigned trigger, receiving an "unassigned" action from the platform webhook cancels the in-flight workflow.
Tasks
- Add
cancel_on_unassign: Option<bool> (default None → false) to the Trigger struct in src/workflow.rs
- Add
#[serde(default)] annotation so existing configs remain valid
- Update
Trigger::validate() to enforce that cancel_on_unassign is only set on github_issue_assigned or gitlab_issue_assigned trigger types (reject on all others with a clear error)
- Update TOML docs/examples
Exit Criteria
cancel_on_unassign = true accepted on assignment triggers, rejected on others
- Existing workflow TOMLs parse without error
- No dependencies — this is the foundation
Parent Epic
#164 — Cancel workflow on unassignment
Description
Add a
cancel_on_unassignboolean config option to theTriggerstruct (alongsideallowed_users). When enabled on agithub_issue_assignedorgitlab_issue_assignedtrigger, receiving an "unassigned" action from the platform webhook cancels the in-flight workflow.Tasks
cancel_on_unassign: Option<bool>(defaultNone→false) to theTriggerstruct insrc/workflow.rs#[serde(default)]annotation so existing configs remain validTrigger::validate()to enforce thatcancel_on_unassignis only set ongithub_issue_assignedorgitlab_issue_assignedtrigger types (reject on all others with a clear error)Exit Criteria
cancel_on_unassign = trueaccepted on assignment triggers, rejected on others