allure-framework / allure-framework/allure2

Error to generate Allure report trying to use XRAY integration

Open
#2,078 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
HTML
Stars
5.5k
Forks
782
Avg merge
2d 33m
Merged PRs (30d)
16

Description

**Describe the bug**
When trying to generate allure report using Xray enabled there is an error thrown:

I'm using these Allure libraries:

"allure-decorators": "^2.4.0",
"allure-js-commons": "^2.4.0",
"allure-mocha": "^2.4.0"

Allure command-line version:
2.23.1

`allure generate allure-results`

```
Exception in thread "main" io.qameta.allure.jira.retrofit.ServiceException: Could not get request body
at io.qameta.allure.jira.retrofit.DefaultCallAdapterFactory$InstanceCallAdapter.adapt(DefaultCallAdapterFactory.java:113)
at retrofit2.HttpServiceMethod$CallAdapted.adapt(HttpServiceMethod.java:165)
at retrofit2.HttpServiceMethod.invoke(HttpServiceMethod.java:146)
at retrofit2.Retrofit$1.invoke(Retrofit.java:160)
at jdk.proxy3/jdk.proxy3.$Proxy20.getTestRunsForTestExecution(Unknown Source)
at io.qameta.allure.xray.XrayTestRunExportPlugin.getTestRunsInTestExecution(XrayTestRunExportPlugin.java:225)
at io.qameta.allure.xray.XrayTestRunExportPlugin.lambda$updateTestRunStatuses$1(XrayTestRunExportPlugin.java:106)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at io.qameta.allure.xray.XrayTestRunExportPlugin.updateTestRunStatuses(XrayTestRunExportPlugin.java:108)
at io.qameta.allure.xray.XrayTestRunExportPlugin.aggregate(XrayTestRunExportPlugin.java:97)
at io.qameta.allure.ReportGenerator.aggregate(ReportGenerator.java:53)
at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:70)
at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:58)
at io.qameta.allure.Commands.generate(Commands.java:103)
at io.qameta.allure.CommandLine.run(CommandLine.java:160)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at io.qameta.allure.CommandLine.main(CommandLine.java:92)
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (okhttp3.ResponseBody$BomAwareReader); line: 1, column: 2]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2477)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:750)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:674)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:2085)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:808)
at com.fasterxml.jackson.databind.ObjectReader._initForReading(ObjectReader.java:357)
at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2095)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1513)
at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:33)
at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:23)
at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:243)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:204)
at io.qameta.allure.jira.retrofit.DefaultCallAdapterFactory$InstanceCallAdapter.adapt(DefaultCallAdapterFactory.java:111)
... 22 more
``

Contributor guide

Open the contributing guide

Research direction

Start with the XrayTestRunExportPlugin.java call at getTestRunsForTestExecution (line 225), then follow updateTestRunStatuses and aggregate. Reproduce with Allure CLI 2.23.1 using `allure generate allure-results` and Xray enabled, and inspect the response that causes the Jackson parse error. Done means report generation completes without this exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, javascript
Domain
devtools, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.