如何在Azure DevOps Pipeline中用PowerShell获取触发运行的Shelveset编号
在Azure DevOps流水线中通过PowerShell获取触发运行的Shelveset编号(TFS仓库)
针对TFS仓库触发的Azure DevOps流水线,若流水线由Shelveset触发,可直接通过Azure DevOps预定义的环境变量获取Shelveset编号,具体方法如下:
核心方法:读取预定义环境变量
Azure DevOps为Shelveset触发的流水线提供了两个专属预定义变量:
BUILD_SOURCESHELVESETNAME:存储Shelveset的名称(即你需要的编号)BUILD_SOURCESHELVESETID:存储Shelveset的唯一标识ID
PowerShell代码示例
在流水线的PowerShell任务中,直接读取这些环境变量即可:
# 获取Shelveset编号(名称) $shelvesetNumber = $env:BUILD_SOURCESHELVESETNAME Write-Host "触发本次流水线的Shelveset编号:$shelvesetNumber" # 可选:获取Shelveset的唯一ID $shelvesetId = $env:BUILD_SOURCESHELVESETID Write-Host "Shelveset唯一ID:$shelvesetId"
判空处理(推荐)
若流水线存在多种触发方式,建议先判断变量是否存在,避免空值报错:
if (-not [string]::IsNullOrEmpty($env:BUILD_SOURCESHELVESETNAME)) { Write-Host "触发本次流水线的Shelveset编号:$($env:BUILD_SOURCESHELVESETNAME)" } else { Write-Host "本次流水线并非由Shelveset触发" }
内容的提问来源于stack exchange,提问作者prashant
相关产品推荐
相关产品推荐

