update_task
Modify existing tasks in FluentBoards project management by updating titles, descriptions, or moving them between stages using board and task IDs.
Instructions
Update an existing task
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| board_id | Yes | Board ID | |
| task_id | Yes | Task ID | |
| title | No | New task title | |
| description | No | New task description | |
| stage_id | No | New stage ID |
Implementation Reference
- src/tools/tasks.ts:83-117 (handler)Handler function that conditionally updates task title, description, or stage via API PUT requests and returns formatted response.async (args) => { const { board_id, task_id, title, description, stage_id } = args; let response; // Update title if provided if (title) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'title', value: title } ); } // Update description if provided if (description) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'description', value: formatText(description) } ); } // Update stage if provided if (stage_id) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'stage_id', value: stage_id } ); } if (!response) { throw new Error('No properties provided for update'); } return formatResponse(response.data); }
- src/tools/tasks.ts:76-82 (schema)Inline Zod input schema used in the update_task tool definition.{ board_id: z.number().int().positive().describe("Board ID"), task_id: z.number().int().positive().describe("Task ID"), title: z.string().optional().describe("New task title"), description: z.string().optional().describe("New task description"), stage_id: z.number().int().positive().optional().describe("New stage ID"), },
- src/tools/tasks.ts:74-118 (registration)The server.tool call that registers the update_task tool with its schema and handler."update_task", "Update an existing task", { board_id: z.number().int().positive().describe("Board ID"), task_id: z.number().int().positive().describe("Task ID"), title: z.string().optional().describe("New task title"), description: z.string().optional().describe("New task description"), stage_id: z.number().int().positive().optional().describe("New stage ID"), }, async (args) => { const { board_id, task_id, title, description, stage_id } = args; let response; // Update title if provided if (title) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'title', value: title } ); } // Update description if provided if (description) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'description', value: formatText(description) } ); } // Update stage if provided if (stage_id) { response = await api.put( `/projects/${board_id}/tasks/${task_id}`, { property: 'stage_id', value: stage_id } ); } if (!response) { throw new Error('No properties provided for update'); } return formatResponse(response.data); } );
- src/types/index.ts:28-34 (schema)Exported Zod schema for UpdateTask input, matching the inline schema in the tool.export const UpdateTaskSchema = z.object({ board_id: z.number().int().positive(), task_id: z.number().int().positive(), title: z.string().optional(), description: z.string().optional(), stage_id: z.number().int().positive().optional(), });
- src/index.ts:23-23 (registration)Top-level call to registerTaskTools which includes the update_task tool registration.registerTaskTools(server);