Jenkins 管道执行作业并获取状态

Rom*_*ger 1 dsl groovy jenkins jenkins-plugins jenkins-pipeline

pipeline {
agent { label 'master' }
stages {
    stage('test') {
        steps {
            script {
                def job_exec_details = build job: 'build_job'
                
                if (job_exec_details.status == 'Failed') {
                   echo "JOB FAILED"
                }
            }    
        }
    }
Run Code Online (Sandbox Code Playgroud)

} }

我有一个执行构建作业的管道,如何在詹金斯管道中获取作业结果?

Das*_*kar 5

应该是getResult(),而状态应该FAILURE不是Failed

所以你的整个代码应该是这样的

  pipeline {
    agent { label 'master' }
    stages {
        stage('test') {
            steps {
                script {
                    def job_exec_details = build job: 'build_job', propagate: false, wait: true // Here wait: true means current running job will wait for build_job to finish.
                    
                    if (job_exec_details.getResult() == 'FAILURE') {
                       echo "JOB FAILED"
                    }
                }    
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)