You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API获取微软托管公共代理的流水线使用情况?

解决Azure Pipelines获取微软托管代理作业运行报表的思路
  • 试试用Pipeline Run Details API(作业层面数据):
    调用GET https://dev.azure.com/{org}/{proj}/_apis/build/builds/{buildId}/timeline?api-version=7.1-preview.1,这个接口返回的timeline数据里,每个type: "Job"的节点会带workerName和pool相关信息——比如pool对象里的name和isHosted属性,能直接关联到微软托管代理池。要是嫌遍历项目和构建麻烦,可以先批量拉取构建ID,再并行请求timeline接口,能节省不少时间。

  • 启用Azure Monitor Logs来查:
    给Azure DevOps组织开诊断设置,把Pipeline相关日志发到Log Analytics工作区,之后用Kusto查询直接聚合数据,比如:

    AzureDevOpsPipelineLogs
    | where PoolType == "Microsoft Hosted"
    | project BuildId, JobName, PoolName, StartTime, EndTime
    

    这种方式不用挨个遍历项目和构建,直接通过日志生成报表,适合长期统计。

  • 用Azure DevOps CLI简化操作:
    装完Azure DevOps CLI后,用az pipelines build show加--timeline参数就能拿到带代理信息的作业数据,写个脚本批量处理就行,比如:

    az pipelines build list --org https://dev.azure.com/{org} --project {proj} --query "[].id" | xargs -I {} az pipelines build show --id {} --org https://dev.azure.com/{org} --project {proj} --timeline --query "records[?type=='Job'].{JobName:name, PoolName:pool.name, IsHosted:pool.isHosted}"
    

    CLI能省掉自己写API请求的麻烦,适合快速验证或者自动化脚本。

  • 重新检查Service Hooks配置:
    之前可能没选对事件类型或者没开详细timeline,试试选Build completed事件,配置时勾选"Include detailed timeline"选项,这样webhook负载里就会包含作业的代理池信息了。

内容的提问来源于stack exchange,提问作者Dan Tracey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:40:54