updateIssue
Modify Backlog issue details including status, description, and comments using the issue ID to track project tasks and updates.
Instructions
Backlog課題を更新します
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | 更新時のコメント | |
| description | No | 課題の説明 | |
| issueId | Yes | 課題のID(例: PROJECT-1) | |
| status | No | 新しいステータス |
Implementation Reference
- src/index.ts:163-180 (handler)MCP CallToolRequest handler case for 'updateIssue' tool. Validates input arguments using the schema and calls BacklogClient.updateIssue to perform the update.case 'updateIssue': { const args = this.validateAndCastArguments<UpdateIssueArgs>( request.params.arguments, updateIssueSchema ); return { content: [ { type: 'text', text: JSON.stringify( await this.backlogClient.updateIssue(args), null, 2 ), }, ], }; }
- src/backlog/client.ts:69-93 (helper)Core implementation of the updateIssue tool logic. Constructs parameters from args, maps status to ID if provided, and sends PATCH request to Backlog API /issues/{issueId}.async updateIssue(args: UpdateIssueArgs): Promise<BacklogIssue> { try { const params: Record<string, any> = {}; if (args.status) { params.statusId = this.getStatusId(args.status); } if (args.comment) { params.comment = args.comment; } if (args.description !== undefined) { params.description = args.description; } const response = await this.client.patch(`/issues/${args.issueId}`, params); return response.data; } catch (error) { if (axios.isAxiosError(error)) { throw new Error(`Backlog API error: ${error.response?.data.message ?? error.message}`); } throw error; } }
- src/backlog/schemas.ts:39-60 (schema)JSON Schema defining the input parameters for the updateIssue tool, including issueId (required), status, description, and comment.export const updateIssueSchema = { type: 'object', properties: { issueId: { type: 'string', description: '課題のID(例: PROJECT-1)', }, status: { type: 'string', description: '新しいステータス', }, description: { type: 'string', description: '課題の説明', }, comment: { type: 'string', description: '更新時のコメント', }, }, required: ['issueId'], } as const;
- src/backlog/schemas.ts:95-100 (schema)TypeScript interface defining the typed arguments for updateIssue.export interface UpdateIssueArgs { issueId: string; status?: string; description?: string; comment?: string; }
- src/index.ts:99-103 (registration)Registration of the updateIssue tool in the ListTools response, specifying name, description, and inputSchema.{ name: 'updateIssue', description: 'Backlog課題を更新します', inputSchema: updateIssueSchema, },