update_issue
Modify existing JIRA issues by updating fields like status, priority, or assignee to track progress and manage project tasks.
Instructions
Update an existing JIRA issue
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | The key of the issue to update | |
| fields | Yes | Fields to update on the issue |
Implementation Reference
- src/index.ts:164-183 (registration)Tool registration in ListTools response, including name, description, and input schema definition{ name: "update_issue", description: "Update an existing JIRA issue", inputSchema: { type: "object", properties: { issueKey: { type: "string", description: "The key of the issue to update", }, fields: { type: "object", description: "Fields to update on the issue", additionalProperties: true, }, }, required: ["issueKey", "fields"], additionalProperties: false, }, },
- src/index.ts:345-370 (handler)MCP tool handler for 'update_issue': validates arguments, calls JiraApiService.updateIssue, and returns success responsecase "update_issue": { if ( !args.issueKey || typeof args.issueKey !== "string" || !args.fields || typeof args.fields !== "object" ) { throw new McpError( ErrorCode.InvalidParams, "issueKey and fields object are required", ); } await this.jiraApi.updateIssue(args.issueKey, args.fields); return { content: [ { type: "text", text: JSON.stringify( { message: `Issue ${args.issueKey} updated successfully` }, null, 2, ), }, ], }; }
- src/services/jira-api.ts:408-416 (helper)JiraApiService helper method that sends PUT request to JIRA REST API to update the specified issue fieldsasync updateIssue( issueKey: string, fields: Record<string, any> ): Promise<void> { await this.fetchJson(`/rest/api/3/issue/${issueKey}`, { method: "PUT", body: JSON.stringify({ fields }), }); }