transition_issue
Move a Jira issue to a new status by specifying the issue key and transition ID. Optionally add a comment or update fields during the transition.
Instructions
Move a Jira issue to a different status/state
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | The issue key to transition | |
| transitionId | Yes | The ID of the transition to perform (will be converted to string automatically) | |
| comment | No | Optional comment to add during transition | |
| fields | No | Additional fields to update during transition |
Implementation Reference
- src/tools/transitions.ts:86-96 (handler)The handler case within handleTransitionTool that validates args against transitionIssueSchema and calls jiraClient.transitionIssue(). Returns a success message.
case 'transition_issue': { const validatedArgs = await transitionIssueSchema.validate(args); const _result = await jiraClient.transitionIssue(validatedArgs); return { content: [ { type: 'text', text: `Issue ${validatedArgs.issueKey} transitioned successfully`, }, ], }; - src/schemas/index.ts:90-100 (schema)The Yup validation schema for transition_issue, requiring issueKey and transitionId (converted to string), with optional comment and fields.
export const transitionIssueSchema = yup.object({ issueKey: yup.string().required('Issue key is required'), transitionId: yup.mixed() .required('Transition ID is required') .transform(function (value) { // Convert to string if it's a number return String(value); }), comment: yup.string().optional(), fields: yup.object().optional(), }); - src/tools/transitions.ts:25-51 (registration)Tool definition registration inside createTransitionTools, declaring name 'transition_issue', description, inputSchema with properties and required fields.
{ name: 'transition_issue', description: 'Move a Jira issue to a different status/state', inputSchema: { type: 'object', properties: { issueKey: { type: 'string', description: 'The issue key to transition', }, transitionId: { type: 'number', description: 'The ID of the transition to perform (will be converted to string automatically)', }, comment: { type: 'string', description: 'Optional comment to add during transition', }, fields: { type: 'object', description: 'Additional fields to update during transition', }, }, required: ['issueKey', 'transitionId'], }, }, ];