github API提交状态"失败"和"错误"之间的差异?

noa*_*oss 10 git github github-api git-commit

github API提交状态"失败"和"错误"之间有什么区别?

Von*_*onC 11

GitHub的API以下状态不包括打标提交了成功,失败,错误或挂起状态.

通常,在持续集成上下文中,提交是:

  • 标记为失败,因为作业未能完成
  • 标记为错误,因为作业已完成,但退出时为非零状态
  • 标记为成功,因为作业已完成,并以零状态退出

(作为作业调度程序运行的任务)


自2014年以来,GitHub与CI的整合确实在不断发展.
在2018年5月,您有" 介绍Checks API,一种更好的连接集成和代码的方法 ".
它介绍了支票的概念

而不是二进制通过/失败构建状态,集成可以报告丰富的状态,注释具有详细信息的代码行,并启动重新运行.

你在新的上下文(支票)中发现失败

https://developer.github.com/assets/images/check_runs.png

当有人将代码推送到存储库时,GitHub会为最后一次提交创建一个检查套件.具有checks:write权限的GitHub应用程序会收到带有请求操作的check_suite webhook.当您的GitHub应用程序收到check_suite事件时,它可以为最新提交创建新的检查运行.

这适用于:

在新的上下文中(New Checks API公测版):

  • 失败与运行的检查相关联,但以非零状态退出,
  • 错误与无法运行的检查相关联

问题:

检查运行与提交状态有何不同?

提交状态允许简单的通过或失败状态.
检查运行允许更详细的信息:它们可以结束为成功,失败,中立,取消,timed_out或action_required.检查运行比提交状态更灵活.


小智 8

我从官方GitHub问了这个问题,并收到了下一个回复:

嗨,亚历山大,

感谢您联系GitHub支持!t

  • CI检查失败是指检查未通过所需条件。
  • CI检查有误是指检查本身具有导致其无法正常运行的错误。

让我知道您是否需要任何进一步的信息。