show, view, and query.
One niceeval exp produces all of these at once:
Choose the right way to report
Push to an external system with a Reporter
Configure the project’s default Reporters inreporters in niceeval.config.ts; an eval’s reporters are merged with them. For field descriptions, see the defineConfig reference.
A Reporter gets the results known during this run. The external system can receive a run summary, each Attempt’s result, or viewing links. To read the complete results, reopen the saved results with the Run ID from the receipt.
A Reporter cannot:
- treat data in the external system as NiceEval results;
- replace the verdicts, usage, assertions, or diagnostics NiceEval saves;
- make
query,show, orviewread data from the external system instead; - write the external system’s results back into
.niceeval/record.sqlite.
Output JUnit in CI
The most direct way to connect a CI platform is JUnit:Link later steps with the receipt
--json outputs this run’s NDJSON. The last line is the receipt, containing invocationId, createdRunIds, publicationCutoff, the start time, the end time, and completion. External automation can save the receipt, then open the matching Runs with createdRunIds:
pnpm --silent exec niceeval query discover to find the available queries.
Do not treat progress or diagnostic lines as a long-term result format. They only describe what is happening in this run.
Principles for connecting external systems
- External reporting uses only information known during this run.
- Credentials go in environment variables and are never written into any output.
- CI gates look at the exit status.
- Use the receipt’s
createdRunIdsto link external workflows with the results NiceEval saves. - When results need review, people open that Run with
showorview, and automated flows usequery.