Share a Robot Framework report
Robot Framework gets the artifact right and the distribution wrong — as
does every runner, because distribution was never the runner's job.
report.html is a genuinely good single-file report: run data embedded,
JavaScript inlined, opens anywhere with a browser. Then CI stores it as
robot-results.zip and the good part stops mattering.
The half-measures are familiar. Publish to a Jenkins Robot plugin page that only Jenkins users can see. Stand up a static bucket and maintain it. Or screenshot the failing keyword into Slack, which is what actually happens.
One curl, two files
robot --outputdir results tests/
# The body: report.html, self-contained and small.
REPORT_ID=$COMMA_REPORT_ID
curl -fsS -X PATCH \
"https://commareports.com/api/v1/reports/$REPORT_ID" \
-H "Authorization: Bearer $COMMA_API_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n --rawfile html results/report.html \
--arg title "Robot — build $BUILD_NUMBER" \
'{title: $title, html: $html}')"
# The drill-down: log.html and screenshots, as assets.
curl -fsS -X POST \
"https://commareports.com/api/v1/reports/$REPORT_ID/assets" \
-H "Authorization: Bearer $COMMA_API_TOKEN" \
-F "file=@results/log.html"
Two things make this hold up:
PATCH, notPOST. Each run appends a revision at the same URL, so the bookmark in the QA channel keeps working and any two runs can be diffed.- Body vs. assets.
report.htmlis the summary and stays under the 5 MB body cap.log.htmlis the detail and belongs in assets — 25 MB per file, 250 MB per report. Relative references from the report into the log are rewritten, so the drill-down still resolves.
Screenshots from SeleniumLibrary or Browser library go up the same way,
one -F "file=@..." each.
What the URL buys you
- Comments pinned to the failing keyword. Highlight the row, start a thread, and it survives the next twelve runs — see commenting on HTML.
- Readers with no CI seat. Release managers, support leads, the vendor whose integration you're testing. The sharing model is per report.
- A history that outlives artifact retention. Retention windows are measured in days; audits are measured in quarters.
- Slack on every run. A webhook on
revision.created.
Try it
Comma is free — unlimited reports, unlimited commenters, unlimited revision history. Wire one suite and stop unzipping.