delete_milestone
Remove a GitHub milestone by specifying its unique ID. This tool helps manage GitHub projects by eliminating outdated or completed milestones efficiently.
Instructions
Delete a GitHub milestone
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| milestoneId | Yes |
Implementation Reference
- src/index.ts:296-297 (handler)MCP tool handler in executeToolHandler switch statement that executes the delete_milestone tool by calling ProjectManagementService.deleteMilestonecase "delete_milestone": return await this.service.deleteMilestone(args);
- Tool definition including name, description, input schema (deleteMilestoneSchema), and examples for delete_milestoneexport 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 validation schema 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:205-205 (registration)Registration of deleteMilestoneTool in the central ToolRegistry singletonthis.registerTool(deleteMilestoneTool);
- Core deletion logic in GitHubMilestoneRepository using Octokit 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) } ); }