Skip to content

Add ability to limit Broadcast Messages to a project or group

Problem to solve

Broadcast messages (https://docs.gitlab.com/ee/user/admin_area/broadcast_messages.html) are a useful way to communicate important information to users of a GitLab instance without having to know ahead of time everyone who needs the message. This is in contrast to, for example, a user list where the destination of the communication is known ahead of time.

Sometimes, however, information might be only important or relevant to members of a certain group or project. Only having broadcast messages be instance-wide doesn't allow for refined messages to be sent to a relevant group of people.

Intended users

Any GitLab user could consume a broadcast message aimed at them by virtue of their viewing a GitLab page belonging to a specific group or project.

Proposal

It would be useful it to add:

  • A dropdown to the Admin Area > Messages page that would allow GitLab administrators to target only GitLab views that landed on pages within a group or project.
  • The ability to target GitLab views that land on pages within a group or project using the API (https://docs.gitlab.com/ee/api/broadcast_messages.html).

Permissions and Security

This proposal suggests keeping permissions and security as they are now for broadcast messages. That is:

  • Managing broadcast messages is accessible only to an instance's administrators through the Admin Area.
  • Consuming broadcast messages is open to anyone who has permissions to view a page belonging to a specified group or project.

Documentation

Because small changes would be required to UI and API, the following documentation would need minor updates:

Testing

I think extensions to existing tests would be sufficient, including:

  • Positive tests that messages intended for a particular group or project are displayed on that group or project.
  • Negative tests that messages intended for a particular group or project display on none of the groups or projects they aren't configured to appear on.

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

An early measure of success is that GitLab itself is using the functionality as part of a routine process.

Anecdotal evidence that customers are also using the functionality would also be a measure of success.

Links / references

Edited by Evan Read