Skip to main content
Glama
hackdonalds

JIRA MCP Server

by hackdonalds

jira_update_issue

Modify JIRA issues by updating their summary, description, assignee, or priority using the specified issue key to streamline issue management and tracking.

Instructions

Update an existing JIRA issue

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assigneeNoNew assignee account ID
descriptionNoNew description
issueKeyYesThe JIRA issue key
priorityNoNew priority name
summaryNoNew summary

Implementation Reference

  • The asynchronous handler function for the jira_update_issue tool. It destructures input parameters, builds an updateData object with provided fields, calls jiraClient.updateIssue, logs success or error, returns a text content response on success.
    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; } }
  • The tool's metadata object including title, description, and Zod-based inputSchema defining required issueKey and optional update fields.
    { 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') }
  • server.js:298-337 (registration)
    The server.registerTool call that registers the 'jira_update_issue' tool with its name, schema/metadata, and inline handler function.
    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; } } );

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hackdonalds/jira-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server