如何解决无法访问特定 GitHub 集成的问题

How to address the issue of a particular GitHub Integration being not reachable

如果 GitHub 集成出现故障,通常会发生什么情况。 假设我们有一个验证拉取请求的 GitHub App 应用程序。如果该应用程序已关闭怎么办,GitHub 是否会显示有关它的一些消息。

拉取请求似乎在应用未启动时通过。 这是相当危险的。我的意思是,是否有 GitHub 为 GitHub 集成提供的后备机制。

编辑 1:开始

我只是想知道,既然 webhooks 是从 GitHub 端发送到我们在应用程序设置中配置的 webhook url,有没有办法让 GitHub 通知用户如果 webhook url 不可访问。

编辑 1:结束

I mean, is there any fallback mechanism that GitHub provides for GitHub integrations.

那将是 GitHub Actions like those ones: since they are executed on GitHub side, following a .github/workflows/ci.yml (for instance actions/create-release ci.yml) 源代码的一部分,如果 GitHub 关闭,PR 将不会通过,因为验证步骤尚未完成。

这与 WebHook 不同,后者 GitHub 发送 JSon 负载,而不关心是否收到这些负载。

The pull request seems to go through when the app is not up. This is quite dangerous. I mean, is there any fallback mechanism that GitHub provides for GitHub integrations.

您可以做的是使用分支保护设置强制执行该特定集成的成功状态。如果集成失败,则状态将保持挂起。

如果集成恢复,您可以重新触发它,例如通过推送另一个提交。如果集成停止的时间较长,您仍然可以在本地验证拉取请求,然后使用管理员授权覆盖所需的状态

另请参阅:https://help.github.com/en/github/administering-a-repository/about-required-status-checks