review_pull_request
Submit a review decision on a pull request. Requires at least Editor role. event options: ‘comment’ (neutral feedback), ‘approve’ (signal ready to merge), ‘request_changes’ (block merge until addressed). Returns: model (str); pull_request_id (int); event (str); message (str); workspace_id (str) — the resolved target workspace; echoes the workspace_id argument, or your current workspace when omitted.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
model_name | Annotated[str, Field(description='Name of the Bridge Town model.')] | Yes | — | |
pull_request_id | Annotated[int, Field(description='Numeric ID of the pull request within the model.')] | Yes | — | |
event | Annotated[Literal['comment', 'approve', 'request_changes'], Field(description="Review decision: 'comment' (leave a comment), 'approve' (approve the PR), or 'request_changes' (request changes).")] | Yes | — | |
body | Annotated[str, Field(description="Review comment text. Required when event is 'COMMENT' or 'REQUEST_CHANGES'.")] | No | '' | |
workspace_id | `Annotated[str | None, Field(description=WORKSPACE_ID_FIELD_DESCRIPTION)]` | No | None |
Returns
Section titled “Returns”Returns a structured object. Top-level fields:
model(string)pull_request_id(integer)event(string)message(string)
See the response example below for the full payload shape.
Example
Section titled “Example”Tool Call
Section titled “Tool Call”{ "name": "review_pull_request", "arguments": { "model_name": "forecasts", "pull_request_id": 42, "event": "approve", "body": "Numbers look right. LGTM." }}Response
Section titled “Response”{ "model": "forecasts", "pull_request_id": 42, "event": "approve", "message": "Review submitted."}- Module:
Pull Requests - Requires authentication via API token or Auth0 JWT.