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:
- Build your app for the simulator
xcodebuild -workspace MyApp.xcproject \
-scheme MyApp \
-configuration Debug \
-sdk iphonesimulator \
-derivedDataPath build \
buildThen archive the build:
zip -r MyApp.app.zip MyApp.app
# or using tar
tar -czf MyApp.app.tar.gz MyApp.app- 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
fiNote: 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
}
}- 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.