如何通过Microsoft Web API查询Azure Repo分支的创建时间及相关信息
Azure Repo分支信息查询指南(创建日期、历史记录、首次提交)
一、使用Microsoft.TeamFoundation.SourceControl.WebApi .NET SDK获取分支创建日期
步骤1:初始化Git客户端
通过个人访问令牌(PAT)创建GitHttpClient实例,连接到目标Azure DevOps组织:
using Microsoft.TeamFoundation.SourceControl.WebApi; using Microsoft.VisualStudio.Services.Common; var orgUrl = new Uri("https://company.visualstudio.com"); var pat = "你的个人访问令牌"; var credentials = new VssBasicCredential(string.Empty, pat); var gitClient = new GitHttpClient(orgUrl, credentials);
步骤2:获取分支统计信息
调用GetBranchStatsAsync方法,传入项目名、仓库名和目标分支名,返回的GitBranchStats对象直接包含分支创建日期:
var projectName = "你的项目名"; var repoName = "你的仓库名"; var branchName = "refs/heads/目标分支名"; // 示例:refs/heads/main var branchStats = await gitClient.GetBranchStatsAsync( project: projectName, repositoryId: repoName, branchName: branchName ); // 提取分支创建日期 DateTimeOffset branchCreationDate = branchStats.CreationDate;
注:GitBranchStats类封装了分支的核心统计数据,其中CreationDate字段为Azure DevOps维护的官方分支创建时间。
二、直接通过Web API请求查询分支信息
所有请求需在请求头中携带身份验证信息:Authorization: Basic {base64编码的PAT}(将:{你的PAT}字符串转Base64编码即可)
2.1 查询分支历史记录
API端点:
GET https://company.visualstudio.com/{项目名}/_apis/git/repositories/{仓库ID或名称}/commits?searchCriteria.itemPath=refs/heads/{分支名}&api-version=7.1-preview.1
返回结果按提交时间降序排列,可通过$top参数限制返回条数,包含每条提交的ID、时间、提交者、变更内容等信息。
2.2 查询分支首次提交
在历史记录API基础上,添加排序参数并仅返回第一条结果:
GET https://company.visualstudio.com/{项目名}/_apis/git/repositories/{仓库ID或名称}/commits?searchCriteria.itemPath=refs/heads/{分支名}&$top=1&orderby=committerDate asc&api-version=7.1-preview.1
返回的第一条记录即为该分支的首次提交,可从中提取提交时间、提交者等信息。
2.3 查询分支创建日期
方式1:调用分支统计API(推荐)
API端点:
GET https://company.visualstudio.com/{项目名}/_apis/git/repositories/{仓库ID或名称}/stats/branches?branchNames=refs/heads/{分支名}&api-version=7.1-preview.1
返回结果中的creationDate字段为分支的官方创建日期,准确性最高。
方式2:通过首次提交时间推断
若无法调用统计API,可将分支首次提交的时间作为近似创建日期,但需注意:分支创建后可能存在未立即提交的情况,此方法仅作参考。
内容的提问来源于stack exchange,提问作者Drag and Drop
相关产品推荐
相关产品推荐

