如果标记 "Skip default checkout",Jenkins 获取变量 GIT_URL 不可用

Jenkins get variable GIT_URL is not available if "Skip default checkout" is marked

如果我在 Jenkinsfile 中设置:

options { skipDefaultCheckout() }

然后在下面管道的步骤中,变量 ${env.GIT_URL} 出现不可用。例如无法完成步骤:

stage('Clean checkout') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: "master"]],
                         userRemoteConfigs: [[url: "${env.GIT_URL}"]]])
            }
        }

在这一步变量 ${env.GIT_URL} = null 由于生成控制台日志。

但是如果您启用返回默认结帐,则删除:

options { skipDefaultCheckout() }

然后 ${env.GIT_URL} 可用。这是预期的行为吗?我在禁用声明性结帐的管道中看不到 Git plugin variables

在我们的 Jenkinsfile 中,我们有

    options {
        skipDefaultCheckout true
    }

    environment {
        GIT_URL = 'git@github.com:mycompany/myproject.git'
    }

在此之后,变量 GIT_URL 可用并被填充。

这是预期的行为。资料来源:https://issues.jenkins.io/browse/JENKINS-66803?focusedCommentId=414193&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-414193