如何在Azure DevOps中使用斜杠获取分支名称?

Azure Devops提供了两个变量,其中包含有关当前git分支名称的信息:$(Build.SourceBranchName)$(Build.SourceBranch)

虽然SourceBranch包含对分支的完整引用,但SourceBranchName应该仅包含分支的简称。

不幸的是,当分支名称包含斜杠(/时,此行为有点意外

+---------------------------------------------------------------------------------------------------------+
| Situation                     | Git branch name  | Build.SourceBranch          | Build.SourceBranchName |
|---------------------------------------------------------------------------------------------------------|
| branch name contains no slash | mybranch         | refs/heads/mybranch         | mybranch               |
| branch name contains slash    | release/mybranch | refs/heads/release/mybranch | mybranch               |
+---------------------------------------------------------------------------------------------------------+

斜杠之前的分支名称部分不被视为分支名称的一部分。我的同事指出,这是Azure Devops记录行为

Git回购分支或请求请求:引用中的最后一个路径段。例如,在refs / heads / master中,此值为master。在refs / heads / feature / tools中,此值为工具。

我不确定这种行为是否特别有用:我想检出分支,并需要分支名称包含斜杠。另外,如果将斜线之前的部分去掉,则实际路径可能会混乱,因为名称可能会含糊。

我需要包含斜杠的分支名称有没有简单的方法可以得到它?为了安全起见,我是否总是需要使用完整的引用?

帕特里克·卢

建立PR时,可以使用System.PullRequest.SourceBranchSystem.PullRequest.TargetBranch变量。

System.PullRequest.TargetBranch

作为拉取请求目标的分支。例如:refs/heads/master仅当构建由于分支策略影响的Git PR而运行时,才初始化此变量。

使用预定义的构建变量

此外,如果要使用完整路径或短路径,也可以根据需要定义自己的变量。

只需创建一个bash脚本,即可将较短的分支名称分配给变量。

# Bash script
BRANCH_NAME=$(echo "$(System.PullRequest.TargetBranch)" | awk -F/ '{print $NF}')
echo "##vso[task.setvariable variable=PullRequest_Target_Branch;]$BRANCH_NAME"

然后,您可以稍后在管道中引用$(PullRequest_Target_Branch)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在触发的管道中使用以前的Azure DevOps yaml管道名称?

来自分类Dev

如何在Azure DevOps中使用SharePointPnpPowerShellOnline PowerShell模块?

来自分类Dev

如何在Azure DevOps Yaml中设置默认分支?

来自分类Dev

如何在日志中获取分支名称?

来自分类Dev

如何在GitHub上获取分支名称?

来自分类Dev

如何在日志中获取分支名称?

来自分类Dev

如何在Azure CLI中使用变量

来自分类Dev

如何在Azure中使用新中继

来自分类Dev

如何在 sed 中使用反斜杠?

来自分类Dev

如何在python中使用ctypes获取Windows窗口名称

来自分类Dev

如何在Javascript中使用星期几的名称获取日期?

来自分类Dev

如何在String中使用此名称获取属性?

来自分类Dev

如何在Liferay中使用“角色名称”获取RoleId?

来自分类Dev

如何在javascript中使用名称值获取数组编号

来自分类Dev

JQuery:如何在类名称中使用小数获取文本?

来自分类Dev

如何在Azure DevOps中获取密钥仓库秘密输出

来自分类Dev

如何在Azure DevOps中获取所有存储库

来自分类Dev

如何在Azure Devops API中获取userId字段

来自分类Dev

如何在Azure DevOps中创建板?

来自分类Dev

如何使用 Java Api 在 Bamboo 中获取当前分支名称

来自分类Dev

如何在Azure DevOps中使用yaml从管道运行git命令

来自分类Dev

如何在不同的环境中使用Azure DevOps Pipeline发布ClickOnce应用程序?

来自分类Dev

Azure DevOps Pipeline构建代理:如何在程序集引用HintPath中使用或替换$(DevEnvDir)?

来自分类Dev

如何在我的Ansible Playbook中使用Azure DevOps服务器(TFS)预定义变量?

来自分类Dev

如何在Azure DevOps Server 2019本地中使用yaml模板参数?

来自分类Dev

如何在Azure Devops中使用Web挂钩从工作项中获得完成/剩余的价值?

来自分类Dev

如何在Azure DevOps中的另一个变量中使用变量

来自分类Dev

如何在不同的环境中使用Azure DevOps Pipeline发布Microsoft Forms(Office 365表单)?

来自分类Dev

如何在变量模板中正确使用Azure DevOps函数?

Related 相关文章

  1. 1

    如何在触发的管道中使用以前的Azure DevOps yaml管道名称?

  2. 2

    如何在Azure DevOps中使用SharePointPnpPowerShellOnline PowerShell模块?

  3. 3

    如何在Azure DevOps Yaml中设置默认分支?

  4. 4

    如何在日志中获取分支名称?

  5. 5

    如何在GitHub上获取分支名称?

  6. 6

    如何在日志中获取分支名称?

  7. 7

    如何在Azure CLI中使用变量

  8. 8

    如何在Azure中使用新中继

  9. 9

    如何在 sed 中使用反斜杠?

  10. 10

    如何在python中使用ctypes获取Windows窗口名称

  11. 11

    如何在Javascript中使用星期几的名称获取日期?

  12. 12

    如何在String中使用此名称获取属性?

  13. 13

    如何在Liferay中使用“角色名称”获取RoleId?

  14. 14

    如何在javascript中使用名称值获取数组编号

  15. 15

    JQuery:如何在类名称中使用小数获取文本?

  16. 16

    如何在Azure DevOps中获取密钥仓库秘密输出

  17. 17

    如何在Azure DevOps中获取所有存储库

  18. 18

    如何在Azure Devops API中获取userId字段

  19. 19

    如何在Azure DevOps中创建板?

  20. 20

    如何使用 Java Api 在 Bamboo 中获取当前分支名称

  21. 21

    如何在Azure DevOps中使用yaml从管道运行git命令

  22. 22

    如何在不同的环境中使用Azure DevOps Pipeline发布ClickOnce应用程序?

  23. 23

    Azure DevOps Pipeline构建代理:如何在程序集引用HintPath中使用或替换$(DevEnvDir)?

  24. 24

    如何在我的Ansible Playbook中使用Azure DevOps服务器(TFS)预定义变量?

  25. 25

    如何在Azure DevOps Server 2019本地中使用yaml模板参数?

  26. 26

    如何在Azure Devops中使用Web挂钩从工作项中获得完成/剩余的价值?

  27. 27

    如何在Azure DevOps中的另一个变量中使用变量

  28. 28

    如何在不同的环境中使用Azure DevOps Pipeline发布Microsoft Forms(Office 365表单)?

  29. 29

    如何在变量模板中正确使用Azure DevOps函数?

热门标签

归档