jira_transition
Transition a JIRA issue to a new workflow status by name or ID. List available transitions if unsure, and optionally add comment, resolution, or custom fields.
Instructions
Transition a JIRA issue to a new workflow status. Most common usage: pass the transition name in transition, e.g. transition: "In Progress". The numeric id also works, e.g. transition: "31". Names are matched case-insensitively. If unsure which transitions are valid from the issue's current status, call this tool first with list = true (or omit transition) to get the available {id, name} pairs as YAML, then call again with one of those names. For transitions whose screen requires input, pass resolution (e.g. "Fixed") and/or custom_fields (a name→value map). Optionally pass comment (JFM markdown): it rides in the transition when the screen accepts a comment (satisfying a mandatory-comment screen), otherwise it is posted separately after the transition succeeds.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | JIRA issue key (e.g., `PROJ-123`). | |
| list | No | If true, returns the available transitions without applying one. | |
| comment | No | Optional comment (JFM markdown). Delivered in the transition itself when the transition screen accepts a comment (atomic, satisfies a mandatory-comment screen); otherwise posted as a separate comment after the transition succeeds. | |
| resolution | No | Optional resolution to set on the transition, e.g. `"Fixed"`. Sent as `{"name": ...}`; the transition screen must accept a resolution. | |
| transition | No | Transition name (case-insensitive) or numeric id, e.g. `"In Progress"` or `"31"`. Required unless `list` is true. | |
| custom_fields | No | Optional transition-screen fields, as a map of field name (or canonical id) → value. Values are coerced to the API shape the same way `jira_write`'s `fields` are (select/option → option string, arrays a string array, number/date the bare scalar). Names resolve against the transition's screen fields. |