如何避免使用 API 延迟 github 拉取请求合并
Posted
技术标签:
【中文标题】如何避免使用 API 延迟 github 拉取请求合并【英文标题】:How to avoid delaying github pull request merge using API 【发布时间】: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 在创建后准备好合并。
【问题讨论】:
【参考方案1】:在 GitHub 创建拉取请求时可能会有一些延迟。一种方法是订阅pull request event webhook,一旦“正式”打开拉取请求,就会发送该pull request event webhook,然后执行合并。
【讨论】:
我最终使用了一个更简单的过程来维护服务器上的 git checkout,然后推送/拉取以同步存储库。但是,如果有人需要做与我原来的方法类似的事情,这种 webhook 方法应该可以很好地工作。 我觉得还是需要等待,让Github达到一致性。 pull_request 事件在 PR 能够成功合并之前发送,但等待几秒钟似乎就足够了。以上是关于如何避免使用 API 延迟 github 拉取请求合并的主要内容,如果未能解决你的问题,请参考以下文章