有时,当我从GitHub API获得单个pull请求时,响应包含JSON响应中的以下属性:
"merged": false,
"mergeable": null,
"mergeable_state": "unknown",
"merged_by": null,
为什么?如何确定此拉取请求是否可合并?我是否真的需要重新加载拉取请求,直到得到不同的响应?
答案 0 :(得分:7)
来自GitHub的其中一个人:
空值表示尚未计算拉取请求的可合并性。可合并性是根据需要和后台计算的,因此当您获取未知可合并性的拉取请求时 - 您将返回空值,但也会启动作业以计算可合并性。如果您发出另一个请求,则应该看到可合并属性的非空值。
我认为实施延迟重试是可行的方法。
答案 1 :(得分:0)
没有一个API可以概述PR是否可合并的原因,仅概述它是否可以合并。在文档中指出:
mergeable属性的值可以为true,false或null。如果 值是null,这表示尚未合并 进行计算,然后开始执行后台作业进行计算。给 稍等片刻即可完成,然后再次提交请求。什么时候 工作完成后,响应中将包含一个非空值 可合并属性。
他们没有记录为什么的结果,只有是,否或尚未计算。
我希望对您有帮助>