Skip to main content
Glama

delete_issue

Remove an issue from a GitHub repository by specifying the owner, repo, and issue number using GraphQL API. Simplify issue cleanup and repository management.

Instructions

Delete an issue from a GitHub repository using GraphQL API

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issue_numberYes
ownerYes
repoYes

Implementation Reference

  • The main handler function that implements the delete_issue tool logic: fetches issue node_id then deletes via GitHub GraphQL API.
    export async function deleteIssue(owner: string, repo: string, issue_number: number) {
      // Bước 1: Lấy node_id (GraphQL ID) của issue
      const issue = await getIssue(owner, repo, issue_number) as { node_id: string };
    
      if (!issue || !issue.node_id) {
        throw new Error(`Issue #${issue_number} not found or cannot be accessed`);
      }
    
      // Bước 2: Sử dụng GraphQL API để xóa issue
      const mutation = `
        mutation DeleteIssue($issueId: ID!) {
          deleteIssue(input: { issueId: $issueId }) {
            clientMutationId
            repository {
              id
              name
            }
          }
        }
      `;
    
      const variables = {
        issueId: issue.node_id
      };
    
      const result = await graphqlRequest(mutation, variables);
    
      return {
        success: true,
        issue_number: issue_number,
        repository: `${owner}/${repo}`,
        ...result.data.deleteIssue
      };
    }
  • Zod schema defining the input parameters for the delete_issue tool.
    export const DeleteIssueSchema = z.object({
      owner: z.string(),
      repo: z.string(),
      issue_number: z.number(),
    });
  • index.ts:210-213 (registration)
    Tool registration in the list of tools returned by ListToolsRequestHandler.
    {
      name: "delete_issue",
      description: "Delete an issue from a GitHub repository using GraphQL API",
      inputSchema: zodToJsonSchema(issues.DeleteIssueSchema),
  • Dispatcher case in the main CallToolRequestHandler that parses arguments and calls the deleteIssue function.
    case "delete_issue": {
      const args = issues.DeleteIssueSchema.parse(request.params.arguments);
      const result = await issues.deleteIssue(args.owner, args.repo, args.issue_number);
      return {
        content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
      };
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tuanle96/mcp-github'

If you have feedback or need assistance with the MCP directory API, please join our Discord server