CI integration
Nijam is built to run in CI. You don’t pass commit, branch, PR, or author by hand — the reporter detects them automatically from your CI provider, so each run lands in history with full context.
What’s detected
Section titled “What’s detected”Commit, branch, PR number, CI run id, CI run URL, and the git author (email + name). Resolution order, per field:
- CI-specific environment variables (see below)
- Generic
GIT_*/BRANCH/COMMIT_SHAvariables - A
git log/git rev-parseshell-out - Empty (branch is left unset → the dashboard shows “No Branch Info”)
Supported providers
Section titled “Supported providers”Detected from GITHUB_SHA, GITHUB_REF_NAME, GITHUB_HEAD_REF, GITHUB_RUN_ID,
GITHUB_REPOSITORY, GITHUB_SERVER_URL.
name: e2eon: [push, pull_request]jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: 22 } - run: npm ci - run: npx playwright install --with-deps - run: npx playwright test env: NIJAM_API_KEY: ${{ secrets.NIJAM_API_KEY }}Detected from CI_COMMIT_SHA, CI_COMMIT_REF_NAME, CI_PIPELINE_ID, CI_MERGE_REQUEST_IID,
GITLAB_USER_EMAIL, GITLAB_USER_NAME, CI_COMMIT_AUTHOR.
e2e: image: mcr.microsoft.com/playwright:latest script: - npm ci - npx playwright test variables: NIJAM_API_KEY: $NIJAM_API_KEYDetected from CIRCLE_SHA1, CIRCLE_BRANCH, CIRCLE_BUILD_NUM, CIRCLE_PULL_REQUEST,
CIRCLE_BUILD_URL.
jobs: e2e: docker: [{ image: mcr.microsoft.com/playwright:latest }] steps: - checkout - run: npm ci - run: npx playwright test environment: NIJAM_API_KEY: $NIJAM_API_KEYDetected from BITBUCKET_COMMIT, BITBUCKET_BRANCH, BITBUCKET_PR_ID, BITBUCKET_BUILD_NUMBER,
BITBUCKET_REPO_FULL_NAME, BITBUCKET_GIT_HTTP_ORIGIN.
pipelines: default: - step: image: mcr.microsoft.com/playwright:latest script: - npm ci - npx playwright testOther CI systems
Section titled “Other CI systems”On a provider not listed above, set the generic variables and the reporter picks them up:
| Variable | Maps to |
|---|---|
COMMIT_SHA | commit |
BRANCH | branch |
CI_RUN_ID | CI run id |
CI_URL | CI run URL |
If none are set, the reporter still falls back to git, so local runs are attributed too. The full
variable list lives in the CI variables reference.
What you need to push runs
Section titled “What you need to push runs”To send runs and reports to Nijam, the reporter needs two things — set both in
playwright.config.ts:
projectId— which project to push to. Not a secret; it just identifies the project.apiKey— the only secret. Store it asNIJAM_API_KEYin your CI secrets and reference it viaprocess.env.NIJAM_API_KEY.
Everything else — commit, branch, PR, CI link, author — is detected automatically.