Skip to content

#164.1 — Config: add cancel_on_unassign to Trigger struct #177

Description

@zeroklaw

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 Nonefalse) 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions