使用GitHub API获取pull请求是否通过了所有必需的状态检查

使用GitHub API获取pull请求是否通过了所有必需的状态检查,github,github-api,github-enterprise,Github,Github Api,Github Enterprise,我需要通过GithubAPI检查拉请求是否通过了所有必需的状态检查。目前我使用的是GitHub Enterprise 2.8 我知道我可以获得最后一次提交的所有状态检查(在拉取请求中遵循status\u url)。但是,我不知道在给定的存储库中需要设置哪些状态检查。这是我的主要问题 我还需要汇总这些状态检查,按上下文对它们进行分组,并在每个上下文中取最新的。这没关系,但似乎是逻辑的重新实现,GitHub在决定是否可以合并pull请求时在内部执行 在我的情况下,最好在pull请求字段中有类似于的内

我需要通过GithubAPI检查拉请求是否通过了所有必需的状态检查。目前我使用的是GitHub Enterprise 2.8

我知道我可以获得最后一次提交的所有状态检查(在拉取请求中遵循
status\u url
)。但是,我不知道在给定的存储库中需要设置哪些状态检查。这是我的主要问题

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


在我的情况下,最好在pull请求字段中有类似于
的内容,这意味着
可合并&&所有必需的状态检查都已通过和批准
,但据我所知,没有这样的字段。

最终解决了这个问题!实际上,您需要从受保护的分支获取信息,而不是从检查本身获取信息。以下是一些API详细信息:

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

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

  • 你有没有想过?我正要发布几乎相同的问题。我一直在翻文档来弄明白这一点,但没有用……没有,我最终在我的应用程序中硬编码了所需的状态检查:(