首页 > 解决方案 > 无法从 Jenkins 环境变量中读取 GIT commitId、Branch 和 URL

问题描述

当我从 build.gradle 访问时,我从下面的变量中获取“null”值。仅当代码作为 Jenkinsfile 中的 git checkout 阶段的一部分克隆到 Jenkins 工作区时,GITSCM 值才会为空。

System.getenv('GIT_BRANCH')

System.getenv('GIT_COMMIT')

System.getenv('GIT_URL')

stage ('Check Out') {
            steps {
                echo 'Check-Out code from SCM'
                echo "Git Name : ${env.APP_NAME}"
                checkout([$class: 'GitSCM',
                    branches: [[name: '**/${BRANCH}']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    submoduleCfg: [],
                    userRemoteConfigs: [[
                            credentialsId: 'GITHUB_KEY' ,
                            url: "git@github.com:tools-org/${env.APP_NAME}"]]])
            }
        }

您能否协助阅读结帐块以获取 build.gradle 中的 GIT(CommitId, branch, repo) 详细信息?

标签: gitjenkinsenvironment-variablesjenkins-pipeline

解决方案


这些应该分别作为和env.BRANCH_NAME可用。env.GIT_COMMIT_IDenv.GIT_URL

您可以发出例如sh "printenv | sort"查看所有变量。


推荐阅读