如果pull请求使用GitHub API获取所有必需的状态检查

时间:2017-06-07 10:48:28

标签: github github-api github-enterprise

如果拉请求通过了所有必需的状态检查,我需要通过GitHub API进行检查。我现在使用GitHub Enterprise 2.8。

我知道我可以获得上次提交的所有状态检查(在拉取请求中跟随statuses_url)。但是,我不知道在给定的存储库中需要设置哪些状态检查。这是我的主要问题。

我还需要聚合这些状态检查,按context对它们进行分组,并在每个上下文中进行最新处理。没关系,但似乎是逻辑的重新实现,GitHub在决定是否可以合并拉取请求时在内部执行。

对于我的情况,在拉取请求字段中有can_be_merged之类的东西是理想的,其意思是mergeable && all required status checks passed && approved,但据我所知,没有这样的字段。

1 个答案:

答案 0 :(得分:0)

最终解决了这个问题!实际上,您实际上需要从受保护的分支获取信息,而不是从支票本身获取信息。以下是一些API详细信息:https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch

所以解决这个问题的流程是:

  1. 检查PR的基本分支是否受保护,如果受保护;
  2. 使用上述端点来确定需要进行哪些检查;
  3. 将最新PR提交的检查与步骤2中确定的必需检查进行比较。