从curl发送XML结果的最佳方法

时间:2019-06-03 17:48:14

标签: jenkins groovy slack

我们有一个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

0 个答案:

没有答案