Custom notification level
Description including problem, use cases, benefits, and/or goals
For different roles, one wants to be notified of different things. We see an increase in requests to be able to only get notified of X Y or Z. It would be convenient to be able to customize what notifications you get.
Proposal
A new notification level 'custom'.
It would work like our current Watch
level, but you'd be able to turn off notifications depending on what you're interested in:
- New issue (notification on each new issue)
- Close issue
- Reassign issue
- Reopen issue
- New merge request
- Reassign merge request
- Close merge request
- Reopen merge request
- Merge merge request
- New comment
You can simply select it from the same places as before, but now you will get a modal on selecting it that allows you to turn any of these on or off.
Below the dropdown with the 'custom' level there should be a link to change the notifications, so you don't have to reselect it in the dropdown to bring up the modal.
Suggestions to an alternative UI to the modal is welcome.
Links / references
Original issue
Depends on https://gitlab.com/gitlab-org/gitlab-ce/issues/3359.
Now that we have begun piping everything through ZenDesk, it will make it a lot less noisy if we can set up a notification level where you only get notified about new issues, and not every single thing that happens on the repo. If someone replies on that issue you will not get a notification unless you are an active participant, are mentioned on the issue, or actively subscribe to it.
Related to #12743
To do
-
Backend:
-
in progress Add "Custom" notification level that will behave like
Watch
, except that the types of notification to receive can be configured using attributes onNotificationSetting
MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4389 -
in progress Add options for the various types of notifications - https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4389
-
Frontend:
-
in review Show descriptions by notification level selector options https://gitlab.com/gitlab-org/gitlab-ce/issues/12758#note_3808619 MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4374
-
in progress When "Custom" is selected, show a page/modal to select those options added by Backend MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4453
-
To consider: Notification level can be set on the project page, and in Profile Settings > Notifications. Do we need both? (not sure yet if will be ready for 8.9)
-
Done Create notification settings table indexes and remove duplicates
-
in progress Move notification level from user model to notification settings MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4494
-
not started Include custom level in profile settings. Will be done in 8.9 if we have time