我在Jenkins中使用多分支管道作业。
如何在GitHub中找到发起拉取请求的分支名称?
我正在使用/github-webhook/,还尝试了/ghprbhook/,并尝试了以下环境变量:GIT_LOCAL_BRANCH、GIT_BRANCH、ghprbSourceBranch,但没有得到任何结果。
如果有什么建议,我很乐意尝试一下。
发布于 2019-03-16 14:20:26
CHANGE_BRANCH给出了PR的源分支的正确名称。
CHANGE_TARGET给出PR合并的目标名称
发布于 2017-12-14 00:22:30
有几个不同的参数,根据上下文很难找到正确的参数。
BRANCH_NAME
对于多分支项目,这将被设置为正在构建的分支的名称,例如,如果您希望从master部署到生产,而不是从功能分支;如果对应于某种更改请求,则名称通常是任意的(请参阅CHANGE_ID和CHANGE_TARGET)。
这可以是分支名称(如分支构建中的分支名称)或其他标识符(如拉入请求Id)。文档很清楚这两种情况都可以,但如果您没有阅读完整的文档,这将是一种令人惊讶的行为。
other answer by MZ2010显示了一种可能用作结帐的方法。这可能取决于插件的版本,并且可能受到与上面相同的问题的影响。
def scmVars = checkout scm
def branchName = scmVars.GIT_BRANCH获取它的方法是使用支持CHANGE_BRANCH环境变量的。这是在JENKINS-43418中添加的,如果您使用的是env.CHANGE_BRANCH,您应该能够引用它。不过,它在多分支作业中可能不可用。
发布于 2017-12-13 16:55:56
对于多分支管道,请使用:
env.BRANCH_NAME用于访问分支机构名称。
编辑:如果你需要调试环境变量或者git变量,你可以尝试:
def scmVars =签出scm def branchName = scmVars.GIT_BRANCH
sh("printenv")
https://stackoverflow.com/questions/47774926
复制相似问题