Ability to Suppress Webhook Events

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Problem to solve

Recursive webhook firing

Further details

We use web hooks to synchronise our issue tracking with a third-party service. Both services support web hooks, one service (the other one) allows you to suppress the events if needed. If it didn't we'd have a cycle of webhook firing on our hands.

As it stands, it isn't too bad, but we can do better.

Issue update on gitlab -> webhook fires -> Other service updates issue -> End.
Other services updates issue -> webhook fires -> Gitlab updates issue -> webhook fires -> Other service updates issue -> End.

Notice without being able to suppress the webhook when we call the gitlab api to update the issue, we end up performing extra steps when it isn't necessary.

Proposal

Include a header X-Supress-Hooks or include a new param on the APIS that have the ability to trigger a webhook event.

What does success look like, and how can we measure that?

Sending an API request to an endpoint, suppressing hooks, shouldn't generate any web hooks.

curl --request PUT --header "PRIVATE-TOKEN: xxxx" --header "X-Supress-Hooks: true" https://gitlab.com/api/v4/projects/${project_id}/issues/${issue_id}?state_event=close

Links / references

Edited Oct 27, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading