jira_update_issue
Update JIRA issues by modifying summary, description, assignee, or priority using the issue key.
Instructions
Update an existing JIRA issue
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | The JIRA issue key | |
| summary | No | New summary | |
| description | No | New description | |
| assignee | No | New assignee account ID | |
| priority | No | New priority name |
Implementation Reference
- server.js:311-336 (handler)The inline async handler function that implements the logic for updating a JIRA issue. It constructs updateData based on provided fields and calls jiraClient.updateIssue.async ({ issueKey, summary, description, assignee, priority }) => { logger.info('Updating JIRA issue', { issueKey }); try { const updateData = {}; if (summary) updateData.summary = summary; if (description) updateData.description = description; if (assignee) updateData.assignee = { accountId: assignee }; if (priority) updateData.priority = { name: priority }; await jiraClient.updateIssue(issueKey, updateData); logger.info('Successfully updated issue', { issueKey, fieldsUpdated: Object.keys(updateData) }); return { content: [{ type: 'text', text: `Issue ${issueKey} updated successfully` }] }; } catch (error) { logger.error('Failed to update issue', { issueKey, error: error.message }); throw error; } }
- server.js:303-309 (schema)Input schema using Zod (z) for validating tool parameters: required issueKey, optional summary, description, assignee, priority.inputSchema: { issueKey: z.string().describe('The JIRA issue key'), summary: z.string().optional().describe('New summary'), description: z.string().optional().describe('New description'), assignee: z.string().optional().describe('New assignee account ID'), priority: z.string().optional().describe('New priority name') }
- server.js:297-337 (registration)Registration of the 'jira_update_issue' tool with server.registerTool, including title, description, inputSchema, and the handler function.// Register jira_update_issue tool server.registerTool( 'jira_update_issue', { title: 'Update JIRA Issue', description: 'Update an existing JIRA issue', inputSchema: { issueKey: z.string().describe('The JIRA issue key'), summary: z.string().optional().describe('New summary'), description: z.string().optional().describe('New description'), assignee: z.string().optional().describe('New assignee account ID'), priority: z.string().optional().describe('New priority name') } }, async ({ issueKey, summary, description, assignee, priority }) => { logger.info('Updating JIRA issue', { issueKey }); try { const updateData = {}; if (summary) updateData.summary = summary; if (description) updateData.description = description; if (assignee) updateData.assignee = { accountId: assignee }; if (priority) updateData.priority = { name: priority }; await jiraClient.updateIssue(issueKey, updateData); logger.info('Successfully updated issue', { issueKey, fieldsUpdated: Object.keys(updateData) }); return { content: [{ type: 'text', text: `Issue ${issueKey} updated successfully` }] }; } catch (error) { logger.error('Failed to update issue', { issueKey, error: error.message }); throw error; } } );