Eliminate the difference between CE/EE for protected branches and protected environments and allow to restrict by users, in addition to by roles

Problem to solve

Coming from #30769 (comment 330213516) there is no need anymore to differentiate in functionality here for CE and EE. We would be doing our users a favor to give them a more consistent experience and expand the CE capabilities.

Intended users

User experience goal

Proposal

Eliminate the difference between CE/EE for protected branches and protected environments and allow to restrict by users, in addition to by roles

https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users-starter

Further details

  • Note for development: the dropdown options for the users to be added are created in ee/app/assets/javascripts/projects/settings/access_dropdown.js. Part of the solution is to extract this out of EE and make it available for FOSS.
  • The EE dropdown is multiselect at the moment, while the CE's is not: there's a js-multiselect option you may want to look at in ee/app/views/projects/protected_branches/ee/_create_protected_branch.html.haml as opposed its CE counterpart.

Permissions and Security

Documentation

Availability & Testing

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

What is the type of buyer?

Is this a cross-stage feature?

Links / references

Edited Jun 29, 2020 by Etienne Baqué
Assignee Loading
Time tracking Loading