[go: up one dir, main page]

Webhook on milestone-related events - Group level

What does this MR do and why?

References

#14213 (closed)

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):

image.png

In action:

group-webhooks.mp4

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":

image.png

Get the list of Webhook's events:

image.png

Update webhook with "milestone_events": "true":

image.png

How to set up and validate locally

  1. gdk start (or whatever you use for local development).
  2. 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.
  3. 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.
  4. Curl REST API endpoints for creating/editing milestonish-webhook.

Related to #14213 (closed)

Edited by Alex Kozenko

Merge request reports

Loading