CI integration

Bring Playwright, Cypress and JUnit results into Pipelines, and find flaky tests.

Pipelines shows your automated test results next to your manual testing. It covers pass and fail per run, comparison with the previous run, flaky-test detection and AI triage of failures.

Option 1: GitHub App (Playwright and Cypress)

  1. Integrations → GitHub: install the sqale GitHub App on your repository.
  2. In Project settings → GitHub, choose the repository for this project.
  3. Upload your test report as a workflow artifact. sqale processes each completed GitHub Actions run automatically.

Option 2: Upload results from any CI

Create a project API key (Project settings → API keys), then post results at the end of your pipeline.

JUnit XML (works with almost any test runner). Put the run details in the query string:

curl -fsS -X POST \
  "https://sqalehq.ai/api/v1/projects/$PROJECT_ID/ci-runs?branch=$BRANCH&commitSha=$SHA&repoFullName=acme/shop" \
  -H "Authorization: Bearer $SQALE_API_KEY" \
  -H "Content-Type: application/xml" \
  --data-binary @junit.xml

JSON:

{
  "branch": "main",
  "commitSha": "3f9c2a1",
  "repoFullName": "acme/shop",
  "workflowName": "e2e",
  "results": [
    { "testTitle": "[TC-42] user can log in", "testFile": "auth.spec.ts", "status": "passed", "durationMs": 1830 },
    { "testTitle": "checkout applies coupon", "testFile": "cart.spec.ts", "status": "failed", "error": "Expected 90, got 100" }
  ]
}

status is one of passed, failed, skipped, flaky.

Linking automated tests to test cases

sqale links each result to a test case by matching the test title (or the case's automation key). For an exact match, put the case's number in the test title as a tag, for example [TC-42] user can log in.

Flaky tests and triage

A test that passes and fails within the same run (for example on different browsers) is flagged as flaky and listed under Pipelines → Flaky tests. From any failure you can Report bug in one click, with an AI-drafted description.

Automatic triage is off by default. A project admin can turn it on under Project settings → CI triage. When it's on, every failed run is reviewed by the agent: it flags flaky tests, matches failures to known bugs, files new bugs for regressions and lists any existing bugs that should change, and the summary appears on the run's page. It runs as the admin who turned it on, and each triage uses AI credits.