delete_milestone
Remove a milestone from GitHub Projects to manage project timelines and clean up completed phases.
Instructions
Delete a GitHub milestone
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| milestoneId | Yes |
Implementation Reference
- src/index.ts:296-297 (handler)Top-level handler for delete_milestone tool in the MCP server switch statement, dispatching to ProjectManagementService.deleteMilestone(args)case "delete_milestone": return await this.service.deleteMilestone(args);
- ToolDefinition for delete_milestone including name, description, schema reference, and examplesexport const deleteMilestoneTool: ToolDefinition<DeleteMilestoneArgs> = { name: "delete_milestone", description: "Delete a GitHub milestone", schema: deleteMilestoneSchema as unknown as ToolSchema<DeleteMilestoneArgs>, examples: [ { name: "Delete milestone", description: "Delete a milestone by ID", args: { milestoneId: "42" } } ] };
- Zod input schema validation for delete_milestone tool requiring milestoneIdexport const deleteMilestoneSchema = z.object({ milestoneId: z.string().min(1, "Milestone ID is required"), }); export type DeleteMilestoneArgs = z.infer<typeof deleteMilestoneSchema>;
- src/infrastructure/tools/ToolRegistry.ts:204-205 (registration)Registration of deleteMilestoneTool in the central ToolRegistry singletonthis.registerTool(updateMilestoneTool); this.registerTool(deleteMilestoneTool);
- Low-level repository implementation that calls GitHub REST API to delete the milestoneasync delete(id: MilestoneId): Promise<void> { // Use REST API for milestone deletion since GraphQL doesn't support it await this.rest( (params) => this.octokit.rest.issues.deleteMilestone(params), { milestone_number: parseInt(id) } ); }