如何获取Azure DevOps Git各代码库的贡献者列表及贡献统计?
获取Azure DevOps Git仓库贡献者列表的实现方案
REST API实现方案
Azure DevOps没有直接返回贡献者聚合结果的专属接口,你可以通过现有接口组合实现相同效果,步骤如下:
- 先调用仓库列表接口拉取目标项目下所有Git仓库的ID、名称等基础信息,接口请求格式为
GET https://dev.azure.com/{组织名称}/{项目名称}/_apis/git/repositories?api-version=6.0 - 对单个目标仓库调用提交记录查询接口,拉取该仓库的全量提交数据,接口请求格式为
GET https://dev.azure.com/{组织名称}/{项目名称}/_apis/git/repositories/{仓库ID}/commits?api-version=6.0,你可以通过searchCriteria.fromDate、searchCriteria.toDate参数限定统计的时间范围,也可以通过searchCriteria.itemVersion.version参数指定统计的分支,避免拉取冗余数据 - 对返回的提交列表,按提交者邮箱/作者邮箱字段做聚合统计,计数每个用户对应的提交次数,就能得到和GitHub贡献者接口一致的统计结果,包含所有贡献者名单和对应贡献次数
本地快速统计方案
如果只是需要临时查询单个仓库的贡献者数据,不需要通过API批量获取的话,可以把目标仓库克隆到本地,在仓库根目录下执行Git原生命令即可直接得到统计结果:git shortlog -sn --all
命令返回结果第一列为贡献次数,第二列为贡献者名称,无需额外开发即可快速获取结果。
内容的提问来源于stack exchange,提问作者Charles
相关产品推荐
相关产品推荐

