Skip to content

Add Cucumber Messages reader - #1018

Open
andrcuns wants to merge 1 commit into
mainfrom
feat-messages-reader
Open

andrcuns wants to merge 1 commit into
mainfrom
feat-messages-reader

Conversation

@andrcuns

@andrcuns andrcuns commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Context

Add a reader for Cucumber Messages, the newline-delimited JSON format recommended by Cucumber. This enables Allure to read message streams directly alongside the existing Cucumber JSON format.

Closes #79.

Features

  • Accepts .jsonl and .ndjson files through the default report reader pipeline.
  • Correlates definitions and execution events by their IDs, producing a result for each execution, including interleaved executions and repeated attempts.
  • Maps scenario names, descriptions, feature and tag labels, outline parameters, source-based full names, and step names with Gherkin keywords.
  • Preserves scenario timestamps and measured step/hook durations in milliseconds.
  • Converts explicitly typed before/after scenario hooks into fixtures. Hooks without a type are represented as named steps.
  • Supports base64-encoded and plain-text execution attachments, doc strings with their declared media types, and data tables as CSV attachments.
  • Copies supplied error messages and stack traces directly. Status mapping follows the Cucumber JSON reader: PASSED/FAILED map directly, SKIPPED/PENDING become skipped, UNDEFINED/AMBIGUOUS become broken, and unknown statuses or unfinished executions remain unknown.
  • Ignores unsupported envelope types and reports parsing failures through the standard reader interface.

The implementation uses local schema types and existing reader APIs, with no new external dependencies. Allure core handles test/history identities and standard label processing.

Checklist

@github-actions

Copy link
Copy Markdown

Allure Report Summary

     Scope Duration Stats New Flaky Retry
     All tests 1h 21m 54s Passed tests⁠ 12564
Skipped tests⁠ 23
Unknown tests⁠ 12
75 0 7
     macos-latest 29m 12s Passed tests⁠ 4250
Skipped tests⁠ 6
Unknown tests⁠ 4
25 0 2
     ubuntu-latest 24m 41s Passed tests⁠ 4158
Skipped tests⁠ 6
Unknown tests⁠ 4
25 0 3
     windows-latest 28m 1s Passed tests⁠ 4156
Skipped tests⁠ 11
Unknown tests⁠ 4
25 0 2

Reports: Allure2, Awesome, Classic, Dashboard

Artifacts used (3)
Name Path
allure-results-macos-latest.zip allure-results-macos-latest.zip
allure-results-ubuntu-latest.zip allure-results-ubuntu-latest.zip
allure-results-windows-latest.zip allure-results-windows-latest.zip

@andrcuns
andrcuns marked this pull request as ready for review September 24, 2026 12:41

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement a Cucumber Messages reader

1 participant