如果失败三次或更多次,如何禁用作业?

jan*_*jan 2 jenkins

如果失败了三次或更多次,我想禁用它.我发现这个解决方案立即禁用它.但我想等三次.

Pio*_*zmo 5

您可以从中获取以前的结果build.previousBuild.例如:

def failingForAtLeast(build, n) {
    def failed = build.result.isWorseThan(hudson.model.Result.SUCCESS );
    if( n <= 1 ) {
        return failed;
    } else if ( failed && build.previousBuild != null) {
        return failingForAtLeast(build.previousBuild, n-1);
    } else {
        return false;
    }
}

if ( failingForAtLeast(manager.build, 3) ) {
  manager.build.project.disabled = true
}
Run Code Online (Sandbox Code Playgroud)