Skip to main content
Start from a test plan. Bitrise uploads the build or calls the API, then runs that plan. For a change review of a pull request build, use Bitrise pull request testing.

Set it up

Mobile build

Upload the APK or simulator app and run the plan against it.

Web app

Start the plan with one POST /v1/run request.

Blocking mode

Poll the run and fail the step when the result is not passed.
New to mobile app testing on QA.tech? Start with Mobile App Testing to create your mobile application first.
1

Store the API token in Bitrise

Create a token in Organization Settings → API Keys. Open your app in Bitrise, go to Workflow Editor → Secrets, and add:
  • Key: QATECH_API_TOKEN
  • Value: Your API token
  • Keep Expose for Pull Requests disabled unless you need it
2

Get the project short ID

Copy proj_… from the project URL or Settings (for example proj_abc123). Org-scoped keys need this on POST /v1/run. See Understanding Different IDs.
3

Get the application short ID

Copy app_… from Settings → Applications & Envs (for example app_gXeBl2). You need this when uploading a mobile build. See Finding Short IDs.
4

Get the test plan short ID

Open the plan under Test Plans and copy pln_… from the URL (for example pln_abc123). See Find the test plan short ID.

What works on Bitrise

What this does not do

  • The scripts on the Bitrise page do not post a GitHub or GitLab review.
  • Bitrise does not replace a test plan schedule. Manage Schedules runs the plan without a Bitrise build.
  • Envoyer is unrelated. It is a PHP deploy hook, not a mobile CI. See Envoyer.

Test your mobile builds

Add a script step after your build step (e.g. android-build or xcode-build-for-simulator). It uploads the build to QA.tech and starts a test plan run against it, in four parts:
  1. Get a presigned upload URL
  2. Upload the build file directly to storage
  3. Create the build record
  4. Start a test run pinned to that build
For a change review of the same upload (instead of a test plan), use the upload-and-review script on Bitrise pull request testing.

Android (APK)

Bitrise’s android-build step exposes the built APK as $BITRISE_APK_PATH:
Replace app_gXeBl2 and pln_abc123 with your values.

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) - device and App Store .ipa builds cannot run on simulators. See Mobile App Testing for how to prepare a simulator build. On Bitrise, use the xcode-build-for-simulator step instead of xcode-archive. It exposes the built .app directory as $BITRISE_APP_DIR_PATH. Zip it before the upload in the script above:
and use "platform": "ios" when creating the build record.
Supported file types are .apk and .aab for Android, and .zip or .tar.gz containing your .app simulator build for iOS. Maximum file size is 4GB. See the Application Builds API for full request and response details.

Web applications

If you use Bitrise for a web app, trigger a test plan with a single request:
See the Start Run API for all available options, including environment URL overrides for staging or preview deployments.

Blocking mode

To fail the Bitrise build when tests fail (for example as a release gate), poll the run status after starting it:
See the Run Status API for polling details and error handling. If the polling step might exceed your step timeout, raise the step’s timeout in the Bitrise Workflow Editor.