【问题标题】:How to avoid delaying github pull request merge using API如何避免使用 API 延迟 github 拉取请求合并
【发布时间】:2016-12-12 07:19:15
【问题描述】:

我正在通过 Octokit 使用 Github API,并注意到一个奇怪的行为。在一种情况下,我以编程方式跨 2 个分叉同步 master。我需要:

  • 打开从 repo1:master 到 repo2:master 的拉取请求
  • 合并该拉取请求

当我第一次尝试这个时,我一直看到错误“Head branch was modified. Review and try the merge again.”事实证明,在创建拉取请求和合并它(基于 PR 编号)之间简单地延迟(5 秒)可以避免这个错误。

因此,似乎 github 在实际完成之前从“create”调用中返回或类似的东西。我想知道是否有更可靠的方法(不使用睡眠)来确保 PR 在创建后准备好合并。

【问题讨论】:

    标签: github github-api octokit


    【解决方案1】:

    在 GitHub 创建拉取请求时可能会有一些延迟。一种方法是订阅pull request event webhook,一旦“正式”打开拉取请求,就会发送该pull request event webhook,然后执行合并。

    【讨论】:

    • 我最终使用了一个更简单的过程来维护服务器上的 git checkout,然后推送/拉取以同步存储库。但是,如果有人需要做与我原来的方法类似的事情,这种 webhook 方法应该可以很好地工作。
    • 我觉得还是需要等待,让Github达到一致性。 pull_request 事件在 PR 能够成功合并之前发送,但等待几秒钟似乎就足够了。
    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 2016-03-02
    • 2022-08-14
    • 2018-01-02
    • 2022-07-15
    • 2012-01-02
    相关资源
    最近更新 更多