Send results from an unsupported technology
If your automation stack does not have a native Allure adapter, you can still send results to TestOps. The path is to convert your runner's output into the Allure result format and upload the generated files.
Before you build anything custom, check Allure Report adapters. A maintained adapter is usually the shortest path.
Decide what data you can export
Start with the output your test runner can already produce: a JSON report, XML report, log file, database row, or internal event stream.
At minimum, the converter needs enough data to produce one result per test:
- test name or stable identifier;
- execution status;
- optional message or error details;
- optional timing, parameters, links, labels, steps, and attachments.
Define the Allure result contract
Use the official Allure result file format as the target contract for your converter.
Keep the first version small and explicit. Define which fields your converter will write now, for example:
name;status;- stable identity fields;
statusDetailswhen the source contains an error message or stack trace;- labels, links, parameters, steps, and attachments only when the source data is reliable.
Put the generated files into allure-results.
Build the converter
Create a converter that reads the source report and writes Allure result files to allure-results.
The converter can run:
- after the test run, when the source report is complete;
- during the test run, if your runner exposes events that can be written as results.
Prefer the after-run approach first — the input and output files are both on disk, which makes debugging straightforward.
Open the generated allure-results directory and verify that each expected test has a corresponding result file before moving on.
Send the results
For a local check, run the tests and converter through allurectl watch:
ALLURE_ENDPOINT=<TestOps URL> \
ALLURE_TOKEN=<API token> \
ALLURE_PROJECT_ID=<project ID> \
allurectl watch -- <test command and converter>
For setup details, see Command-line tool - allurectl.
If the launch is empty or test cases look unstable between runs, review the converter output first — the issue is usually in the generated data, not in the TestOps connection.
Add the converter to CI
After the local check works, add the same allurectl watch command to your pipeline. For CI-specific setup, see Link launches to CI runs.