Skip to main content
Glama
hackdonalds

JIRA MCP Server

by hackdonalds

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
NameRequiredDescriptionDefault
issueKeyYesThe JIRA issue key
summaryNoNew summary
descriptionNoNew description
assigneeNoNew assignee account ID
priorityNoNew priority name

Implementation Reference

  • 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; } }
  • 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; } } );

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