update_pull_request
Modify a pull request's title, description, or target branch in Bitbucket Cloud to reflect changes or corrections during code review.
Instructions
Update a pull request title, description, or destination branch.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | Yes | The workspace slug | |
| repo_slug | Yes | The repository slug | |
| pr_id | Yes | The pull request ID | |
| title | No | New title | |
| description | No | New description | |
| destination_branch | No | New destination branch |
Implementation Reference
- src/tools/index.ts:937-941 (handler)Handler for the 'update_pull_request' tool in the ToolHandler class switch statement. Parses input arguments using the schema and delegates to PullRequestsAPI.update method.case 'update_pull_request': { const params = toolSchemas.update_pull_request.parse(args); const { workspace, repo_slug, pr_id, ...updates } = params; return this.prs.update(workspace, repo_slug, pr_id, updates); }
- src/tools/index.ts:84-91 (schema)Zod schema defining the input parameters for the update_pull_request tool.update_pull_request: z.object({ workspace: z.string().describe('The workspace slug'), repo_slug: z.string().describe('The repository slug'), pr_id: z.number().describe('The pull request ID'), title: z.string().optional().describe('New title'), description: z.string().optional().describe('New description'), destination_branch: z.string().optional().describe('New destination branch'), }),
- src/tools/index.ts:447-462 (registration)Tool definition/registration in the toolDefinitions array used for MCP, including name, description, and inputSchema.{ name: 'update_pull_request', description: 'Update a pull request title, description, or destination branch.', inputSchema: { type: 'object' as const, properties: { workspace: { type: 'string', description: 'The workspace slug' }, repo_slug: { type: 'string', description: 'The repository slug' }, pr_id: { type: 'number', description: 'The pull request ID' }, title: { type: 'string', description: 'New title' }, description: { type: 'string', description: 'New description' }, destination_branch: { type: 'string', description: 'New destination branch' }, }, required: ['workspace', 'repo_slug', 'pr_id'], }, },
- src/api/pullrequests.ts:77-95 (helper)Core implementation in PullRequestsAPI.update method: constructs the request body from optional updates and performs PUT request to Bitbucket API endpoint to update the pull request.async update( workspace: string, repo_slug: string, pr_id: number, updates: { title?: string; description?: string; destination_branch?: string } ): Promise<BitbucketPullRequest> { const body: Record<string, unknown> = {}; if (updates.title) body.title = updates.title; if (updates.description) body.description = updates.description; if (updates.destination_branch) { body.destination = { branch: { name: updates.destination_branch } }; } return this.client.put<BitbucketPullRequest>( `/repositories/${workspace}/${repo_slug}/pullrequests/${pr_id}`, body ); }