分支“ 1850”被合并到分支“ dev”中。当合并到分支“ dev”时,管道触发。当发布成功或失败时,会有一个阶段将发送电子邮件以使用户知道重新发布的状态。从电子邮件中我看不出来是哪一个。因此,如何获取“ 1850”变量的分支名称。
更新至刘小波MSFT的答案:
答案 0 :(得分:1)
如何获取合并到触发管道的目标分支的分支名称?
您可以使用predefined variables System.PullRequest.SourceBranch
,它返回在请求请求中正在检查的分支。
作为测试,我添加了一个内联powershell任务来输出此变量:
Write-Host "The merged target branch is:-" $(System.PullRequest.SourceBranch)
然后我们可以得到的值为refs/heads/1805
。
我们可以使用命令行任务来解析该路径以获得分支名称:
set BranchName=$(System.PullRequest.SourceBranch)
for %%a in (%BranchName%) do echo %%~nxa
更新:
经我测试,使用以下代码对我而言效果很好:
Write-Host "##vso[task.setvariable variable=SourceBranchName;]$(System.PullRequest.SourceBranch)"
删除isOutput=true
。
然后,我可以通过命令行任务获取变量SourceBranchName
:
echo $(SourceBranchName)
根据您的错误,看来该错误来自您的Powershell任务本身或代理。因此,请尝试将托管代理与 Inline powershell 任务结合使用,以检查是否仍然存在此问题。
希望这会有所帮助。