delete_draft_issue
Remove draft issues from GitHub projects to clean up project boards and maintain organized workflows.
Instructions
Delete a draft issue from a GitHub project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| draftIssueId | Yes |
Implementation Reference
- Main handler implementation using GitHub GraphQL API mutation 'deleteProjectV2DraftIssue' to delete the specified draft issue.async deleteDraftIssue(data: { draftIssueId: string; }): Promise<{ success: boolean; message: string }> { try { const mutation = ` mutation($input: DeleteProjectV2DraftIssueInput!) { deleteProjectV2DraftIssue(input: $input) { draftIssue { id } } } `; interface DeleteDraftIssueResponse { deleteProjectV2DraftIssue: { draftIssue: { id: string; }; }; } await this.factory.graphql<DeleteDraftIssueResponse>(mutation, { input: { draftIssueId: data.draftIssueId } }); return { success: true, message: `Draft issue ${data.draftIssueId} deleted successfully` }; } catch (error) { throw this.mapErrorToMCPError(error); } }
- Tool definition with Zod input schema, description, and usage examples. Schema requires 'draftIssueId' string.export const deleteDraftIssueTool: ToolDefinition<DeleteDraftIssueArgs> = { name: "delete_draft_issue", description: "Delete a draft issue from a GitHub project", schema: deleteDraftIssueSchema as unknown as ToolSchema<DeleteDraftIssueArgs>, examples: [ { name: "Remove draft", description: "Delete a draft issue that's no longer needed", args: { draftIssueId: "DI_kwDOLhQ7gc4AABB" } } ] };
- src/infrastructure/tools/ToolRegistry.ts:222-222 (registration)Registers the deleteDraftIssueTool in the central ToolRegistry singleton.this.registerTool(deleteDraftIssueTool);
- src/index.ts:339-340 (registration)MCP server dispatches 'delete_draft_issue' tool calls to ProjectManagementService.deleteDraftIssue method.case "delete_draft_issue": return await this.service.deleteDraftIssue(args);