繁体   English   中英

在teamcity中使用Git pull请求分支名称

[英]Git pull request branch name in teamcity


我配置了git pull请求我的teamcity服务器用于QA测试环境。 如果我使用TeamCity 功能分支集成 ,我可以使用此属性获取分支名称: %teamcity.build.branch%

使用pull请求时%teamcity.build.branch%属性返回拉请求号(1,2,3等)。

如何获取拉取请求分支名称?

参数teamcity.build.branch是一个逻辑分支,即它是与*匹配的分支规范的分支的一部分。

还有另一个参数teamcity.build.vcs.branch。<VCS root ID> ,其中包含完整的Git分支名称。 似乎这就是你需要的。

您可以在文档中阅读更多相关内容: http//confluence.jetbrains.com/display/TCD8/Predefined+Build+Parameters#PredefinedBuildParameters-BranchRelatedParameters

我不确定TeamCity中是否有类似于SYSTEM_PULLREQUEST_SOURCEBRANCH内容,但是您可以使用“逻辑分支名称”代替? 在TC中,这直接对应于您可能已在VCS根目录 - > 分支规范中添加的*占位符匹配的子字符串。

警告:一些文章建议你有一个额外的分支规范。 喜欢+:refs/pull/*/head+:refs/pull/*/merge 其结果是:如果“42”恰好是Pull Request id,则完整的ref名称将为refs/pull/42/head ,因此TeamCity将匹配并仅显示42作为(逻辑)分支名称。合并分支合并结果的构建。

解决此问题的一种方法是使星号匹配(PR)引用名称的足够长的子字符串对您有意义。 另一个是使用括号来包含更多的ref。 您的要求将取决于您的分支命名约定。

例:

默认分支:

 refs/heads/develop 

分支规格

 +:refs/(pull/*/merge) +:refs/heads/* 

...将显示分支,如pull/42/mergemasterhotfix/1.2.3等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM