首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发起拉取请求的GitHub分支机构名称

发起拉取请求的GitHub分支机构名称
EN

Stack Overflow用户
提问于 2017-12-12 22:24:09
回答 5查看 11.8K关注 0票数 16

我在Jenkins中使用多分支管道作业。

如何在GitHub中找到发起拉取请求的分支名称?

我正在使用/github-webhook/,还尝试了/ghprbhook/,并尝试了以下环境变量:GIT_LOCAL_BRANCHGIT_BRANCHghprbSourceBranch,但没有得到任何结果。

如果有什么建议,我很乐意尝试一下。

EN

回答 5

Stack Overflow用户

发布于 2019-03-16 14:20:26

CHANGE_BRANCH给出了PR的源分支的正确名称。

CHANGE_TARGET给出PR合并的目标名称

票数 18
EN

Stack Overflow用户

发布于 2017-12-14 00:22:30

有几个不同的参数,根据上下文很难找到正确的参数。

BRANCH_NAME

对于多分支项目,这将被设置为正在构建的分支的名称,例如,如果您希望从master部署到生产,而不是从功能分支;如果对应于某种更改请求,则名称通常是任意的(请参阅CHANGE_IDCHANGE_TARGET)。

这可以是分支名称(如分支构建中的分支名称)或其他标识符(如拉入请求Id)。文档很清楚这两种情况都可以,但如果您没有阅读完整的文档,这将是一种令人惊讶的行为。

other answer by MZ2010显示了一种可能用作结帐的方法。这可能取决于插件的版本,并且可能受到与上面相同的问题的影响。

代码语言:javascript
复制
def scmVars = checkout scm
def branchName = scmVars.GIT_BRANCH

获取它的方法是使用支持CHANGE_BRANCH环境变量的。这是在JENKINS-43418中添加的,如果您使用的是env.CHANGE_BRANCH,您应该能够引用它。不过,它在多分支作业中可能不可用。

票数 4
EN

Stack Overflow用户

发布于 2017-12-13 16:55:56

对于多分支管道,请使用:

代码语言:javascript
复制
env.BRANCH_NAME

用于访问分支机构名称。

编辑:如果你需要调试环境变量或者git变量,你可以尝试:

  1. access GIT变量

def scmVars =签出scm def branchName = scmVars.GIT_BRANCH

  • Print环境变量

sh("printenv")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47774926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档