Closed carstenartur closed 4 years ago
Looks like it is not latest version. Also, attach report file when reporting a bug.
Not sure what you mean, its jenkins 2.263. That is the latest jenkins version - maybe it does not include the latest violations-lib? Does this mean the slightly different tosca junit result file format is supposed to be supported?
Update the Warnings plugin. It uses this library. The stacktrace looks like you are using the Warnings plugin in Jenkins.
You mean I should checkout the Warnings plugin on github and modify it to use the latest version of the library? I already use the latest jenkins together with latest plugins... Here a slightly bigger section from the failing jenkins build
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Results)
[Pipeline] recordIssues
[JUnit] [-ERROR-] Parsing of file 'C:\Jenkins\workspace\toscapipeline\result.xml' failed due to an exception:
[JUnit] [-ERROR-] java.lang.RuntimeException: "classname" not found in "
</testcase>"
[JUnit] [-ERROR-] at se.bjurr.violations.lib.util.ViolationParserUtils.getAttribute(ViolationParserUtils.java:81)
[JUnit] [-ERROR-] at se.bjurr.violations.lib.parsers.JUnitParser.parseReportOutput(JUnitParser.java:42)
[JUnit] [-ERROR-] at edu.hm.hafner.analysis.parser.violations.AbstractViolationAdapter.parse(AbstractViolationAdapter.java:35)
[JUnit] [-ERROR-] [wrapped] edu.hm.hafner.analysis.ParsingException: Exception occurred during parsing
RuntimeException: "classname" not found in "
</testcase>"
java.lang.RuntimeException: "classname" not found in "
</testcase>"
at se.bjurr.violations.lib.util.ViolationParserUtils.getAttribute(ViolationParserUtils.java:81)
at se.bjurr.violations.lib.parsers.JUnitParser.parseReportOutput(JUnitParser.java:42)
at edu.hm.hafner.analysis.parser.violations.AbstractViolationAdapter.parse(AbstractViolationAdapter.java:35)
at edu.hm.hafner.analysis.parser.violations.JUnitAdapter.parse(JUnitAdapter.java:34)
at io.jenkins.plugins.analysis.core.model.FilesScanner.aggregateIssuesOfFile(FilesScanner.java:105)
at io.jenkins.plugins.analysis.core.model.FilesScanner.scanFiles(FilesScanner.java:89)
at io.jenkins.plugins.analysis.core.model.FilesScanner.invoke(FilesScanner.java:72)
at io.jenkins.plugins.analysis.core.model.FilesScanner.invoke(FilesScanner.java:30)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3122)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:375)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:118)
at java.lang.Thread.run(Thread.java:748)
[JUnit] [-ERROR-] at se.bjurr.violations.lib.util.ViolationParserUtils.getAttribute(ViolationParserUtils.java:81) [JUnit] [-ERROR-] at se.bjurr.violations.lib.parsers.JUnitParser.parseReportOutput(JUnitParser.java:42) [JUnit] [-ERROR-] at edu.hm.hafner.analysis.parser.violations.AbstractViolationAdapter.parse(AbstractViolationAdapter.java:35) [JUnit] [-ERROR-] at edu.hm.hafner.analysis.parser.violations.JUnitAdapter.parse(JUnitAdapter.java:34) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.aggregateIssuesOfFile(FilesScanner.java:105) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.scanFiles(FilesScanner.java:89) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.invoke(FilesScanner.java:72) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.invoke(FilesScanner.java:30) [JUnit] [-ERROR-] at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3122) [JUnit] [-ERROR-] at hudson.remoting.UserRequest.perform(UserRequest.java:211) [JUnit] [-ERROR-] at hudson.remoting.UserRequest.perform(UserRequest.java:54) [JUnit] [-ERROR-] at hudson.remoting.Request$2.run(Request.java:375) [JUnit] [-ERROR-] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) [JUnit] [-ERROR-] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [JUnit] [-ERROR-] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [JUnit] [-ERROR-] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [JUnit] [-ERROR-] at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:118) [JUnit] [-ERROR-] at java.lang.Thread.run(Thread.java:748) [JUnit] [-ERROR-] at edu.hm.hafner.analysis.parser.violations.AbstractViolationAdapter.parse(AbstractViolationAdapter.java:40) [JUnit] [-ERROR-] at edu.hm.hafner.analysis.parser.violations.JUnitAdapter.parse(JUnitAdapter.java:34) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.aggregateIssuesOfFile(FilesScanner.java:105) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.scanFiles(FilesScanner.java:89) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.invoke(FilesScanner.java:72) [JUnit] [-ERROR-] at io.jenkins.plugins.analysis.core.model.FilesScanner.invoke(FilesScanner.java:30) [JUnit] [-ERROR-] at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3122) [JUnit] [-ERROR-] at hudson.remoting.UserRequest.perform(UserRequest.java:211) [JUnit] [-ERROR-] at hudson.remoting.UserRequest.perform(UserRequest.java:54) [JUnit] [-ERROR-] at hudson.remoting.Request$2.run(Request.java:375) [JUnit] [-ERROR-] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) [JUnit] [-ERROR-] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [JUnit] [-ERROR-] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [JUnit] [-ERROR-] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [JUnit] [-ERROR-] at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:118) [JUnit] [-ERROR-] at java.lang.Thread.run(Thread.java:748) [JUnit] Searching for all files in 'C:\Jenkins\workspace\toscapipeline' that match the pattern '**/result.xml' [JUnit] -> found 1 file
You can open a bug on the plugin in Jenkins.
The stacktrace shows this is not the latest version of this libary, no such exception is thrown here: https://github.com/tomasbjerre/violations-lib/blob/master/src/main/java/se/bjurr/violations/lib/util/ViolationParserUtils.java#L81
If you want to file a bug on this library, you need to supploy the report-file you are trying to parse.
I already added a transcript of such a report-file in the first comment here. Unfortunately it is only visible when you edit the entry because github seems to suppress xml content. But the link in the first comment points to a page that contains such a content. I repeat it here: https://www.infometis.ch/smarter-reporting-jenkins-execution/ However, I can imagine that supporting tricentis tosca is not necessarily something that a free library is in charge of. So thanks so far for the information!
The output generated by Tricentis Tosca is not complete. It is missing the classname. You find an example at https://www.infometis.ch/smarter-reporting-jenkins-execution/
Something like this:
<?xml version="1.0" encoding="utf-8"?>