> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qa.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Bitrise pull request testing

> Review a mobile pull request build from Bitrise by calling the change review API.

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](/regression-testing/bitrise).

## Set it up

<CardGroup cols={2}>
  <Card title="Upload the build" icon="mobile" href="/regression-testing/bitrise#test-your-mobile-builds">
    Copy the Android or iOS upload script for your Bitrise workflow.
  </Card>

  <Card title="Start the review" icon="code-pull-request" href="#mobile-build">
    Replace `POST /v1/run` with `POST /v1/chat/change-review` and the build
    short ID.
  </Card>

  <Card title="Post on GitHub" icon="github" href="/configuration/github-app">
    Install the GitHub App on the repository so the review is posted.
  </Card>

  <Card title="Post on GitLab" icon="gitlab" href="/configuration/gitlab#set-up-gitlab-mr-reviews">
    Connect the repository under **Settings → Integrations → GitLab**.
  </Card>
</CardGroup>

## What works on Bitrise

| Capability                                   | Bitrise                                                                                                              |
| :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- |
| Review on a preview URL, before merge        | No. Bitrise does not read a GitHub or GitLab request, and it does not resolve a preview URL for you.                 |
| Review after merge, with no preview URL      | No.                                                                                                                  |
| Review a mobile build for that pull request  | Yes, if your script uploads the build and calls the change review API. Bitrise does not post the review on its own.  |
| Run a regression test plan                   | Not from this guide. That is the usual Bitrise setup. See [Bitrise regression testing](/regression-testing/bitrise). |
| Block the workflow until the review finishes | No documented blocking check for a change review. Blocking is documented for test plan runs.                         |

## What this does not do

* It does not run the GitHub App or a GitLab merge request review for you.
* 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](/regression-testing/bitrise).

## Mobile build

Bitrise is the same upload-then-run sequence, using `$BITRISE_APK_PATH` or a zipped simulator `.app` from `xcode-build-for-simulator`. [Bitrise regression testing](/regression-testing/bitrise#test-your-mobile-builds) has the copy-paste script steps for Android and iOS, including blocking (poll until the run finishes).

To post an MR/PR review instead of only starting a plan, keep that upload script and replace the final `POST /v1/run` with `POST /v1/chat/change-review` and `applicationBuildShortId`, as in the [GitLab example](/pr-testing/gitlab#mobile-build).
