无需下载代码如何统计Azure DevOps所有仓库默认分支的代码行数?
是否可以不下载代码统计Azure DevOps全仓库代码总行数?
可以,完全不需要将代码下载到本地,通过Azure DevOps原生能力就能满足你的全部统计要求。
方案说明
核心是调用Azure DevOps官方提供的REST API或者内置报表能力,全程在云端完成统计,无需拉取任何代码到本地。
具体实现方式
方式一:用内置报表直接查看(零代码操作)
如果你不需要导出数据做二次处理,直接用平台自带的代码统计报表即可:
- 进入你的Azure DevOps组织首页,依次点击
Overview→Reports→Code - 筛选范围选择所有项目下的全部仓库,分支筛选条件选择「仅默认分支」
- 页面会直接展示所有符合条件仓库的代码总行数汇总,也可以查看单个仓库的明细数据
方式二:调用REST API批量统计(适合自动化/二次开发场景)
如果需要把统计结果集成到自己的系统,或者需要自定义统计规则,可以按以下步骤操作:
- 先创建个人访问令牌(PAT),权限仅勾选
Code (Read)即可,满足最小权限原则 - 调用获取仓库列表接口,拉取组织下所有仓库的ID、所属项目、默认分支信息,接口请求格式为:
GET https://dev.azure.com/{你的组织名}/_apis/git/repositories?api-version=7.1-preview.1
返回结果中defaultBranch字段即为对应仓库的默认分支,无需自行遍历所有分支匹配 - 对每个仓库单独调用分支代码统计接口,传入仓库ID、所属项目名、默认分支名,直接获取该分支的代码总行数,接口请求格式为:
GET https://dev.azure.com/{你的组织名}/{所属项目名}/_apis/git/repositories/{仓库ID}/stats/branches?name={默认分支名}&api-version=7.1-preview.1
返回结果中lineCount字段即为该默认分支的代码总行数,汇总所有仓库的该字段值即可得到全组织统计结果
注意事项
- 默认统计逻辑会自动排除
.gitignore匹配的文件,如果需要自定义统计文件范围,可以在第二步的接口参数中新增include/exclude规则,指定要统计的文件后缀 - Azure DevOps REST API有调用频率限制,单组织每分钟最大调用量为1000次,如果你需要统计的仓库数量超过1000,添加简单的延时逻辑即可避免触发限制
内容的提问来源于stack exchange,提问作者Pingpong
相关产品推荐
相关产品推荐

