get_pull_request_files
Retrieve a list of files modified in a GitHub pull request by specifying the repository owner, name, and pull request number.
Instructions
Get the list of files changed in a pull request
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | Repository owner (username or organization) | |
| pull_number | Yes | Pull request number | |
| repo | Yes | Repository name |
Implementation Reference
- operations/pulls.ts:240-249 (handler)Main handler function that fetches the list of files changed in a pull request from the GitHub API and parses the response using Zod.export async function getPullRequestFiles( owner: string, repo: string, pullNumber: number ): Promise<z.infer<typeof PullRequestFileSchema>[]> { const response = await githubRequest( `https://api.github.com/repos/${owner}/${repo}/pulls/${pullNumber}/files` ); return z.array(PullRequestFileSchema).parse(response); }
- operations/pulls.ts:131-135 (schema)Zod input schema defining parameters for the get_pull_request_files tool: owner, repo, pull_number.export const GetPullRequestFilesSchema = z.object({ owner: z.string().describe("Repository owner (username or organization)"), repo: z.string().describe("Repository name"), pull_number: z.number().describe("Pull request number") });
- index.ts:176-178 (registration)Tool registration in the listTools response, specifying name, description, and input schema.name: "get_pull_request_files", description: "Get the list of files changed in a pull request", inputSchema: zodToJsonSchema(pulls.GetPullRequestFilesSchema)
- index.ts:533-539 (handler)Dispatch handler in the callToolRequest switch statement that invokes the getPullRequestFiles function and formats the response.case "get_pull_request_files": { const args = pulls.GetPullRequestFilesSchema.parse(request.params.arguments); const files = await pulls.getPullRequestFiles(args.owner, args.repo, args.pull_number); return { content: [{ type: "text", text: JSON.stringify(files, null, 2) }], }; }