如何将Azure DevOps组织指标暴露至Admin项目仪表板?
在Azure DevOps Admin项目仪表板展示代理与作业指标(无需第三方工具)
核心方案:基于Azure DevOps Analytics API + 自定义/内置仪表板组件
无需依赖第三方exporter,完全用Azure DevOps原生能力即可实现需求,以下是具体可行路径:
1. 利用Analytics API获取所需指标
Azure DevOps Analytics API支持OData查询,可直接提取代理使用量、作业状态等数据,覆盖你需要的每日/每周/每月代理使用量、当前运行/排队作业数:
示例查询(OData)
- 查询过去30天每日已用代理数量(按代理池分组):
https://analytics.dev.azure.com/{orgName}/_odata/v3.0-preview/PipelineRunActivityMetrics ?$filter=PipelineRunStartedDate ge {startDate} and PipelineRunStartedDate le {endDate} &$groupby=PipelineRunStartedDate/Date,AgentPoolName &$aggregate=AgentUtilizationPercentage with max as MaxAgentUtilization, AgentCount with sum as TotalAgentsUsed
- 查询当前运行中与排队的作业:
https://analytics.dev.azure.com/{orgName}/_odata/v3.0-preview/PipelineRuns ?$filter=PipelineRunStatus eq 'InProgress' or PipelineRunStatus eq 'Queued' &$count=true &$select=PipelineRunStatus, PipelineName
调用这些API需通过个人访问令牌(PAT)认证,权限需勾选Analytics Read、Build Read。
2. 构建可视化仪表板组件
方式一:Power BI嵌入(推荐)
- 在Power BI Desktop中连接Azure DevOps Analytics API,导入上述查询的数据;
- 创建对应的可视化:
- 折线图展示每日/每周/每月的代理使用量趋势;
- 卡片组件展示当前运行、排队作业的实时数量;
- 将报表发布到Power BI服务,再通过Azure DevOps仪表板的Power BI小部件嵌入到Admin项目的仪表板中。
方式二:自定义HTML小部件
- 编写简单的HTML/JS脚本,调用Analytics API获取数据,用轻量图表库(如Chart.js)渲染可视化;
- 将脚本打包为符合官方规范的Azure DevOps自定义小部件;
- 上传小部件到组织的小部件库,添加到Admin项目的仪表板。
3. 利用内置小部件快速补充
部分指标可直接用Azure DevOps内置小部件实现,减少自定义开发:
- Pipeline Queue小部件:直接展示当前排队的作业数量与详情;
- Agent Pool Usage小部件:展示代理池的实时使用率(可结合时间维度筛选)。
权限与注意事项
- 需拥有组织级Analytics权限、Admin项目的仪表板编辑权限;
- API调用的PAT需配置足够的权限(至少包含
Analytics Read、Build Read); - 若需要实时数据,可设置API查询的刷新频率(Power BI支持自动刷新,自定义小部件可设置定时请求)。
内容的提问来源于stack exchange,提问作者AAtanasov
相关产品推荐
相关产品推荐

