首页 > 解决方案 > 自使用 github3.py 添加最后一个标签以来,如何获取所有合并的拉取请求?

问题描述

我正在尝试识别自上次发布以来发生的所有合并的拉取请求。发布总是有一个标签,因此逻辑是找到在该标签创建后发生的任何拉取请求。

显然,拉取请求 API 不允许按标签过滤,甚至不允许按提交标签过滤。

我想如果我找到一种方法来查询在特定标签之后发生的所有提交,我可能会检测到哪些拉取请求产生了它们(我不关心直接推送)。

细节:

我想要这个以便能够生成一些草稿发布节点,我需要的所有数据都是合并的 PR 列表。

标签: pythongithub-apigithub3.py

解决方案


我最终使用 gitpython 执行返回提交的本地查询。https://github.com/pycontribs/tender/blob/master/tender/__main__.py#L133-L145的示例,但主要代码看起来像

rev = f"{tag}..HEAD"
for commit in self.git.iter_commits(rev=rev):
  result[commit.hexsha] = commit

推荐阅读