у нас есть конвейер Jenkins, который отправляет запрос sh 'curl' в api / приложение, чтобы выполнить специальные тесты для нас, и мы отказываем / пропускаем сборку в зависимости от результатов.
Что я хочу сделать: это проанализировать информацию, которую мы получаем из curl (XML-документ), и отправить эти уведомления через Slack.
То, что я до сих пор делал, это то, что, анализируя XML-документ, я могу печатать результаты локально, но когда я пытаюсь отправить этот результат на провал, я получаю ошибку: я предполагаю, что это потому, что я сохранил свой результаты в виде массива, и когда я пытаюсь отправить информацию, чтобы ослабить его не может ссылаться на переменную.
Мой вопрос: как мы должны отправлять результаты 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