使用脚本 jenkins 重新 运行 管道

Re-run a pipeline using script jenkins

我有一个管道,后面有一些详细信息

pipeline {
    parameters {
        booleanParam(name: 'RERUN', defaultValue: false, description: 'Run Failed Tests')
    }
    stage('Run tests ') {
        steps {
            runTest()
        }
    }
    post {
        always {
            reRun()
        }
    }
}

def reRun() {
    if ("SUCCESS".equals(currentBuild.result)) {
        echo "LAST BUILD WAS SUCCESS"
    } else if ("UNSTABLE".equals(currentBuild.result)) {
        echo "LAST BUILD WAS UNSTABLE"
    }
}

但我希望在“运行 测试”阶段执行后,如果某些测试失败,我想重新运行 管道,参数 RERUN 为 true 而不是 false。我怎样才能通过脚本而不是使用插件重播? 我无法在搜索中找到如何重新运行 使用参数,如果有人能帮助我,我将不胜感激。

首先您可以使用 post 步骤来确定作业是否不稳定:

post{
    unstable{
        echo "..."
    }
}

然后您可以像这样使用新参数触发相同的作业:

build job: 'your-project-name', parameters: [[$class: 'BooleanParameterValue', name: 'RERUN', value: Boolean.valueOf("true")]]