Bitrise

Maestro Cloud is compatible with all CI systems and provides native integrations with a number of common providers including Bitrise. You can start running your Flows in CI with just a few clicks using the Maestro Cloud Bitrise Step.

Get started

First, get your api key from console.mobile.dev

Then, go to your Bitrise dashboard and save your api key into a secret variable.

Open Workflow Editor in your Bitrise dashboard and select your desired workflow.

  1. To add the Maestro step, you can search for "Maestro" in Bitrise's library of steps.

  2. The step should be added after your app binary has been built.

Lastly, complete the required fields. For example, we need to add our api key and path of the generated app file.

Add step via bitrise.yml

You can add the Maestro Cloud step directly into your bitrise.yml file. Simply, add this line after your build step. (Make sure to replace the env variables)

- maestro-cloud-upload@1:
    inputs:
    - app_file: "$BITRISE_APP_PATH"
    - api_key: "$MDEV_API_KEY"

Input Variables

These are the available input variables for Maestro Cloud step

Note: For the latest inputs, you can check the bitrise step itself.

InputsRequiredDescription

api_key

true

Maestro Cloud API key

app_file

true

File path that points to your app binary. Android: An x86 compatible APK file. iOS: An x86 compatible Simulator build.

mapping_file

false

Android: Include the Proguard mapping file to deobfuscate Android performance traces. iOS: Include the generated .dSYM file (unique per build)

workspace

false

File path to your flow(s). By default, the action is looking for a .maestro folder with Maestro flows in the root directory of the project. If you would like to customize this behaviour, you can override it with a workspace argument.

upload_name

false

Upload name that will be displayed in Maestro Cloud console.

async

false

By default the step will wait for flows to complete. If you don't want to wait for the result, simply set async to true

env

false

A list of env variables to be used in your flows. Should be separated by \n i.e VAR1=1\nVAR2=2

branch

false

The branch this upload originated from. Displayed in the Maestro Cloud console.

repo_name

false

Repository name (ie: GitHub repo slug) Displayed in the Maestro Cloud console.

repo_owner

false

Repository owner (ie: GitHub organization or user slug) Displayed in the Maestro Cloud console.

pull_request_id

false

The ID of the pull request this upload originated from Used to enable pull request blocking.

include_tags

false

Run only flows that contain the specified tags (comma separated) i.e dev,pull-request

exclude_tags

false

Exclude flows from running with the specified tags (comma separated) i.e pull-request,experimental

export_test_report

false

Generate test suite report (JUnit)

export_output

false

Export test file output (Default: report.xml)

maestro_cli_version

false

Maestro CLI version to be downloaded in your CI (Default: latest)

ios_version

false

Set the iOS version the devices should run on (Default: 15)

android_api_level

false

Set the Android api level the devices should run on (Default: 30)

device_locale

false

Set device locale to the provided value (a combination of ISO-639-1 + ISO-3166-1 with using underscore _ symbol in between them). i.e. de_DE for Germany. More info about supported locales here.

Last updated