Jenkins 无法读取分支名称

Jenkins 无法读取分支名称,jenkins,groovy,gitlab,jenkins-pipeline,jenkins-groovy,Jenkins,Groovy,Gitlab,Jenkins Pipeline,Jenkins Groovy,读这个 在Jenkins中安装GitLab插件 下面的脚本能够读取正确的存储库名称,但错误的分支名称 node('worker_node'){ stage('stage1'){ def repoName = env.gitlabSourceRepoName println "Repository Name: " + repoName def repoUrl = env.gitlabSourceRepoURL print

读这个

在Jenkins中安装GitLab插件

下面的脚本能够读取正确的存储库名称,但错误的分支名称

node('worker_node'){

    stage('stage1'){

        def repoName = env.gitlabSourceRepoName
        println "Repository Name: " + repoName

        def repoUrl = env.gitlabSourceRepoURL
        println "Repository url: " + repoUrl


        def repoSshUrl = env.gitlabSourceRepoSshUrl
        println "Repository ssh url: " + repoSshUrl


        def repoHttpUrl = env.gitlabSourceRepoHttpUrl
        println "Repository http url: " + repoHttpUrl

        def branchName = env.gitlabSourceBranch
        println "Branch name: " + branchName
   }
}

编辑: 下面是GitLab上的设置:


我在GitLab存储库中有多个分支的webhook


在webhook上,为什么
branchName
总是给
master

根据中的文档,您应该使用:

“对于单个存储库工作流:origin/${gitlabSourceBranch}”

“对于分叉存储库工作流:合并请求/${gitlabMergeRequestIid}”


@过度交换请发布您的webhook设置。@Nick在中添加了webhook设置Query@overexchangejenkins gitlab插件的文档说明您使用此url格式
http://USERID:APITOKEN@JENKINS_URL/project/YOUR_JOB
并且您在“机密”字段中不输入任何内容,更多信息。@Nick但是webhook在任何情况下都是有效的,如果我点击webhook上的测试按钮。这和不能读懂branchname的问题有什么关系?你们如何测试并始终掌握它?如果只需按一个分支使用
env.gitlabSourceBranch
,则需要打开一个PR来使用
env.gitlabBranch
。此外,如果您的工作是管道多分支,那么这些变量将无法按照文档中的说明工作。