Integrations
Integration · Source & CI

Your GitHub repository is your test suite.

Install the vikingQA GitHub App on the repository that holds your Playwright tests. vikingQA reads the suite, runs it, and makes each change as a pull request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you. Your tests stay in your git.

Source & CI · Setup: three steps · Available on: Free, Team, Enterprise

Add guest checkout test
vikingqa/guest-checkout → mainChecks passed
tests/checkout/guest-checkout.spec.ts
import { test, expect } from '@playwright/test';

test('Guest checkout', async ({ page }) => {
  await test.step('Add a product', async () => {
    await page.goto('/products');
    await page.getByRole('button', {
      name: 'Add to cart'
    }).first().click();
  });
  await test.step('Check the cart', async () => {
    await expect(page.getByText('1 item'))
      .toBeVisible();
  });
});
Capabilities

What you can do with vikingQA and GitHub.

01Automatic

Use your suite as the test list

vikingQA reads your Playwright tests and lists them, with folders from your file paths and tags from your Playwright tags. It syncs on every push.

02The agent

Receive tests as pull requests

vikingQA commits the agent's work to a vikingqa/ branch and opens a pull request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you. Your branch protection and CI checks apply.

03You

Follow a branch per environment

Each environment follows a branch. Staging can run the tests on main while Production runs the tests on your release branch.

04The agent

Test what a pull request changes

The agent reads a pull request, its diff and the code around it. It tells you which tests the change affects and drafts the tests that are missing.

05You

Run on every push with GitHub Actions

One workflow file starts a batch and fails the check when a test fails. Make the check required, or put your deploy behind it.

How it works

Three steps.

01

Install the GitHub App

Start a new project in vikingQA and install the app on GitHub. Choose "Only select repositories" and select the repository with your tests. If you are not an owner of the GitHub organization, GitHub sends the request to an owner for approval.

02

Choose the branch

Name your first environment and choose the branch it follows. vikingQA reads the suite and shows the number of tests it found.

03

See your suite

Your tests are listed and ready to run. The first agent-written test arrives as a pull request.

Permissions

What vikingQA asks for, and why.

vikingQA does not request access to Issues, Actions, Secrets, Administration or organization members.

GitHub cannot limit write access to one branch, so vikingQA enforces the limit itself. vikingQA pushes only to branches whose name starts with vikingqa/. It never pushes to your default branch and never force-pushes. It deletes only its own merged or idle vikingqa/ branches. It merges its own pull request only when automatic merge is on for the project, and only into the branch the pull request was opened against. For a second guard, add a branch protection rule on your default branch.

Each access token is limited to the repository of the project that uses it. An organization owner can remove the app in GitHub at any moment. Access stops at once.

PermissionWhy vikingQA needs it
Metadata: readTo list the repositories you selected and their branches
Contents: read and writeTo read your tests, and to commit test files to vikingqa/ branches
Pull requests: read and writeTo open pull requests for agent-written tests, to merge them when automatic merge is on, and to read pull requests and diffs

Setup and availability

01

Setup

Three steps, no change in your repository

02

Who sets it up

A vikingQA admin and a GitHub organization owner

03

Available on

Free, Team, Enterprise

Setup guide in the docs Roadmap

Questions about the GitHub integration.

Can we install the app on one repository only?

Yes. Choose "Only select repositories" during the installation. vikingQA sees the repositories you select and no others.

Can vikingQA push to main?

No. vikingQA pushes only to vikingqa/ branches and opens a pull request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you.

We use GitLab. Is there the same connection?

Yes. GitLab is a repository source in the same way. Connect GitLab, select the project, and each change arrives as a merge request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you.

Do we need to add a package or a workflow to the repository?

No. The connection needs nothing in your repository. The GitHub Actions workflow is optional, for teams that want a check on each push.

Does our own GitHub Actions workflow still run the tests?

Yes. Run in the vikingQA cloud, or in your own CI: the tests are plain Playwright in your repository. Pull requests from vikingQA run your checks like any other pull request.

Does it work with GitHub Enterprise?

GitHub Enterprise Cloud works like github.com. Support for GitHub Enterprise Server, and private runners inside your network, are on our roadmap.

What does vikingQA read or store from our repository?

vikingQA reads the repository to list and run your tests at a commit. It stores the list of tests and their results. Your repository stays the only source of the test code.

Keep your Playwright. Add a colleague that writes more of it.

Connect a repository and see your suite in vikingQA in minutes.