backlog_update_issue
Modify project issue details in Backlog by updating attributes such as status, assignee, due date, or description using the Backlog API. Streamline issue management with structured inputs for efficient project tracking.
Instructions
Update an issue using the Backlog Issue API.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actualHours | No | Actual hours | |
| assigneeId | No | Assignee id | |
| attachmentId | No | Attachment ids | |
| categoryId | No | Category ids | |
| comment | No | Comment | |
| description | No | Description | |
| dueDate | No | Due date | |
| estimatedHours | No | Estimated hours | |
| issueIdOrKey | Yes | Issue ID or Issue Key | |
| issueTypeId | No | Issue type id | |
| milestoneId | No | Milestone ids | |
| notifiedUserId | No | Notified user ids | |
| parentIssueId | No | Parent issue id | |
| priorityId | No | Priority id | |
| startDate | No | Start date | |
| statusId | No | Status id | |
| summary | No | Summary | |
| versionId | No | Version ids |
Implementation Reference
- src/tools/handlers.ts:204-236 (handler)Main execution handler for 'backlog_update_issue' tool: parses args with schema, calls issueService.updateIssue, returns formatted response or error.const handleUpdateIssue: ToolHandler = async (args) => { try { try { const validatedParams = UpdateIssueParamsSchema.parse(args); const text = await issueService.updateIssue(validatedParams); return { content: [ { type: "text", text: `Results for your query:\n${text}`, }, ], isError: false, }; } catch (validationError) { throw new ValidationError( `Invalid parameters: ${validationError instanceof Error ? validationError.message : String(validationError)}`, ); } } catch (error) { return { content: [ { type: "text", text: `Error: ${formatError(error)}`, }, ], isError: true, }; } };
- src/core/schema.ts:156-175 (schema)Zod input schema definition for validating parameters of the backlog_update_issue tool, including issueIdOrKey (required) and various optional update fields.export const UpdateIssueParamsSchema = z.object({ issueIdOrKey: z.string().describe("Issue ID or Issue Key"), summary: z.string().optional().describe("Summary"), parentIssueId: z.number().int().optional().describe("Parent issue id"), description: z.string().optional().describe("Description"), statusId: z.number().int().optional().describe("Status id"), startDate: z.string().optional().describe("Start date"), dueDate: z.string().optional().describe("Due date"), estimatedHours: z.number().optional().describe("Estimated hours"), actualHours: z.number().optional().describe("Actual hours"), issueTypeId: z.number().int().optional().describe("Issue type id"), categoryId: z.array(z.number()).optional().describe("Category ids"), versionId: z.array(z.number()).optional().describe("Version ids"), milestoneId: z.array(z.number()).optional().describe("Milestone ids"), priorityId: z.number().int().optional().describe("Priority id"), assigneeId: z.number().int().optional().describe("Assignee id"), notifiedUserId: z.array(z.number()).optional().describe("Notified user ids"), attachmentId: z.array(z.number()).optional().describe("Attachment ids"), comment: z.string().optional().describe("Comment"), });
- src/tools/handlers.ts:442-455 (registration)Maps the tool name 'backlog_update_issue' to its handler function handleUpdateIssue in the central toolHandlers registry.export const toolHandlers: Record<ToolName, ToolHandler> = { backlog_get_projects: handleGetProjects, backlog_get_project: handleGetProject, backlog_get_issues: handleGetIssues, backlog_get_issue: handleGetIssue, backlog_add_issue: handleAddIssue, backlog_update_issue: handleUpdateIssue, backlog_delete_issue: handleDeleteIssue, backlog_get_wikis: handleGetWikis, backlog_get_wiki: handleGetWiki, backlog_add_wiki: handleAddWiki, backlog_update_wiki: handleUpdateWiki, backlog_delete_wiki: handleDeleteWiki, };
- src/tools/toolDefinitions.ts:559-563 (schema)Defines the MCP Tool object for 'backlog_update_issue' with description and inputSchema derived from UpdateIssueParamsSchema.export const UPDATE_ISSUE_TOOL: Tool = createTool( "backlog_update_issue", "Update an issue using the Backlog Issue API.", UpdateIssueParamsSchema, );
- src/core/types.ts:143-155 (schema)TypeScript union type including 'backlog_update_issue' for type-safe tool names.export type ToolName = | "backlog_get_projects" | "backlog_get_project" | "backlog_get_issues" | "backlog_get_issue" | "backlog_add_issue" | "backlog_update_issue" | "backlog_delete_issue" | "backlog_get_wikis" | "backlog_get_wiki" | "backlog_add_wiki" | "backlog_update_wiki" | "backlog_delete_wiki";