Skip to main content
QA.tech connects to GitHub in two ways. They can be used together. This page is the install and settings reference for the GitHub App. How a review starts, what it posts, and the check it creates are on GitHub pull request testing. What a review does on every CI is on How a review works.

Pull request testing

The GitHub App and the Change Review Action review a pull request.

Regression testing

The Test Run Action runs a test plan.

How to Set It Up

1

Install GitHub App

Go to Settings → Organization → Connections and add the GitHub App connection. Follow the OAuth flow to grant access to your repositories.
2

Configure Repository

Navigate to Settings → Integrations and select the repository you want to enable PR reviews for. PR reviews are enabled automatically once you select a repository. Optional: Add review context to guide the agent (e.g., “Focus on security vulnerabilities” or “Validate accessibility standards”). This appears in the integration settings.
3

Code access (on by default)

Saving a new repository mapping turns Enable code access on. Chat and PR reviews can then clone and search source. Turn the toggle off if you do not want cloning. Existing mappings created before this default stay off until you enable them. See Code access.
4

Configure Preview Deployments (if needed)

If you use Vercel, Netlify, Render, Railway, or Fly.io, your preview deployments are detected automatically.
QA.tech creates preview environment records in your project when it detects your preview deployments. Your CI/CD platform handles the actual deployment. QA.tech tests against the preview URLs. See Preview Environments.
For GitHub Actions or other custom CI/CD: QA.tech finds preview URLs through GitHub’s Deployments API. After your workflow deploys, it must create a deployment on the PR head commit, set the latest status to success, and put the preview URL in environment_url. Follow GitHub Deployments for the Actions recipe, required fields, and permissions. Any CI that can call the GitHub REST API can create the same records. For multiple applications per PR, map deployment environments under Map environments to applications. Without GitHub deployments, QA.tech cannot test against PR-specific URLs and uses your default environment.
5

Open a pull request

The App reviews pull requests on the mapped repository. How reviews start and what they post is on GitHub pull request testing.

Permissions

The App needs write access to pull requests and statuses so it can post comments, the review, and the QA.tech / PR Review check. It only writes when tests run or when the organization is out of credits. The full list of what it posts is on What the GitHub App posts.

PR Review check on GitHub

The App registers a check run named QA.tech / PR Review on pull request commits. You can require it in branch protection. When the check appears for each trigger is on PR Review check.

Integration settings

Configure these under Settings → Integrations → GitHub App for the repository:

Code access

Code access is on by default for new GitHub App repository mappings. When it is on, chat and PR reviews can clone repositories the GitHub App can access and search source when the knowledge graph or a PR diff is not enough. If you mapped a repository before this default, turn on Enable code access on the same page. You can turn it off at any time.

Enable or disable code access

1

Map a GitHub repository

Under Settings → Integrations → GitHub App, select a repository and click Save. New mappings turn Enable code access on automatically. The toggle appears after the mapping exists.
2

Adjust Enable code access

Use Enable code access to turn cloning on or off. The toggle saves immediately; you do not need to click Save again.
Once enabled:
  • Chat and PR reviews clone the mapped repository by default. Sibling repositories the GitHub App installation can access need no extra mapping.
  • A scan of the mapped repository starts and adds a Code gating facts (from repository) item to Settings → Knowledge → Library (auth classes, feature/plan flags, and setup preconditions). Scan status appears under the toggle. Use Scan or Re-scan to run it again, or View in library to open the item.
  • Source search is available in the AI Chat Assistant and during PR reviews.
The GitHub App must have access to each repository you want cloned. Turn Enable code access off to stop cloning. Knowledge items already in the library stay until you remove them.

Troubleshooting

PR reviews aren’t posting
  • Verify the GitHub App is installed and has access to the repository.
  • Check that the repository is selected under Settings → Integrations → GitHub App.
  • Check that the pull request has user-facing changes. Docs-only and infra-only pull requests are skipped.
  • A 403 Forbidden means the App lacks write access to pull requests or statuses. See Permissions.
Tests run against the wrong URL
  • Map GitHub environments to applications in Settings → Integrations → GitHub App → Mapped GitHub Environments. See Map environments to applications.
  • Verify your CI creates GitHub deployment records with environment_url set to the preview URL. See GitHub Deployments.
  • Check that environment names match between GitHub and QA.tech.
Chat or reviews cannot search source code Turn on Enable code access under Settings → Integrations → GitHub App. See Code access.