Issue Workflows
Issue Workflows are the state-machine specs that drive the Issues screen. An issue is bound to exactly one workflow at create time; the workflow's states + transitions decide what the issue can do next.
Find the admin at Admin → Issue Workflows. Route:
/admin/issue-workflows. API: /issue-workflows.
What a workflow contains
A workflow has:
- A
nameanddescription - A list of states: each with an
id,label, optionalterminalflag, and optionalcolorfor the Issues screen's state chip - A list of transitions: each with a
fromstate,tostate, an optionallabel, and an optionalrequiresCommentflag
Example:
{
"name": "Default issue flow",
"states": [
{ "id": "open", "label": "Open" },
{ "id": "ack", "label": "Acknowledged" },
{ "id": "wip", "label": "In progress" },
{ "id": "blocked", "label": "Blocked" },
{ "id": "resolved", "label": "Resolved", "terminal": true }
],
"transitions": [
{ "from": "open", "to": "ack" },
{ "from": "ack", "to": "wip" },
{ "from": "wip", "to": "blocked" },
{ "from": "blocked", "to": "wip" },
{ "from": "wip", "to": "resolved", "requiresComment": true }
]
}
The admin
Master/detail:
- Left — workflow list
- Right — split into a states panel (top) and a transitions
panel (bottom). Add / remove / rename states; pick from / to
state on each transition; toggle the
requiresComment/terminalflags
A diagram pane on the right is queued — today the editor is list-based.
How a workflow is consumed
The Issues screen at /events/:eventId/issues reads the workflow
attached to each issue. When the user clicks the state chip, the
screen offers only the legal transitions (those whose from is
the current state). If the chosen transition has
requiresComment: true, a dialog prompts for a reason before the
PATCH is sent.
The two convenience endpoints (/issues/:id/acknowledge and
/issues/:id/resolve) do the right thing if the active workflow
has matching states.
What you can do today
- Author multiple workflows per account
- Bind any issue to a workflow at create time
- Use the seeded Default issue flow as a template
What's coming
- Diagram pane — visual graph editor instead of the list editor
- State entry / exit hooks — fire a webhook when an issue enters a state
- Workflow templating — clone an existing workflow as a starting point
- Per-team default workflow — auto-attach without explicit selection