Skip to main content
Use this when Bitrise builds the iOS or Android binary for a pull request and you want a change review of that binary. To run a test plan against the build, use Bitrise regression testing.

Set it up

Upload the build

Upload the Android APK or zipped iOS simulator .app, then start a change review.

Start the review

Call POST /v1/chat/change-review with the build short ID.

Post the review

Connect GitHub or GitLab so the agent can read the diff and post comments.

Get the results

Poll the conversation the same way as any other API-started review.

What works on Bitrise

What this does not do

  • It does not run the GitHub App or a GitLab merge request review for you until you have connected those integrations and called the change review API.
  • It does not review a website preview URL.
  • It does not fail the Bitrise workflow on a change review. Poll a test plan run if the workflow should fail. See Bitrise regression testing.

Upload the build

Add a script step after your build step (android-build or xcode-build-for-simulator). It uploads the build, then starts a change review.

Android (APK)

Bitrise’s android-build step exposes the built APK as $BITRISE_APK_PATH:
Replace app_gXeBl2, the PR URL pattern, and the API token secret with your values. For GitLab MRs, set prUrl to the merge request URL instead.

iOS (Simulator build)

QA.tech runs iOS tests on simulators, so the upload must be a simulator build (.app compressed as .zip or .tar.gz). On Bitrise, use xcode-build-for-simulator instead of xcode-archive. It exposes the .app directory as $BITRISE_APP_DIR_PATH. Zip it before upload:
Use "platform": "ios" when creating the build record. Supported types and size limits are in the Application Builds API.

Mobile build

The upload script above already ends with POST /v1/chat/change-review and applicationBuildShortId. To run a test plan against the same upload instead, keep steps 1–3 and call POST /v1/run as in Bitrise regression testing.

Post the review

Bitrise does not post the review by itself. After the change-review call:
  1. Connect the GitHub App with access to the repository, or connect GitLab MR reviews.
  2. Pass a prUrl the agent can resolve (GitHub PR or GitLab MR).
  3. The agent reads the diff and posts the review through that connection.
Without that connection, the conversation may start but nothing is posted on the request. Polling and dashboard links are the same as API pull request testing.