medium severityGitLab webhook integration/parsers
AI agent receives GitLab MR webhook with action='update' but empty 'changes': {} payload, breaking logic expecting changes details (e.g., label/assignee/reviewer/state diffs). Triggers unexpectedly without useful delta info, causing skipped automations or false processing.
Root cause
GitLab intentionally triggers MR 'update' webhooks for certain activities (approvals, rule changes, thread resolutions, re-reviews) where no tracked attributes change, resulting in empty 'changes' object despite documentation warning receivers to always inspect it. Some changes (e.g., certain assignee/reviewer updates in group hooks) inconsistently populate 'changes' due to backend logic or version-specific behavior around Oct 2024 (GitLab ~17.5).
GitLab APIwebhookmerge_requestchanges emptypayload structure