GitLab offers the project access levels "Guest", "Reporter", "Developer" and "Master" for "team members" co-operating with a specific project.
"Master" and "Guest" are self-explanatory, but the others aren't quite clear to me, in their extents as well as in their granularity. What is the difference between these levels?
Open your project page in GitLab, then click on Settings and select Members. Type the name of the User you want to add to your project into the Select members to invite field. Select a role for the user (Refer to GitLab Permissions for details).
Project members permissions While Maintainer is the highest project-level role, some actions can only be performed by a personal namespace or group owner, or an instance administrator, who receives all permissions.
2013: The project_security_spec.rb
test each profile capabilities, which are listed in ability.rb
:
(2017 GitLab 10.x: this would be more likely in app/policies/project_policy.rb
)
See also, as noted in jdhao's answer: "Project members permissions"
Those rules are quite explicit:
def public_project_rules [ :download_code, :fork_project, :read_project, :read_wiki, :read_issue, :read_milestone, :read_project_snippet, :read_team_member, :read_merge_request, :read_note, :write_issue, :write_note ] end def project_guest_rules [ :read_project, :read_wiki, :read_issue, :read_milestone, :read_project_snippet, :read_team_member, :read_merge_request, :read_note, :write_project, :write_issue, :write_note ] end def project_report_rules project_guest_rules + [ :download_code, :fork_project, :write_project_snippet ] end def project_dev_rules project_report_rules + [ :write_merge_request, :write_wiki, :push_code ] end
That means:
These days, the access levels are well documented here: http://doc.gitlab.com/ce/permissions/permissions.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With