Group Webhooks
Group webhooks let you run every test in a group with one HTTP call. Works with any CI/CD pipeline, deployment tool, or custom automation.
Setup
- Open your project → Tests tab.
- Expand a group and click the trigger badge (lightning icon).
- Toggle Enable webhook on.
- Click Save.
- Copy the URL - the secret is shown once.
Trigger
curl -X POST https://tester.army/api/v1/groups/webhook/{id}/{secret}All tests in the group are queued against the project's configured URL.
Optional body
You can pass JSON to attach commit metadata:
curl -X POST https://tester.army/api/v1/groups/webhook/{id}/{secret} \
-H "Content-Type: application/json" \
-d '{
"commitSha": "abc123"
}'Mobile app override
You can override the iOS app build used by mobile tests in the group.
By bundle ID — resolves to the latest uploaded app matching that bundle identifier:
curl -X POST https://tester.army/api/v1/groups/webhook/{id}/{secret} \
-H "Content-Type: application/json" \
-d '{
"mobile": {
"bundleId": "com.example.app",
"buildId": "44"
}
}'By app ID — targets a specific uploaded build by its UUID (returned from the upload API):
curl -X POST https://tester.army/api/v1/groups/webhook/{id}/{secret} \
-H "Content-Type: application/json" \
-d '{
"mobile": {
"appId": "<YOUR APP UPLOAD ID>"
}
}'Use appId when multiple builds share the same bundle ID and you need to pin a specific upload.
By remote artifact — provide an HTTPS URL and filename for remote build artifacts:
curl -X POST https://tester.army/api/v1/groups/webhook/{id}/{secret} \
-H "Content-Type: application/json" \
-d '{
"mobile": {
"artifactUrl": "https://example.com/builds/MyApp.app.zip",
"artifactFilename": "MyApp.app.zip",
"buildId": "eas-982"
}
}'Only one of bundleId, appId, or artifactUrl can be provided per request.
Response
{
"received": true,
"status": "queued",
"runIds": ["uuid-1", "uuid-2"],
"count": 2
}When the batch contains iOS tests, the response includes metadata.mobile:
{
"received": true,
"status": "queued",
"runIds": ["uuid-1", "uuid-2"],
"count": 2,
"metadata": {
"mobile": {
"resolvedAppId": "11111111-1111-1111-8111-111111111111",
"source": "app_id",
"buildId": "44",
"temporary": false
}
}
}source: "test_default"means each iOS test used its saved app selection.source: "app_id"means the webhook used an already uploaded project app, selected bybundleIdorappId.source: "artifact_url"means TesterArmy imported the artifact for this batch.
Artifact-imported apps are temporary. They are removed automatically after every run in the webhook batch reaches a terminal state.
Failure notifications
When a webhook-triggered batch completes and any test fails, all team members receive an email summary with links to the failed runs.
Limits
- 1 webhook per group. Delete and recreate to regenerate the secret.
- Subject to your team's usage limits - returns
429if exceeded. - Webhook must be active (saved) to accept requests. Inactive webhooks return
403.