Skip to main content
Glama

merge_pull_request

Combine changes from a Pull Request in Gitee repositories by specifying owner, repository, PR number, merge method, and branch deletion options.

Instructions

合并 Gitee 仓库中的 Pull Request

Input Schema

NameRequiredDescriptionDefault
merge_methodNoMerge methodmerge
ownerYesRepository owner path (enterprise, organization, or personal path)
prune_source_branchNoWhether to delete the source branch after merging
pull_numberYesPull Request number
repoYesRepository path

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "merge_method": { "default": "merge", "description": "Merge method", "enum": [ "merge", "squash", "rebase" ], "type": "string" }, "owner": { "description": "Repository owner path (enterprise, organization, or personal path)", "type": "string" }, "prune_source_branch": { "description": "Whether to delete the source branch after merging", "type": "boolean" }, "pull_number": { "description": "Pull Request number", "type": "number" }, "repo": { "description": "Repository path", "type": "string" } }, "required": [ "owner", "repo", "pull_number" ], "type": "object" }

Implementation Reference

  • The handler function that merges a pull request by making a PUT request to the Gitee API endpoint for merging.
    export async function mergePullRequest( owner: string, repo: string, pullNumber: number, options: Omit<MergePullRequestOptions, "owner" | "repo" | "pull_number"> ) { owner = validateOwnerName(owner); repo = validateRepositoryName(repo); const url = `/repos/${owner}/${repo}/pulls/${pullNumber}/merge`; const response = await giteeRequest(url, "PUT", options); return response; }
  • Zod schema defining the input parameters for the merge_pull_request tool, including owner, repo, pull_number, merge_method, and prune_source_branch.
    export const MergePullRequestSchema = z.object({ // 仓库所属空间地址 (企业、组织或个人的地址 path) owner: z.string().describe("Repository owner path (enterprise, organization, or personal path)"), // 仓库路径 (path) repo: z.string().describe("Repository path"), // Pull Request 编号 pull_number: z.number().describe("Pull Request number"), // 合并方式 merge_method: z.enum(["merge", "squash", "rebase"]).default("merge").optional().describe("Merge method"), // 合并后是否删除源分支 prune_source_branch: z.boolean().optional().describe("Whether to delete the source branch after merging"), });
  • index.ts:238-250 (registration)
    Registration of the merge_pull_request tool in the MCP server, linking the schema and delegating to the pullOperations.mergePullRequest handler.
    server.registerTool({ name: "merge_pull_request", description: "合并 Gitee 仓库中的 Pull Request", schema: pullOperations.MergePullRequestSchema, handler: async (params: any) => { const { owner, repo, pull_number, ...options } = params; // 确保必需参数存在 if (!owner || !repo || pull_number === undefined) { throw new Error("owner, repo 和 pull_number 参数是必需的"); } return await pullOperations.mergePullRequest(owner, repo, pull_number, options); }, });

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/normal-coder/gitee-mcp-server'

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