TesterArmyTesterArmy
Mobile

CI Integration

Integrating with CI/CD pipelines

Right now we only support manual integration.

We are working to support providers like Expo EAS and Fastlane.

Manual integration

To run test from CI/CD you will need:

  • Webhook URL for you test group (see Group Webhooks)
  • TesterArmy API key (You can get it from the TesterArmy dashboard under Team Settings → API Keys.)

Add following steps to your CI/CD pipeline:

  1. Build your app for the simulator
xcodebuild -workspace MyApp.xcproject \
  -scheme MyApp \
  -configuration Debug \
  -sdk iphonesimulator \
  -derivedDataPath build \
  build

Then archive the build:

zip -r MyApp.app.zip MyApp.app
# or using tar
tar -czf MyApp.app.tar.gz MyApp.app
  1. Upload temporary app build to TesterArmy and get the app id
# curl and extract app id from the response
APP_ID=$(curl -X POST https://tester.army/api/v1/projects/{projectId}/mobile \
  -H "Authorization: Bearer <YOUR API KEY>" \
  -F "file=@<PATH TO YOUR APP BUILD ARCHIVE>" \
  -F "removeAfter=3600" \
  | jq -r '.app.id')

# check if app id is not empty
if [ -z "$APP_ID" ]; then
  echo "Failed to upload app build to TesterArmy"
  exit 1
fi

Note: You can use removeAfter (time in seconds) to auto-delete the upload after a set time (useful for CI builds).

it will return you the app id, you will need to use it to trigger webhook.

{
  "app": {
    "id": "<APP ID>",
    ... // other app metadata
  }
}
  1. Trigger webhook with the app build
curl -X POST https://tester.army/api/v1/groups/webhook/{id}/{secret} \
  -H "Content-Type: application/json" \
  -d '{
    "mobile": {
      "appId": "$APP_ID"
    }
  }'

This will run tests against the app build you uploaded.

On this page