Webhook on milestone-related events - Group level
-
Please check this box if this contribution uses AI-generated content (including content generated by GitLab Duo features) as outlined in the GitLab DCO & CLA. As a benefit of being a GitLab Community Contributor, you receive complimentary access to GitLab Duo.
What does this MR do and why?
References
The goal of this Merge Request is to add webhooks for group milestone events — specifically, opening, closing, reopening, and deleting.
It serves as a follow-up to MR 194688, where the same functionality was implemented at the project level.
Screenshots or screen recordings
Updated Webhook settings (on Group level):
In action:
JSON from endpoint (caught on close-event):
{
"object_kind": "milestone",
"event_type": "milestone",
"project": null,
"group": {
"group_name": "wh-sub",
"group_path": "wh-sub",
"group_id": 102,
"full_path": "wh-group/wh-sub"
},
"object_attributes": {
"id": 112,
"iid": 2,
"title": "sub-v1.0.0",
"description": "On subgroup level",
"state": "closed",
"created_at": "2025-07-10 10:28:37 UTC",
"updated_at": "2025-07-10 11:01:45 UTC",
"due_date": "2025-07-23",
"start_date": "2025-07-11",
"project_id": null,
"group_id": 102
},
"action": "close"
}
REST API (several examples on Group level):
Get data about about WebHook with selected "Milestone events":
Get the list of Webhook's events:
Update webhook with "milestone_events": "true":
How to set up and validate locally
-
gdk start(or whatever you use for local development). - Go to some Group -> Settings -> Webhooks and set up new webhook for Milestone events. Set up some endpoint for webhook-listening service (I've used https://webhook.site/). Disable SSL Verification flag - if needed.
- Create milestone, close, reopen and delete it on the group level (or on level of it's descendants - groups or projects) - webhook service should catch your requests.
- Curl REST API endpoints for creating/editing milestonish-webhook.
Related to #14213 (closed)
Edited by Alex Kozenko



