如何通过Azure DevOps API查找YAML管道的执行分支?
如何通过Azure DevOps API查询YAML管道的执行分支
可以通过Azure DevOps REST API直接查询YAML管道关联的目标分支,无需遍历所有分支拉取YAML文件,能显著提升效率。
核心API用法
单管道查询:调用
Pipelines - Get接口,响应中configuration.repository.refName字段即为该管道手动选择的执行分支。
请求示例:GET https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}?api-version=7.1-preview.1响应里的
refName格式类似refs/heads/feature/test-branch,提取后就能得到具体分支名。批量查询项目内所有管道:如果要一次性获取多个管道的分支配置,使用
Pipelines - List接口并加上$expand=configuration参数,列表结果中会直接包含每个管道的分支信息。
请求示例:GET https://dev.azure.com/{organization}/{project}/_apis/pipelines?api-version=7.1-preview.1&$expand=configuration
注意点
- 用于调用API的个人访问令牌(PAT)需要拥有**Build (Read)**权限,否则会返回权限错误。
- 若管道是多分支触发配置(分支规则为
*),refName会显示为refs/heads/*,这种情况需要结合Pipelines - Get Runs接口查询该管道实际执行过的分支;但如果是固定单分支的管道,上述方法直接就能拿到手动选择的目标分支。
内容的提问来源于stack exchange,提问作者AndyE
相关产品推荐
相关产品推荐

