Custom Infrastructure
If your app isn’t deployed on Vercel or Coolify, you can still wire up PR testing with a group webhook. Trigger it from GitHub Actions, GitLab CI, Jenkins, a shell script, or any other system that can send an HTTP request after a deployment finishes.
How it works
- You create a webhook on a test group in the TesterArmy dashboard.
- After your own CI deploys a preview, it
POSTs to the webhook URL with the commit SHA (and optionally the preview URL). - TesterArmy runs the tests in the group against that URL and posts a GitHub check run back on the commit.
1. Generate the webhook
- Open your project → Tests tab.
- Expand the test group you want to run on each deploy.
- Click the trigger badge (lightning icon) and toggle Enable webhook on.
- Copy the URL that’s shown - the secret is only revealed once.
The URL looks like:
Store it as a secret in your CI system. See Group Webhooks for the full reference (rate limits, mobile overrides, response format).
2. Trigger it from your CI
Call the webhook after your deployment step. Pass commitSha so results link back to the PR on GitHub, and targetUrl if you need to override the URL under test.
GitHub Actions
GitLab CI
Any shell
Payload fields
Results
- GitHub - a commit check run on the SHA appears in the PR checks tab.
- TesterArmy dashboard - full run details with screenshots and logs.
For a walkthrough focused on a staging environment, see Testing Staging Environment.
Troubleshooting
No check run on the PR
- Missing
commitSha- the webhook runs tests, but can’t post to GitHub without it. - GitHub App not connected - verify installation in Project Settings.
- Permissions - the GitHub App needs Checks: Read & Write.
401 Unauthorized
The webhook ID or secret is wrong. Regenerate the webhook on the group and update your CI secret.
403 Forbidden
The webhook is disabled. Open the group’s trigger panel and toggle Enable webhook back on.
Tests run against the wrong URL
Tests use targetUrl from the payload if provided, otherwise the URL configured in your project settings. Check both.

