python - 自使用 github3.py 添加最后一个标签以来,如何获取所有合并的拉取请求?
问题描述
我正在尝试识别自上次发布以来发生的所有合并的拉取请求。发布总是有一个标签,因此逻辑是找到在该标签创建后发生的任何拉取请求。
显然,拉取请求 API 不允许按标签过滤,甚至不允许按提交标签过滤。
我想如果我找到一种方法来查询在特定标签之后发生的所有提交,我可能会检测到哪些拉取请求产生了它们(我不关心直接推送)。
细节:
- 提交(...)
- pull_requests(...) - 以相反的创建顺序获取它们,这是完美的,但它似乎永远不会停止,显然提及
head=mytag
并没有使其及时停止的预期效果
我想要这个以便能够生成一些草稿发布节点,我需要的所有数据都是合并的 PR 列表。
解决方案
我最终使用 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
推荐阅读
- docker - 如何给容器一个静态 ip,或者如何链接两个 Docker 容器?
- java - 詹金斯在运行 jar 文件后挂起
- python - Selenium 测试自动化,driver.get(url) 发生在网站启动之前
- c# - 如何将 Home/End 按钮按下传播到 WPF ScrollViewer 内的 UWP RichEditBox?
- matlab - 向量中的数据排列
- python - 在 while 循环 discord.py 之后执行 if 语句
- vue.js - Vue2Leaflet 没有在地图中放置自定义图标
- .net - 如果所有迁移都被意外删除了怎么办?
- r - 我可以在一个轴上证明和斜体不同类别吗?
- javascript - 如何使用按钮在 html 中显示 js 对象