如何从子作业获取父Jenkins作业的名称和内部版本号

uklbhaso  于 2022-11-02  发布在  Jenkins
关注(0)|答案(1)|浏览(227)

我有一个构建流jenkins父作业,它带有一个DSL脚本,该脚本启动了一个构建流子作业,也带有一个DSL脚本。有没有办法(groovy API)在子作业中获取父作业的名称和构建号?

3pvhb19x

3pvhb19x1#

下面是用于获取上游作业详细信息的Groovy脚本。

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                script {

                        def cause = currentBuild.getBuildCauses('org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause')
                        if(cause.size() > 0) { // This is triggred by a upstream Job
                            def parentJobName = cause[0].upstreamProject
                            def parentBuildNumber = cause[0].upstreamBuild
                            echo "Parent JOb: $parentJobName"
                            echo "Parent Build Number: $parentBuildNumber"

                        }
                    }

               }
            }

        }
}

Update您可以在不传递Class的情况下获取所有原因。

def cause = currentBuild.getBuildCauses()

相关问题