Skip to content

Projects

A project is a single test suite tracked by Nijam - Playwright, pytest, or Vitest - usually one per repository. It owns the runs, tests, artifacts, and history for that suite. An organization can hold as many projects as you need.

Every project has a stable Project ID (a UUID) shown in its settings. The reporter uses it to route uploads to the right project:

['@nijam/pw-reporter', {
apiKey: process.env.NIJAM_API_KEY,
projectId: 'b4fdfc06-76a2-4721-89eb-9d070add8a5a', // ← your project's UUID
}]

The Project ID isn’t a secret - it identifies where runs go. The API key is what authorizes the upload, so that’s the one you keep in CI secrets.

  • Runs - one per test-run invocation (e.g. playwright test, pytest, vitest run). See Runs & tests.
  • Tests - each test accumulates a history across runs, which powers flakiness scoring.
  • Failure detail - the error log and failing line for each failure, plus Playwright traces for failed/timed-out tests.
  • Test source - the test files the run executed, so the test detail view renders inline (opt-out with uploadSource: false).
  • Environments - an optional tag per run (staging, production, …) you can filter by.

A good default is one project per repository. If a single repo runs several independent suites you want to track separately, give each its own project (and its own projectId).

An admin can delete a project from its Settings → Danger zone (you confirm by typing the project’s name). This permanently removes the project and everything in it - every run, test result, and stored artifact (traces, screenshots, videos) - and can’t be undone. Deleting individual runs is also admin-only; see Runs & tests.