Job type: Declarative pipeline and also a simple Maven-type job.
Allure plugin version: 2.26.0
Allure commandline version: 2.6.0
Problem description
The Jenkins plugin seems unable to generate the report. This doesn't happen everytime but I haven't managed to narrow it down to a specific test case that might be wrong on our end or to a specific set of circumstances.
I'm not sure how much more details I can give since I don't really understand what's happening. The suite runs as expected and the test results are generated but when jenkins invokes the command line to create the report it just fails with a nullPointerException.
At first I thought there was an issue with some of our tests but after 20+ back-to-back runs I don't see a pattern. Around half the reports are correctly generated. The other half doesn't have any test fail that are common throughout all runs and even have a couple in which our 550+ tests all passed successfully but it still failed in the end.
what were you doing
-- Executing a test suite using Jenkins + Maven.
what was expected
-- The Allure report should be correctly generated.
what occurred finally
-- Received Can not generate Allure Report, exit code: 1 on the console.
Logs & Traces
Exception in thread "main" java.lang.NullPointerException
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:152)
at io.qameta.allure.allure2.Allure2Plugin.lambda$convert$7(Allure2Plugin.java:179)
at io.qameta.allure.allure2.Allure2Plugin$$Lambda$86/912672706.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:107)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:179)
at io.qameta.allure.allure2.Allure2Plugin.lambda$convert$8(Allure2Plugin.java:180)
at io.qameta.allure.allure2.Allure2Plugin$$Lambda$87/1785397234.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:107)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:180)
at io.qameta.allure.allure2.Allure2Plugin.lambda$convert$4(Allure2Plugin.java:117)
at io.qameta.allure.allure2.Allure2Plugin$$Lambda$97/1374754488.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:107)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:117)
at io.qameta.allure.allure2.Allure2Plugin.lambda$getBefore$14(Allure2Plugin.java:246)
at io.qameta.allure.allure2.Allure2Plugin$$Lambda$96/1288235781.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:107)
at io.qameta.allure.allure2.Allure2Plugin.getBefore(Allure2Plugin.java:246)
at io.qameta.allure.allure2.Allure2Plugin.lambda$convert$2(Allure2Plugin.java:99)
at io.qameta.allure.allure2.Allure2Plugin$$Lambda$95/1997353766.apply(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at io.qameta.allure.allure2.Allure2Plugin.getStages(Allure2Plugin.java:240)
at io.qameta.allure.allure2.Allure2Plugin.convert(Allure2Plugin.java:99)
at io.qameta.allure.allure2.Allure2Plugin.lambda$readResults$0(Allure2Plugin.java:67)
at io.qameta.allure.allure2.Allure2Plugin$$Lambda$71/1760126453.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at io.qameta.allure.allure2.Allure2Plugin.readResults(Allure2Plugin.java:67)
at io.qameta.allure.ReportGenerator.lambda$readResults$0(ReportGenerator.java:32)
at io.qameta.allure.ReportGenerator$$Lambda$35/873610597.accept(Unknown Source)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at io.qameta.allure.ReportGenerator.readResults(ReportGenerator.java:32)
at io.qameta.allure.ReportGenerator$$Lambda$32/902830499.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:54)
at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:43)
at io.qameta.allure.Commands.generate(Commands.java:89)
at io.qameta.allure.CommandLine.run(CommandLine.java:129)
at io.qameta.allure.CommandLine$$Lambda$1/1830712962.get(Unknown Source)
at java.util.Optional.orElseGet(Optional.java:267)
at io.qameta.allure.CommandLine.main(CommandLine.java:72)
ERROR: Build step failed with exception
ru.yandex.qatools.allure.jenkins.exception.AllurePluginException: Can not generate Allure Report, exit code: 1
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:296)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:218)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:754)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:700)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:645)
at hudson.model.Run.execute(Run.java:1749)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Build step 'Allure Report' marked build as failure
Notifying upstream projects of job completion
Finished: FAILURE
Issue
Context
Jenkins version: 2.89.5.1
Job type: Declarative pipeline and also a simple Maven-type job.
Allure plugin version: 2.26.0
Allure commandline version: 2.6.0
Problem description
The Jenkins plugin seems unable to generate the report. This doesn't happen everytime but I haven't managed to narrow it down to a specific test case that might be wrong on our end or to a specific set of circumstances.
I'm not sure how much more details I can give since I don't really understand what's happening. The suite runs as expected and the test results are generated but when jenkins invokes the command line to create the report it just fails with a
nullPointerException
.At first I thought there was an issue with some of our tests but after 20+ back-to-back runs I don't see a pattern. Around half the reports are correctly generated. The other half doesn't have any test fail that are common throughout all runs and even have a couple in which our 550+ tests all passed successfully but it still failed in the end.
Can not generate Allure Report, exit code: 1
on the console.Logs & Traces