GitLab webhooks are being enhanced with self-healing capabilities. Previously, webhooks that encountered 4xx errors would be permanently disabled after multiple failures. The new system will temporarily disable webhooks of any error type (4xx, 5xx, network, etc.) with an increasing backoff period, up to 1 day. Webhooks will be permanently disabled only after 40 successive failures. Existing permanently disabled webhooks will be migrated to this new temporary disablement state. This aims to reduce the impact of transient errors on webhook reliability. This post details how GitLab Webhooks can be used to automatically apply labels to merge requests based on commit messages and MR actions, by implementing a custom webhook server that interacts with the GitLab API.
2024
GitLab Webhooks get smarter with self-healing capabilities
11/14/2024
Introduces self-healing capabilities for webhooks, allowing them to temporarily disable and retry with increasing backoff periods after encountering errors (4xx, 5xx, network). Permanently disables webhooks after 40 successive failures. Migrates existing permanently disabled webhooks to the new temporary disablement model.
Combine GitLab webhooks and Twilio for SMS alerts on DevSecOps platform
6/10/2024
This post details the technical implementation of integrating GitLab webhooks with Twilio to send SMS alerts for issue events. It outlines the prerequisites (GitLab and Twilio accounts), the workflow involving GitLab webhooks sending data to Twilio Functions, and Twilio Functions processing this data to trigger Twilio Programmable Messaging for SMS delivery. Specific steps include setting up a Twilio phone number, configuring Geo permissions, creating a Twilio Function with Node.js code to format and send the SMS, and configuring GitLab project webhooks to trigger on 'Issues events' and send data to the Twilio Function endpoint. The post also provides guidance on expanding the use case to multiple recipients, handling different event types, group-level configuration, and self-hosting message generation.
2016
Applying GitLab Labels Automatically
8/19/2016
This post details the implementation of a custom webhook server to automatically apply labels to GitLab merge requests. It describes how to process webhook events, identify merge requests, and use the GitLab API to update labels based on commit messages (e.g., '#patch', '#minor', '#major') and MR actions. It also provides code snippets for Ruby and discusses considerations for handling updates and multi-threading.