update_issue
Patch an Issue. Any subset of: title, description, type, severity, status, ownerId, targetResolutionAt, resolution. Status changes are state-machine guarded, and naming one forbidden jump understated it, so here is the whole map: OPEN -> INVESTIGATING | DEFERRED | WONT_FIX; INVESTIGATING -> BLOCKED | RESOLVED | WONT_FIX | DEFERRED; BLOCKED -> INVESTIGATING | WONT_FIX | DEFERRED; RESOLVED -> CLOSED | INVESTIGATING; DEFERRED -> OPEN | INVESTIGATING; CLOSED and WONT_FIX are terminal. Note RESOLVED is not reachable from OPEN. PROMOTED is not settable here at all. Pass expectedUpdateRevision (from get_issue) for optimistic concurrency - a mismatch returns a conflict so concurrent agents do not clobber each other. To resolve/defer/wont-fix with a resolution note, PREFER resolve_issue.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"issueId": "<issueId>"
},
"name": "update_issue"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| title | No | ||
| status | No | ||
| issueId | Yes | ||
| ownerId | No | User id, or empty string to unassign. | |
| severity | No | ||
| resolution | No | ||
| description | No | ||
| targetResolutionAt | No | ISO datetime, or empty to clear. | |
| expectedUpdateRevision | No |