我使用XmlSlurper尝试读取XML文件(特别是基于.Net的API中的Web.config),作为Jenkins管道的一部分。我似乎无法访问元素的任何属性。我得到的错误是:
No such field found: field groovy.util.slurpersupport.NodeChild primary
以下是我尝试将其分解为最简单的情况:
script {
def xml = """
<colors>
<color primary="true">Red</color>
<color primary="true">Yellow</color>
<color primary="true">Blue</color>
<color primary="false">Purple</color>
</colors>
"""
def colors = new XmlSlurper().parseText(xml)
echo "First Color: ${colors.color[0]}" //works fine
echo "First Color: ${colors.color[0]} Primary? ${colors.color[0].@primary}" //fails
}
我正在使用Jenkins 2.121.1。
感谢您的帮助。
答案 0 :(得分:3)
Try changing ${colors.color[0].@primary}
to ${colors.color[0]['@primary']}
答案 1 :(得分:2)
禁用“使用常规沙箱”。
问题的根源是通过Jenkinsfile编写的代码,我相信它始终在沙箱中运行。
如果未选中,则工作正常。 :)