You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用azure.devops Python库获取Pull Request的关联分支与提交?

获取Azure DevOps Pull Request关联分支与提交记录的实现方法

1. 获取关联分支

Pull Request对象本身携带了源分支和目标分支的信息,直接通过以下属性即可获取:

  • pr.source_ref_name:PR的源分支(发起PR的分支)
  • pr.target_ref_name:PR的目标分支(合并到的分支)

2. 获取PR对应的提交记录

使用Azure DevOps Python库的git_client.get_pull_request_commits()方法,传入仓库ID和PR ID即可获取该PR包含的所有提交记录。

完整修改代码

repositories = git_client.get_repositories(project=None, include_links=None, include_all_urls=None, include_hidden=None)
for repo in repositories:
    if repo.remote_url == repo_url:
        pull_requests = git_client.get_pull_requests(
            repository_id=repo.id,
            search_criteria=GitPullRequestSearchCriteria(status='completed')
        )
        for pr in pull_requests:
            # 输出PR基本信息及关联分支
            print(f'Pull Request #{pr.pull_request_id}: {pr.title}')
            print(f'源分支: {pr.source_ref_name}')
            print(f'目标分支: {pr.target_ref_name}')
            
            # 获取并输出PR对应的提交记录
            commits = git_client.get_pull_request_commits(
                repository_id=repo.id,
                pull_request_id=pr.pull_request_id
            )
            print('提交记录:')
            for commit in commits:
                print(f'- 提交ID: {commit.commit_id} | 注释: {commit.comment}')
            print('---')

关键说明

  • get_pull_request_commits返回的是GitCommit对象列表,每个对象包含commit_id、comment、author等核心字段,可根据需求提取更多信息。
  • 若需要获取提交的详细变更内容,可进一步使用git_client.get_commit_changes()方法,传入仓库ID和提交ID。

内容的提问来源于stack exchange,提问作者pf12345678910

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:32:33