如何批量查询Azure DevOps组织内的提交总数及其他组织级使用统计指标
如何批量查询Azure DevOps组织内的提交总数及其他组织级使用统计指标
嗨,刚好之前帮团队搞定过类似的Azure DevOps组织级统计需求,确实官方没有直接的跨项目仪表盘能一次性展示这些数据,但有两个靠谱的办法可以实现,给你详细说说:
方法一:用Azure DevOps REST API 自己写脚本汇总
这是最灵活的方式,不管你用PowerShell、Python还是其他语言,都能通过API遍历所有项目,把各个指标攒起来。
具体步骤拆解:
先拿到组织里所有项目的列表
调用Projects接口获取所有项目的ID和名称,接口示例:GET https://dev.azure.com/{你的组织名}/_apis/projects?api-version=7.1-preview.4拿到项目列表后,就可以逐个处理了。
逐个项目查询各项指标
- 仓库总数:对每个项目调用仓库列表接口,看返回的
count字段就是该项目的仓库数:GET https://dev.azure.com/{你的组织名}/{项目ID或名称}/_apis/git/repositories?api-version=7.1-preview.1 - 分支总数:每个仓库都要查分支,接口里用
filter=heads只看主线分支,统计返回的条目数:GET https://dev.azure.com/{你的组织名}/{项目ID或名称}/_apis/git/repositories/{仓库ID}/refs?filter=heads&api-version=7.1-preview.1 - 提交总数:可以按时间范围筛选(比如查近一年),注意数据量大的时候要处理分页(用
$top和continuationToken参数):GET https://dev.azure.com/{你的组织名}/{项目ID或名称}/_apis/git/repositories/{仓库ID}/commits?searchCriteria.fromDate=2023-01-01&searchCriteria.toDate=2024-01-01&api-version=7.1-preview.1 - 拉取请求总数:调用PR接口,默认会返回所有状态的PR,统计总数即可,同样要注意分页:
GET https://dev.azure.com/{你的组织名}/{项目ID或名称}/_apis/git/pullrequests?api-version=7.1-preview.1
- 仓库总数:对每个项目调用仓库列表接口,看返回的
汇总所有项目的数据
把每个项目的各项指标加起来,就是整个组织的总统计了。
方法二:用Power BI 做可视化报表(不用写代码)
如果不想折腾脚本,Power BI是个不错的选择,官方支持直接连接Azure DevOps数据源,自动拉取跨项目数据做报表。
简单操作步骤:
- 打开Power BI Desktop,选「获取数据」→「Azure DevOps」,输入你的组织URL并登录授权。
- 选择要导入的数据实体:Projects、Repositories、Git Commits、Pull Requests这些都选上。
- 在数据模型里把各个表用Project ID关联起来(比如Projects表的ID关联到Repositories表的Project ID)。
- 拖放可视化组件,比如用卡片图展示总仓库数、总提交数,用表格展示每个项目的明细。
- 还能设置自动刷新计划,让报表定期更新最新数据。
一些小提醒
- 调用API的时候要注意速率限制,Azure DevOps有请求频率上限,脚本里可以加个小延迟避免被限流。
- 提交数这种数据量可能很大的指标,建议按时间分段查询,别一次性查好几年的,容易超时。
- 确保你的账号有足够权限:至少需要组织内所有项目的「读取」权限,不然有些项目的数据拉不出来。
备注:内容来源于stack exchange,提问作者lemming
相关产品推荐
相关产品推荐

