我们有一个Jenkins管道,它向api /应用程序发送一个sh'curl'请求,以为我们运行特定的测试,而我们根据结果失败/通过构建。
我想做的是:解析从curl(XML文档)获得的信息,并通过Slack发送这些通知。
到目前为止,我所做的正是解析XML文档,能够在本地打印结果,但是当我尝试将此结果发送到slack时,我得到一个错误:我假设这是因为我保存了我的结果作为数组,当我尝试发送信息以使其松弛时无法引用该变量。
我的问题是:我们应该如何将XML结果发送到Slack,如何正确解析XML文件并将其发送到Slack?
我的代码段:
List <String> someString = new ArrayList<String>()
parsed = new XmlSlurper().parse("${workspace}/tmp/TESTS-results.xml")
parsed.testsuite.testcase.each { device ->
someString.add(device.@name)
someString.add(device.@time)
someString.add(device)
println deviceArr
println deviceArr.getClass()
}
parsed= XmlUtil.serialize(parsed)
return deviceArr
}
in field groovy.lang.GString.values
in object org.codehaus.groovy.runtime.GStringImpl@40198fcc
in field groovy.lang.Closure.delegate
in object org.jenkinsci.plugins.workflow.cps.CpsClosure2@4a4ae500
in field org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.closures
in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@5dd0e25c
in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@5dd0e25c
Caused: java.io.NotSerializableException: groovy.util.slurpersupport.Attributes