Skip to content

Merge request approval notifications are not sent to non-participants with custom notification settings

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

Summary

Consider user A, who is a project member and is not participating in a merge request:

  • if user A has their notification level for the project set to "Watch" (or it is the global default), when another user B approves the merge request, a notification email is sent to user A,
  • if user A has their notification level for the project set to "Custom", even with all available checkboxes selected, when another user B approves the merge request, a notification email is not sent to user A.

In other words, there is no way to get all possible notifications for a project at any notification level because a subset of notification types is excluded from the "Watch" level (e.g. pushes to merge requests) while another, distinct subset is unavailable for selection for the "Custom" notification level.

Steps to reproduce

  1. Set the notification level for any project you're a member of to "Watch".
  2. Have some other user approve a merge request in that project that you are not participating in.
  3. Observe how a notification email is sent to you.
  4. Change the notification level for the project to "Custom", checking all available checkboxes.
  5. Have some other user approve another merge request in the project that you are not participating in.
  6. Observe how a notification email is not sent to you.

What is the current bug behavior?

There is no way to get all possible notifications for a project because e.g. merge request approval notifications cannot be selected for the "Custom" notification level.

What is the expected correct behavior?

There should be some way to get all possible notifications enabled for a project. Merge request approval notifications are the ones I noticed that cannot be selected for the "Custom" notification level, but there are possibly other notification types that are also unavailable.

Results of GitLab environment info

Reproduced using GDK with current main for https://gitlab.com/gitlab-community/gitlab.git

(Sorry, rake gitlab:env:info doesn't work in my GDK installation and I don't know enough about all the moving parts involved to make it work.)

Edited by 🤖 GitLab Bot 🤖