Merge request events return empty changes attribute but calls webhook
Summary
We use Gitlab Group hooks for our automations that gets triggered on Merge request events
- an attribute in the webhook response we look at is the changes attribute - before 2 October 2024 - the changes did contain any changes that conform to (as a minimum of what we use) the below:
- Label
- Assignee
- Reviewer
- State (Merged)
However, now we get back "changes": {},
but the webhook event is triggered
Steps to reproduce
- Setup a group hook
- Enable the
Merge request events
trigger - Create an MR
- Apply a label/change assignee
Example Project
I tried recreating it with my own repo but the changes object does contain changes...
https://gitlab.com/daniel950/daniels-test-repo/-/hooks/44819595/hook_logs/9049997706
What is the current bug behavior?
We get the webhook response back with no changes sometimes, and other times it does contain changes...
What is the expected correct behavior?
The webhook response should contain changes when an MR is updated or created or merged - if the Merge Request Event trigger - unless something has changed to the Merge Request Event trigger since 2 October
Ideally no change (created/updated/merged) to a merge request, should not trigger a Merge Request Event
Relevant logs and/or screenshots
Output of checks
This bug happens on GitLab.com
Results of GitLab environment info
GitLab Enterprise Edition 17.5.0-pre d0e0f98dc9f
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: \\\`sudo gitlab-rake gitlab:env:info\\\`) (For installations from source run and paste the output of: \\\`sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production\\\`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of: \`sudo gitlab-rake gitlab:check SANITIZE=true\`) (For installations from source run and paste the output of: \`sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true\`) (we will only investigate if the tests are passing)