update_issue_type
Modify an existing issue type by updating its metadata, including name, description, and status, within a specified project using the Plane MCP Server.
Instructions
Update an existing issue type
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issue_type_data | Yes | The fields to update on the issue type | |
| project_id | Yes | The uuid identifier of the project containing the issue type | |
| type_id | Yes | The uuid identifier of the issue type to update |
Implementation Reference
- src/tools/metadata.ts:88-102 (handler)The handler function that performs the PATCH request to update an issue type via the Plane API and returns the response as formatted JSON text.
async ({ project_id, type_id, issue_type_data }) => { const response = await makePlaneRequest( "PATCH", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/issue-types/${type_id}/`, issue_type_data ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } - src/tools/metadata.ts:83-87 (schema)Zod input schema for the update_issue_type tool, specifying project_id, type_id, and partial IssueTypeSchema for updates.
{ project_id: z.string().describe("The uuid identifier of the project containing the issue type"), type_id: z.string().describe("The uuid identifier of the issue type to update"), issue_type_data: IssueTypeSchema.partial().describe("The fields to update on the issue type"), }, - src/tools/metadata.ts:80-103 (registration)The MCP server.tool registration for update_issue_type, including name, description, input schema, and handler function.
server.tool( "update_issue_type", "Update an existing issue type", { project_id: z.string().describe("The uuid identifier of the project containing the issue type"), type_id: z.string().describe("The uuid identifier of the issue type to update"), issue_type_data: IssueTypeSchema.partial().describe("The fields to update on the issue type"), }, async ({ project_id, type_id, issue_type_data }) => { const response = await makePlaneRequest( "PATCH", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/issue-types/${type_id}/`, issue_type_data ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } ); - src/schemas.ts:86-104 (schema)The base Zod schema for IssueTypeAPI (imported as IssueTypeSchema), which defines the full structure of an issue type and is used partially in the tool's input schema.
export const IssueTypeAPI = z.object({ created_at: z.string().datetime({ offset: true }).readonly(), created_by: z.string().uuid().readonly(), deleted_at: z.string().datetime({ offset: true }).readonly(), description: z.string().optional(), external_id: z.string().max(255).optional(), external_source: z.string().max(255).optional(), id: z.string().uuid().readonly(), is_active: z.boolean().optional(), is_default: z.boolean().readonly(), level: z.number().int().readonly(), logo_props: z.any().readonly(), name: z.string().max(255), project_ids: z.array(z.string().uuid()).optional(), updated_at: z.string().datetime({ offset: true }).readonly(), updated_by: z.string().uuid().readonly(), workspace: z.string().uuid().readonly(), }); export type IssueTypeAPI = z.infer<typeof IssueTypeAPI>;