Skip to main content
Start from a test plan. Use the API when you do not run GitHub Actions, GitLab CI, Bitrise, or Envoyer. Bitbucket, Azure DevOps, CircleCI, Jenkins, and a script on a server all work.

Set it up

Create a test plan

Pick the tests, then copy the plan short ID (pln_…).

Start Run API

POST /v1/run with testPlanShortId, plus URL or device overrides.

Wait for the result

Poll the run and fail the job when the result is not passed.

CLI

qatech run calls the same API. qatech status waits for the result.
API key setup and the short IDs are on Other CI (API).

What works over the API

What you can override on a run

  • Preview or staging URL: set applications[].environment.url. See Preview Environments.
  • Environment custom headers: attach auth or protection-bypass headers with customHeaders. See Environment custom headers.
  • Device preset: pass devicePresetShortId to test mobile, tablet, or desktop without another test plan. See Start Run API.
  • Slack channel: send results for one run to a different channel. See Per-run overrides.
  • Post-run automation: poll Get run to update a status page, call a webhook, or send an alert when the run finishes.

What this does not do

  • It does not post a pull request review. Use API pull request testing for that.
  • It does not require GitHub, GitLab, Bitrise, or Envoyer. Those guides are convenience wrappers around this call.
  • It does not schedule itself. Manage Schedules on the test plan runs it with no CI at all. See Manual and scheduled runs.