Getting your test results into Projektor takes three steps: run the server, make sure your tests write JUnit XML results, and add a publisher to your build.
The Projektor server is a single Java application backed by a Postgres database.
Download the latest projektor-server-<version>.jar from the
releases page. The server requires Java 21+.
Point it at your Postgres database and start it:
DB_URL=jdbc:postgresql://localhost:5432/projektordb \
DB_USERNAME=<username> \
DB_PASSWORD=<password> \
java -jar projektor-server-<version>.jar
Open http://localhost:8080 to check that it’s running.
See the server page for all the configuration options, such as requiring a publish token or storing attachments.
Projektor reads test results in JUnit’s XML format, which most test frameworks can write:
Test tasks (JUnit, Spock, Kotest, etc.) write JUnit XML out of the boxjest-junit reporter - see Jest testsPick the publisher that fits your project:
| Publisher | Best for |
|---|---|
| Gradle plugin | Gradle projects - collects test results and Jacoco/Kover coverage automatically |
| Node script | JavaScript projects, or any project that can run npx |
| GitHub Action | Any project built with GitHub Actions, with no changes to the project itself |
For example, with the Gradle plugin all you need is:
plugins {
id "dev.projektor.publish" version "11.0.1"
}
projektor {
serverUrl = "https://projektor.example.com"
}
Now when your tests run in CI (or fail locally), the publisher sends the results to Projektor and logs a link to the report.
Once your results are in Projektor, you can add more context to your reports: