詹金斯管道:如何从管道内部禁用当前作业?

时间:2020-02-05 00:33:05

标签: jenkins jenkins-pipeline

是否可以从管道内部禁用Jenkins作业?
我非常频繁地使用{Disable Failed Job}插件https://plugins.jenkins.io/disable-failed-job,这样当Jenkins作业失败时,它会自动被禁用。 这对于我拥有的工作流程很方便。

不幸的是,此插件不适用于Jenkins Pipeline。

1 个答案:

答案 0 :(得分:0)

Stuart Rowe帮助我提出了以下建议:

pipeline {
    agent any
    stages {
        stage('disable build') {
            steps {
                script {
                   // See:
                   //    https://ci.jenkins.io/pipeline-syntax/globals#currentBuild
                   //    https://javadoc.jenkins.io/plugin/workflow-support/org/jenkinsci/plugins/workflow/support/steps/build/RunWrapper.html
                   //    https://javadoc.jenkins.io/jenkins/model/ParameterizedJobMixIn.ParameterizedJob.html#setDisabled-boolean-

               currentBuild.rawBuild.getParent().setDisabled(true)

                }
            }
        }
    }
}