Jenkins节点属性访问返回布尔值而不是值

时间:2019-06-05 11:19:11

标签: jenkins xml-parsing jenkins-pipeline jenkins-groovy xmlslurper

我正在尝试使用XmlSlurper在Jenkins管道中解析XML。

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
    <testsuite>
        <properties>
            <property name="outcome" value="Failed"/>
            ...
            <property name="orgWideCoverage" value="73%"/>
        </properties>
        ...

我尝试使用直接和地图表示法,并且两者都返回相同的结果。

def testsuites = new XmlSlurper().parseText(testResult)
def properties = testsuites.'**'.find { node ->
    node.name() == 'properties'
}

String outcome = properties.'*'.find { node -> 
    node.name() == 'property' && node['@name'] == 'outcome'
}['@value']
printf("Outcome: %s ", outcome)
String orgWideCoverage = properties.'*'.find { node -> 
    node.name() == 'property' && node['@name'] == 'orgWideCoverage'
}['@value']
printf("Coverage: %s ", orgWideCoverage)

我希望第一种情况下返回的值是Failure,而获得true

对于第二种情况,应为73%并且为false

0 个答案:

没有答案