3-minute setup
Install
Pick your stack. Each path: install one package, set one env var, ship.
Prerequisite — get an API key
- Sign in at qlens.dev with GitHub (free).
- Go to /dashboard/keys → "Create API key" (Pro+ plans).
- Copy the
qlens_*value (shown once). Save asQLENS_API_KEYin CI secrets.
Jest
package →1. Install
npm install --save-dev @qlens/jest-reporter2. Configure — jest.config.js
module.exports = {
reporters: [
'default',
['@qlens/jest-reporter', {
sendCases: true, // optional, include per-case data
maxCases: 5000, // optional, hard cap
}],
],
};Playwright
package →1. Install
npm install --save-dev @qlens/playwright-reporter2. Configure — playwright.config.ts
import { defineConfig } from "@playwright/test";
export default defineConfig({
reporter: [
["list"],
["@qlens/playwright-reporter", {
sendCases: true,
maxCases: 5000,
}],
],
});Tests that pass on retry are counted as flaky (not passed). Surfaces as a flakiness trend on the dashboard.
pytest
package →1. Install
pip install qlens-pytest-reporter2. Configure — (no config — auto-registers via pytest11)
# Just install. Set env vars and run pytest as usual:
export QLENS_API_KEY=qlens_...
export GITHUB_REPOSITORY=owner/name
export QLENS_SEND_CASES=1 # optional
export QLENS_MAX_CASES=5000 # optional
pytestPlays nicely with pytest-rerunfailures: passes after a rerun are counted as flaky.
Or: just the PR comment (no install)
Want the per-PR test scenarios without the dashboard? Add the [QA Advisor GitHub Action](https://github.com/marketplace/actions/qa-advisor-pr-test-coverage-analysis) to .github/workflows/qa-advisor.yml:
name: QA Advisor
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
pull-requests: write
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: i-kosheliev/qa-advisor-action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
min-priority: nice-to-testLocal heuristic, no LLM, no API key. 25 change patterns.
CI envs we detect
- GitHub Actions —
GITHUB_REPOSITORY,GITHUB_SHA,GITHUB_REF_NAME(auto) - GitLab CI —
CI_COMMIT_SHA,CI_COMMIT_REF_NAME - CircleCI —
CIRCLE_SHA1,CIRCLE_BRANCH - Jenkins —
JENKINS_URL
Verify it worked
Run the test suite once with QLENS_API_KEY set. The reporter prints [qlens] uploaded N tests at the end. Then go to /dashboard and you'll see the run.
Bonus: README badge
After your first scan, embed the live grade in your repo README:
[](https://www.qlens.dev/scan/owner/repo)Related docs
- /docs/ci-ingest — full payload schema if you want to write a custom reporter
- /api/v1/openapi.json — machine-readable OpenAPI 3.1 spec
- /pricing — Free vs Pro vs Team