【问题标题】:How to get all merged pull requests since last tag was added using github3.py?自使用 github3.py 添加最后一个标签以来,如何获取所有合并的拉取请求?
【发布时间】:2020-08-18 17:06:11
【问题描述】:

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

显然,pull-request API 不允许按标签过滤,甚至不允许按提交标签过滤。

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

详情:

  • commits(...)
  • pull_requests(...) -- 以相反的创建顺序获取它们,这是完美的,但它似乎永远不会停止,显然提到 head=mytag 并没有使其及时停止的预期效果

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

【问题讨论】:

    标签: python github-api github3.py


    【解决方案1】:

    我最终使用 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
    

    【讨论】:

      猜你喜欢
      • 2021-01-21
      • 2015-09-28
      • 2017-08-30
      • 2020-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      相关资源
      最近更新 更多