您可以使用SCR的API来获取默认分支。根据您使用的SCR,对API的调用将有所不同。 在GitLab中,您可以查询API,在响应中,您将找到包含此信息的default_branch字段 GET /projects/:id 在GitHub中,你可以查询Repositories REST API,在响应中你会发现一个包含此信息的default_branch字段。 GET /repos/:owner/:repo 注意GitHub响应,因为它包含3个名为default_branch的字段,一个用于实际的存储库,一个用于父存储库,最后一个用于源存储库,您要查找json根目录下的字段,也就是您要查询的存储库的字段。
3条答案
按热度按时间ltqd579y1#
这是Gitlab & co使用Remote HEAD来标记“默认分支”的一个变通方法,我们可以使用“git ls-remote -q --symref”来获取远程引用。
远程头将是第一行,所以我们可以选择管道头为-1的第一行。这给了我们“默认分支”的哈希。
rta7y2nd2#
自分支API插件版本2.6.4(5月发布)以来,Jenkins多分支管道现在可以访问
BRANCH_IS_PRIMARY
环境变量:对于一个多分支项目,如果SCM源报告正在构建的分支是一个主分支,则将其设置为
"true"
;否则不设置。这意味着您现在可以改为执行以下操作:
请注意,您必须将其作为
env
的属性访问,或者使用字符串插值(即“$分支_IS_PRIMARY”),因为BRANCH_IS_PRIMARY
可能未设置(参见讨论)。7hiiyaii3#
您可以使用SCR的API来获取默认分支。根据您使用的SCR,对API的调用将有所不同。
在GitLab中,您可以查询API,在响应中,您将找到包含此信息的
default_branch
字段GET /projects/:id
在GitHub中,你可以查询Repositories REST API,在响应中你会发现一个包含此信息的
default_branch
字段。GET /repos/:owner/:repo
注意GitHub响应,因为它包含3个名为
default_branch
的字段,一个用于实际的存储库,一个用于父存储库,最后一个用于源存储库,您要查找json根目录下的字段,也就是您要查询的存储库的字段。