如何用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
相关产品推荐
相关产品推荐

