Set it up
Start a change review
POST /v1/chat/change-review with mode: "pr" and the request URL.Upload a mobile build
Upload the binary, then pass
applicationBuildShortId.Get the results
Poll the conversation and open runs in the dashboard.
Slack, Teams, and email
Project defaults and per-run notification overrides.
What works over the API
What this does not do
- It does not replace the GitHub App or the GitLab connection. Those are what allow the review to be posted.
- It does not schedule runs. Schedules belong on a test plan.
- Envoyer is not a substitute. Envoyer cannot start a change review.
Pass extra context
When you callPOST /v1/chat/change-review, include a context string with testing guidance the PR body may not have: acceptance criteria from a ticket, a short summary of what to exercise, or out-of-scope notes.
GitHub’s Change Review Action accepts the same text as its context input. You can generate that string in an earlier CI step (for example with a coding agent) and pass it through. The agent sees both the PR description and this context.
See Writing PR Descriptions for what to put in the description versus context.
Upload the PR build
Native mobile PRs have no preview URL. Upload the simulator or emulator binary after your compile step, then pin the change review withapplicationBuildShortId. Replace app_gXeBl2 and the file path.
.app first, set "platform": "ios", and upload the archive:
POST /v1/chat/change-review with applicationBuildShortId on the application override. See Mobile pull request testing for when to use a test plan versus a change review, and Application Builds API for request details.
Bitrise-specific paths ($BITRISE_APK_PATH, xcode-build-for-simulator) are on Bitrise pull request testing.
Get the results
POST /v1/chat/change-review returns 202 Accepted immediately. The review runs asynchronously.
- Take
shortId(or the conversation id) from the response. - Poll Get Chat Conversation until conversation
statusiscompleted,failed, orcancelled. Wait at least 1 second between polls; assistant messageCOMPLETEDalone is not enough while a test run is still in progress. - Open the conversation URL in the dashboard for the review write-up.
- Use any
runs[]entries with Get Run (testCases: "all") for browser or mobile results.
Slack, Teams, and email
Connect project notifications so your team sees run outcomes without watching the API:- Slack — default channel under Settings → Integrations
- Microsoft Teams — project webhook
- Email — recipients on the test plan or per-run override
notifyOn / channel overrides on Start Run.