首页 > 解决方案 > Jenkins - 我如何将当前分支作为我的流水线脚本的一部分签出?

问题描述

我目前有一个从 GitHub 触发的 Jenkins 工作。

如何使用 Jenkins Pipelines 检查触发 Jenkins 作业的分支?

我一直在尝试使用类似的东西:

checkout([$class: 'GitSCM', 
branches: [[name: env.BRANCH_NAME]], 
doGenerateSubmoduleConfigurations: 
false, extensions: [[$class: 'RelativeTargetDirectory', 
relativeTargetDir: 'mytargetdirectory']], userRemoteConfigs: [[credentialsId: 'id-123', 
url: 'https://github.com/my/repourl']]])

在上面的示例中,env.BRANCH_NAME 被评估为 null。

但是,我不确定branches检查触发作业的分支的值应该是什么。

来自 GitHub 的有效负载包含:

  "ref": "refs/heads/branchname",

有没有办法从有效负载中提取此信息以获取分支名称?

对此的任何帮助将不胜感激!

标签: gitjenkins

解决方案


尝试使用 GIT_BRANCH 而不是 BRANCH_NAME


推荐阅读