- Discover pull requests and deployment previews.
- Read PR metadata and changed files for the exploration agent.
- Run a saved regression group, the exploration agent, or both.
- Create best-effort GitHub Check Runs and PR comments.
- Filter automatic runs by the PR’s target branch.
1. Install the GitHub App
- Open your TesterArmy project.
- Go to Integrations → GitHub.
- Select Install GitHub App.
- Choose the GitHub organization or account and grant access to the repositories TesterArmy should test.
- Return to TesterArmy and select Refresh if the installation is not shown yet.
2. Connect a repository
- Select the GitHub Installation.
- Select the Repository for this TesterArmy project.
- Optionally select a Target branch. Choose
main, for example, to run automatic tests only for PRs targetingmain. - Select Save connection.
3. Choose PR coverage
Open the project’s PR Testing tab and enable one or both modes:- Regression testing runs the enabled tests in a selected group.
- Exploration agent creates a plan for each PR from its code and metadata.
4. Connect preview delivery
Choose how TesterArmy receives the deployed URL:- Vercel for verified Vercel preview deployments.
- Netlify for Netlify deploy notifications.
- Coolify for Coolify deployment webhooks.
- Any CI or custom deployment when your pipeline creates the preview URL itself.
GitHub reporting behavior
GitHub reporting is best effort and does not block the TesterArmy run. Check Runs concludesuccess when all tests pass. By default, failed, cancelled, skipped, or mixed batches use a neutral conclusion with details in the check title and summary.
Saved regression groups and exploration runs can maintain separate PR comments because they report different kinds of coverage.
Blocking merges on failed tests
GitHub counts a neutral conclusion as passing, so with the default reporting a failed test never blocks a merge. Enable Block merges on failed tests in the project’s PR Testing tab (or setprTestingBlockMerge through the API) to conclude failed tests as failure instead. Then mark the TesterArmy checks you care about - TesterArmy / Exploration Test and TesterArmy / <group name> - as required status checks in your branch protection or ruleset. When several projects share the repository, each project’s checks carry a (<project name>) suffix; require the suffixed names.
Runs without a product verdict stay neutral even when the setting is on: environment- or setup-blocked runs, runs that crashed before reaching a verdict, cancellations, and PRs the exploration agent skipped. Because a check run only exists after a deployment TesterArmy accepted, a required check on a PR that never produces that deployment waits indefinitely - only mark a check required if every PR you want to merge triggers it.
Limitations
- The native integration supports GitHub.com. GitHub Enterprise Server cannot install this GitHub App flow.
- TesterArmy reads only the repository connected to the project.
- Automatic PR testing requires a deployed URL that TesterArmy’s hosted runners can reach.