@testream/junit-reporter
v1.2.7
Published
Convert JUnit XML from Maven, Gradle, and compatible tools to CTRF and publish results to Testream and Jira.
Maintainers
Readme
@testream/junit-reporter: JUnit XML test reporting for Jira
@testream/junit-reporter converts JUnit XML to CTRF and publishes the results to Testream as durable, Jira-visible test evidence. It works with Maven, Gradle, Java, and other tools that emit compatible JUnit XML without requiring teams to recreate automated tests as manual Jira cases.
What the reporter sends to Testream and Jira
- Passed, failed, skipped, and timed test results from JUnit XML
- Failure messages, stack traces, duration, and suite hierarchy
- Branch, commit, build, environment, and CI metadata, including merge-base data for pull-request comparisons
- Suite changes and historical trends for Jira and release reviews
For pull requests, the reporter uses an explicit TESTREAM_MERGE_BASE_SHA or provider-supplied merge-base metadata; otherwise it resolves git merge-base from the existing checkout without fetching. Keep history available (fetch-depth: 0 on GitHub Actions); if no merge base can be resolved, Testream falls back to execution-time comparison.
The original framework remains the execution source. Testream provides a consistent evidence model around the XML already produced by the pipeline.
Install and run in CI
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm install -g @testream/junit-reporter
- run: mvn -B test -Dmaven.test.failure.ignore=true
- run: |
testream-junit \
--api-key "${{ secrets.TESTREAM_API_KEY }}" \
--fail-on-errorBy default, testream-junit reads JUnit XML from target/surefire-reports/TEST-*.xml. Use --junit-path when Maven, Gradle, or another compatible test tool writes reports elsewhere.
JUnit XML evidence in CI/CD
Store TESTREAM_API_KEY as a protected secret. The command works in GitHub Actions, GitLab CI/CD, Azure Pipelines, Jenkins, and other command-based CI systems. Testream converts and publishes the report after the framework finishes.
Frequently asked questions
Do we need to recreate automated tests as manual Jira cases?
No. The framework that generated the JUnit XML remains the execution source. Testream adds Jira reporting without duplicate manual cases.
Is this limited to Java or JUnit itself?
No. It accepts compatible JUnit XML from Maven, Gradle, Java frameworks, and other test tools that emit the same report format.
