Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gitlab: team member project access levels

Tags:

gitlab

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?

like image 267
Sven Avatar asked Jul 15 '13 15:07

Sven


People also ask

How do I provide access to a GitLab project?

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).

What is the highest role in GitLab?

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.


2 Answers

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:

  • a reporter is a guest who can also:
    • download code,
    • fork a project,
    • write project snippet
  • a developer is a reporter who can also:
    • write merge request,
    • write wiki pages,
    • push code
like image 117
VonC Avatar answered Nov 13 '22 01:11

VonC


These days, the access levels are well documented here: http://doc.gitlab.com/ce/permissions/permissions.html

like image 25
Matt Avatar answered Nov 13 '22 01:11

Matt