allure-framework / allure-framework/allure3

Allure 3 core ignores historyId supplied in Allure result files

Open Beginner friendly
#925 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
401
Forks
58
Avg merge
2d 20h
Merged PRs (30d)
34

Description

Allure 3 reads the historyId from an Allure-compatible *-result.json file, but core subsequently discards it and recalculates another value from the test case ID and parameters.

This means integrations that calculate or manually override historyId cannot control history and retry grouping.

See https://github.com/allure-framework/allure3/blob/8d46218c90f93442ffaf86ee3ca5f026f1c590d3/packages/core/src/store/convert.ts#L86

The documentation describes historyId as a property stored in the result file and says that framework integrations calculate it:

https://allurereport.org/docs/history-and-retries/
> The history ID is automatically calculated by your framework's Allure integration. With some limitations and exceptions, discussed in the linked article, each integration assigns the history ID based on two factors:
>
> the test's fully-qualified name,
> the test's non-excluded [parameters](https://allurereport.org/docs/v3/readability/#parametrized-tests).
>
> https://allurereport.org/docs/how-it-works-test-result-file/#historyid-string

For context is I am writing a custom integration and generating the results.json files and historyids based on labels used for sorting and filtering. The generated historyId is ignroed and historyID calculated only from parameters. I can work around this by adding the labels as parameters as well, but it seems like there is currenrly no point in an integration calculculating it's own historyId for each results.json if it will always be calculated based on the test name and non-excluded parameters.

Contributor guide

Open the contributing guide

Research direction

Start in packages/core/src/store/convert.ts at the linked line and trace how historyId is read from an Allure result file and later converted. Use the historyId documentation and a result JSON with a custom value to verify that report history and retry grouping honor the supplied value instead of recalculating it.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
testing-qa
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.