我从jenkins管道开始Jenkins工作job_name1
。
build job: 'job_name1', parameters: [ string(name: 'name1', value: 'value1') ], propagate: false
作业job_name1
已被执行,并且已通过10次通过10次JUnit测试失败。
如何获得通过和未通过测试的数量? 我试过了:
import hudson.model.Run
import hudson.tasks.junit.TestResultAction
import org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
import hudson.model.Action
node("node_name")
{
def my_build = build(job: 'job_name1', parameters: [ string(name: 'name1', value: 'value1') ], propagate: false,)
defresults = (my_build as Run).getAction(TestResultAction)
def allTests = results.getResult()
def failedTests = results.getFailCount()
}
并获得以下错误
hudson.remoting.ProxyException: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper@7c845e2' with class 'org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper' to class 'hudson.model.Run'
我该怎么办? 是否有可能以不同的方式做到这一点?
答案 0 :(得分:0)
您应该致电RunWrapper#getRawBuild
以获取实际的Run
对象
defresults = my_build.rawBuild.getAction(TestResultAction)