如何在单个测试结果的Jenkins管道作业中调整slackSend?

时间:2016-10-25 15:19:01

标签: jenkins gradle spock jenkins-pipeline

在Jenkins管道工作中,我想为各个测试结果发送松弛通知。我有一个gradle构建运行spock测试,它生成一个包含测试结果的xml文件。有没有办法访问单个测试结果而无需解析xml文件?

类似的东西:

if(test_results.TEST1 == 'failure'){ 
    slackSend color: 'danger', message: "TEST1 Failed - ${env.JOB_NAME}
} 

1 个答案:

答案 0 :(得分:0)

您可以在build.gradle

中执行此操作
apply plugin: 'java'
ext {
    jenkinsFlag = System.properties['jenkins'] == 'true'
}
test {
    if (jenkinsFlag) {
        afterTest { TestDescriptor desc, TestResult result ->
            if (result.resultType == TestResult.ResultType.FAILURE) {
                slackSend color: 'danger', message: "$desc failed - ${env.JOB_NAME}"
            }
        }
    }
}

@see Test.afterTest(Closure)