How it works
- Create and manually verify a test group.
- Enable a signed webhook for the group.
- After deployment, your pipeline sends the saved environment ID or deployed URL to the webhook.
- TesterArmy queues every enabled test in the group and returns the run IDs.
- Full results appear in the TesterArmy dashboard.
1. Enable a signed group webhook
- Open your project → Tests tab.
- Pick the group in the Test library rail, then open the Webhook menu in the Run tests row under the group name.
- Switch the webhook On.
- Copy the URL - the secret is shown once.
2. Choose the run target
Use a saved environment for stable staging or QA deployments:targetUrl for temporary deployments and review applications:
projectEnvironmentId selects a saved URL and its credential overrides. environment only labels the result as production, staging, or preview; it does not select a saved environment.
3. Call the webhook after deployment
GitHub Actions
Any shell
curl --fail-with-body when an authentication, validation, or usage-limit response should fail the CI job. A successful response means TesterArmy accepted the runs; it does not mean the tests have already passed.
Results
- TesterArmy dashboard: Always contains the run status, test outcome, steps, screenshots, video, and issues.
- GitHub Check Run: Created on a best-effort basis only when
commitShabelongs to the repository connected through the native GitHub integration. - GitHub PR comment: Not created by the signed webhook because it does not accept a PR number.
- GitLab status or merge request comment: Not supported by this trigger.
- JUnit XML / TestRail: Available through
GET /api/v1/batches/{batchId}/junitand the dashboard’s Download JUnit report action. See Export to TestRail.
When to use the API instead
UsePOST /api/v1/groups/{groupId}/runs with an API key when you need richer response metadata, result polling, or GitHub PR context. Unlike the signed webhook, the API-key endpoint accepts prNumber for best-effort GitHub PR reporting when the project has an active GitHub connection.
For change-specific exploration, use POST /api/v1/projects/{projectId}/pull-request-runs. Without a native GitHub connection, planning uses the PR metadata supplied by the caller and cannot read repository diffs or post provider-native results.
Troubleshooting
No check run on the PR
- Missing
commitSha- the tests run, but no commit check can be created. - Commit not in the connected repository - TesterArmy cannot attach the check to an unrelated SHA.
- GitHub App not connected - connect the repository through GitHub.
- Permissions - the GitHub App needs Checks: Read & Write.
401 Unauthorized
The webhook ID or secret is wrong. The plaintext secret cannot be recovered, but you can use Regenerate URL in the group’s webhook menu on the Tests tab and replace the URL in your CI secret manager. The previous URL stops working immediately.
403 Forbidden
The webhook is disabled. Open the group’s webhook menu on the Tests tab and switch it back On.
Tests run against the wrong URL
Tests usetargetUrl from the payload if provided, otherwise the URL configured in your project settings. Check both.