如何通过PowerShell调用Azure DevOps API获取Pull Request的构建验证管道检查数量?
获取Azure DevOps PR中构建验证管道检查数量的可行方案
别用Get Pull Request API了,这个接口确实不包含检查相关的明细数据。你可以用Pull Request Checks API来实现需求,下面是具体方案:
核心API调用
直接调用获取PR关联检查的接口,它会返回该PR上所有状态检查的完整信息,包括构建验证管道的记录。
PowerShell实现代码
# 替换为你的实际参数 $orgName = "你的组织名称" $projectName = "你的项目名称" $repoId = "目标仓库的ID" $prId = "要查询的PR编号" $patToken = "你的Azure DevOps PAT令牌" # 生成认证信息 $base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$patToken")) # 构造API请求地址 $checksApiUrl = "https://dev.azure.com/$orgName/$projectName/_apis/git/repositories/$repoId/pullRequests/$prId/checks?api-version=7.0" # 发起请求 $checksResponse = Invoke-RestMethod -Uri $checksApiUrl -Headers @{Authorization = "Basic $base64Auth"} -Method Get # 统计构建验证管道的数量(过滤类型为build的检查) $buildValidationCount = ($checksResponse.value | Where-Object { $_.type -eq "build" }).Count # 输出结果 Write-Host "该PR中的构建验证管道检查数量: $buildValidationCount"
额外说明
- 如果你要统计的是已配置的构建验证规则数量(不是已运行的检查实例),可以改用策略配置API:
- 调用
_apis/policy/configurations接口,筛选type.id为0609b952-1397-4640-95ec-e00a01b2c241的配置(这个ID是构建验证策略的固定标识)。 - 再通过
targetRefName字段匹配到目标PR对应的分支,从而统计关联的规则数量。
- 调用
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

