add_issue_comment
Enables users to add HTML-formatted comments to specific issues in Plane projects using project_id and issue_id. Supports issue management by facilitating clear communication and updates.
Instructions
Add a comment to a specific issue. This requests project_id and issue_id as uuid parameters. If you have a readable identifier, you can use the get_issue_using_readable_identifier tool to get the issue_id and project_id
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| comment_html | Yes | The html content of the comment to add | |
| issue_id | Yes | The uuid identifier of the issue to get | |
| project_id | Yes | The uuid identifier of the project to get issues for |
Implementation Reference
- src/tools/issues.ts:156-173 (handler)Handler function that adds a comment to the specified issue by making a POST request to the Plane API using makePlaneRequest.async ({ project_id, issue_id, comment_html }) => { const response = await makePlaneRequest( "POST", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/issues/${issue_id}/comments/`, { comment_html, } ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } );
- src/tools/issues.ts:151-155 (schema)Zod schema defining input parameters: project_id (UUID), issue_id (UUID), comment_html (string).{ project_id: z.string().describe("The uuid identifier of the project to get issues for"), issue_id: z.string().describe("The uuid identifier of the issue to get"), comment_html: z.string().describe("The html content of the comment to add"), },
- src/tools/issues.ts:148-173 (registration)Registration of the add_issue_comment tool on the McpServer, including description, schema, and handler.server.tool( "add_issue_comment", "Add a comment to a specific issue. This requests project_id and issue_id as uuid parameters. If you have a readable identifier, you can use the get_issue_using_readable_identifier tool to get the issue_id and project_id", { project_id: z.string().describe("The uuid identifier of the project to get issues for"), issue_id: z.string().describe("The uuid identifier of the issue to get"), comment_html: z.string().describe("The html content of the comment to add"), }, async ({ project_id, issue_id, comment_html }) => { const response = await makePlaneRequest( "POST", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/issues/${issue_id}/comments/`, { comment_html, } ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } );