Frequently Asked Questions
The TestNod homepage has its own FAQ for prospective users. This page answers the questions that come up once you've started uploading JUnit XML reports to TestNod.
What CI systems does TestNod support?
TestNod works with any test framework that produces a JUnit XML report. Examples of compatible frameworks include RSpec, pytest, JUnit, Cypress, Playwright, Jest, and Go test. The dedicated CI integration recipes today cover GitHub Actions, and the Generic CI / curl recipe works with any other provider. Recipes for GitLab CI, CircleCI, Jenkins, and Buildkite are on the way.
Is my test data secure?
Yes. All data is encrypted in transit and at rest. TestNod only stores the test metadata provided by the JUnit XML reports, such as test names, durations, and pass/fail status. Your source code and build artifacts are never sent.
How long does it take to set up?
The Quickstart walks through the full setup, which typically takes about five minutes when your test framework already produces a JUnit XML report. You add a short step to your CI configuration that uploads the report, so there's nothing to change about your tests themselves.
Not every test framework writes JUnit XML out of the box. Some need a flag, an output formatter, or a third-party reporter library installed alongside the framework. Refer to your test framework's documentation for how to enable JUnit XML output, and see JUnit XML format for what TestNod expects in the report.
Where's my project token?
Open the project in TestNod, click Project Settings in the project header, then find the Project Token section. The token is the value in the Secret token field. See Authentication for storage and rotation.
Why is my run stuck in pending?
A run stays in pending until the /finalize call lands with the same build_id used for the uploads. The most common cause is that the finalize step never ran, or it ran with a different build_id than the uploads used. The Troubleshooting uploads page walks through how to fix it.
Why is my run stuck in processing?
The most common causes are a large JUnit XML file that takes longer to parse, a file that is not valid XML, or a file in a non-JUnit format despite the .xml extension. The Troubleshooting uploads page covers each case.
Why didn't I get an alert email?
A few possible reasons:
- The alert is snoozed, so the check still runs but email is suppressed. See Snoozing and disabling alerts.
- The alert is disabled, so no events are recorded and no notifications go out.
- The 24-hour cooldown is in effect. After a notification fires, the next one for the same alert is delayed at least 24 hours.
- You opted out of this project's alert type. Check your notification preferences page.
- The run did not reach the
processedstate. Alert checks only run after that transition.
Why didn't my run show up in the dashboard?
Check the upload response code:
404means the project token is wrong or the secret is missing in CI.422means the request reached the project but the parameters were malformed, commonly becausemetadata.build_idwas not sent.201means the run is recorded. If it does not appear, double-check that you are looking at the right project.
Does TestNod modify my tests or CI logs?
No. The upload step sends your JUnit XML report to TestNod after your tests finish. Your tests, assertions, and the rest of your CI pipeline stay exactly the same.
How does alerting work?
When a test run finishes processing, TestNod compares it against the last 20 processed runs that share the same set of tags. If the comparison crosses the threshold you set, TestNod records an alert event and emails the project members who haven't opted out. Current alert types cover performance regressions, test flakiness, and skipped-test count creep. The Alerts section has the full mechanics.
What does it cost?
TestNod is currently in private beta and pricing is still being worked out. A free tier with a limit on test runs is planned, with paid plan details to follow.
Can my whole engineering team use it?
Yes. Every organization in TestNod supports multiple members, and you can add as many projects as you need under a single organization. Members and admins share the same view of every project and alert.