【问题标题】:Why are my PRs being auto-closed?为什么我的 PR 会自动关闭?
【发布时间】:2015-07-21 03:30:54
【问题描述】:

我的公司正在使用 github 企业,我正在使用 github3.py API 来自动创建拉取请求。

我的代码如下:

detailed = "%s: Auto Pull Request from '%s' %s" % (base, from_branch, custom_message)
pr = repo.create_pull(description, base, from_branch, detailed)

在我创建 PR 后,由于某种原因它被自动关闭了。如果我只是在创建它后立即调用重新打开,它也不起作用。如果我time.sleep(3) 并尝试重新打开它,它会起作用。

我只有 1 个线程在执行和检查日志,API 调用似乎是同步的,它们首先返回响应,只有它们调用下一个 URL。

在创建 PR 之前,我正在删除基础分支并从 master 重新创建它,不确定它是否可能相关。

我在这里失踪有什么明显的原因吗?这应该有效吗?

【问题讨论】:

  • pr = repo.create_pull(...)之后你会做什么?您是否就此联系过 GitHub 支持?
  • 我什么也没做,它被关闭了。我会尝试联系支持人员。

标签: github github-api github3.py


【解决方案1】:

如果我理解正确,您可能会删除拉取请求所基于的分支。我刚刚第一次测试了这个工作流程,确实 PR 已经关闭(PR here):

请注意,我首先删除了分支并关闭了 PR,尽管对于这个特殊的极端情况,通知的顺序是相反的。

这也是你的经历吗?

【讨论】:

  • 没错,我已经删除了分支,再次重新创建了分支,然后我创建了 PR。 PR 已关闭。
  • 似乎(我不能确定)在 github 服务器中存在某种并行性使得这种情况发生,似乎调用在操作完全完成之前返回。
  • 从不删除基础开始。我推荐这个,因为它通常不是人类会进行的工作流程。我确实理解你为什么会这样做,但我建议不要这样做,以便首先找出这是否是根本原因。
猜你喜欢
  • 2013-11-25
  • 1970-01-01
  • 2020-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多