为什么GitHub API在拉取请求中返回未知的mergeable_state?

mat*_*atv 2 github-api pull-request

有时,当我从GitHub API获得单个pull请求时,响应包含JSON响应中的以下属性:

  "merged": false,
  "mergeable": null,
  "mergeable_state": "unknown",
  "merged_by": null,
Run Code Online (Sandbox Code Playgroud)

这是为什么?如何确定此拉取请求是否可合并?在获得不同的响应之前,我是否真的需要重新加载拉取请求?

mat*_*atv 7

来自GitHub的其中一个人:

空值意味着尚未计算拉取请求的可合并性.可合并性是根据需要和后台计算的,因此当您获取未知可合并性的拉取请求时 - 您将返回空值,但也会启动作业以计算可合并性.如果您发出另一个请求,则应该看到mergeable属性的非null值.

我想实现延迟重试是要走的路.