Address gap in Failed Webhooks support to add notifications for group webhooks that fail
Description
Per this Slack thread (Slack, internal, 90 days), failed webhook notifications are working for project webhooks, but not group webhooks.
Release Notes
In order to protect the GitLab and users across the system from the potential abuse or misuse of a small few, we'll be implementing a feature to disable group webhooks that fail consistently.
Group webhooks that return response codes in the 5xx range are understood to be failing intermittently, and are temporarily disabled. This lasts initially for 10 minutes. If the hook continues to fail, the back-off period is extended on each retry, up to a maximum disabled period of 24 hours. Webhooks that fail with 4xx errors will be disabled and a project owner or maintainer will be alerted in-app and directed to the webhooks page where they may investigate and re-enable failed webhooks.
Proposal
Add group webhooks to the notification logic.
We can either add a new notification, or add the check for groups hooks here: https://gitlab.com/gitlab-org/gitlab/blob/374720-record-slack-app-permission-scopes-to-allow-feature-checking-logic/app/helpers/web_hooks/web_hooks_helper.rb
If we add the check to the helper, we will probably want to change the call-to-action.
In the meantime, we paused disabled webhooks for group webhooks with Exempt group hooks from being disabled (!107124 - merged), but we still have to support webhook notifications for group hooks.
Plan of action:
-
exempt group hooks from being disabled -
add notifications for group hooks -
complete Allow self-hosted instances to prevent auto-dis... (#390157 - closed) to give self-managed users ability to enable/disable the feature -
re-enable disabling of group hooks