allure-framework / allure-framework/allure2
Error to generate Allure report trying to use XRAY integration
- 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
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