dismiss_pull_request_review
Dismiss a pull request review by providing a dismissal message, removing the review's approval or request for changes status.
Instructions
Dismiss a pull request review
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | Repository owner (username or organization) | |
| repo | Yes | Repository name | |
| pull_number | Yes | Pull request number | |
| review_id | Yes | The ID of the review | |
| message | Yes | The message explaining why the review was dismissed |
Implementation Reference
- src/operations/pulls.ts:298-317 (handler)The main handler function that executes the tool logic by making a PUT request to the GitHub API endpoint for dismissing a pull request review.export async function dismissPullRequestReview( github_pat: string, owner: string, repo: string, pullNumber: number, reviewId: number, message: string ): Promise<z.infer<typeof PullRequestReviewSchema>> { const response = await githubRequest( github_pat, `https://api.github.com/repos/${owner}/${repo}/pulls/${pullNumber}/reviews/${reviewId}/dismissals`, { method: 'PUT', body: { message, }, } ); return PullRequestReviewSchema.parse(response); }
- src/operations/pulls.ts:143-149 (schema)Public Zod input schema for the tool, defining parameters like owner, repo, pull_number, review_id, and message.export const DismissPullRequestReviewSchema = 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"), review_id: z.number().describe("The ID of the review"), message: z.string().describe("The message explaining why the review was dismissed") });
- src/operations/pulls.ts:151-153 (schema)Internal Zod schema extending the public schema to include the required GitHub Personal Access Token.export const _DismissPullRequestReviewSchema = DismissPullRequestReviewSchema.extend({ github_pat: z.string().describe("GitHub Personal Access Token"), });
- src/index.ts:206-209 (registration)Tool registration in the MCP server's list of tools, providing name, description, and converted input schema.name: "dismiss_pull_request_review", description: "Dismiss a pull request review", inputSchema: zodToJsonSchema(pulls.DismissPullRequestReviewSchema), },
- src/index.ts:608-617 (registration)Dispatch handler in the MCP server's CallToolRequest that parses arguments and invokes the dismissPullRequestReview function.case "dismiss_pull_request_review": { const args = pulls._DismissPullRequestReviewSchema.parse(params.arguments); const { github_pat, owner, repo, pull_number, review_id, message } = args; const result = await pulls.dismissPullRequestReview( github_pat, owner, repo, pull_number, review_id, message ); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }