gitlab-org--gitlab-foss/doc/workflow/groups.md
Douglas Lovell d0beb755f9 Add a name field to the group edit form
Enables user specification of group name vs. name inferred from group path.

Cause new group form to copy name from path

Adds some new page-specific javascript that copies entry from the
group path field to the group name field when the group name field
is initially empty.

Remove duplicate group name entry field on group edit form

This corrects the duplicated name entry field and tests that the
JavaScript does not update the group name field if the user
edits the group path.  (Editing the group path is not recommended
in any case, but it is possible.)

Address eslint errors in group.js

Enable group name copy with dispatch and explore group creation

The dispatch and explore group creation forms require the group.js
asset, and their tests now require testing against poltergeist

Update workflow new group instruction

Update the gitlab basics group creation document

Add a change log entry

Remove unused variable for eslint
2017-04-09 08:43:49 -05:00

3.9 KiB

GitLab Groups

GitLab groups allow you to group projects into directories and give users to several projects at once.

When you create a new project in GitLab, the default namespace for the project is the personal namespace associated with your GitLab user. In this document we will see how to create groups, put projects in groups and manage who can access the projects in a group.

Creating groups

You can create a group by going to the 'Groups' tab of the GitLab dashboard and clicking the 'New group' button.

Click the 'New group' button in the 'Groups' tab

Next, enter the path and name (required) and the optional description and group avatar.

Fill in the path for your new group

When your group has been created you are presented with the group dashboard feed, which will be empty.

Group dashboard

You can use the 'New project' button to add a project to the new group.

Transferring an existing project into a group

You can transfer an existing project into a group you own from the project settings page. The option to transfer a project is only available if you are the Owner of the project. First scroll down to the 'Dangerous settings' and click 'Show them to me'. Now you can pick any of the groups you manage as the new namespace for the group.

Transfer a project to a new namespace

GitLab administrators can use the admin interface to move any project to any namespace if needed.

Adding users to a group

One of the benefits of putting multiple projects in one group is that you can give a user to access to all projects in the group with one action.

Suppose we have a group with two projects.

Group with two projects

On the 'Group Members' page we can now add a new user Barry to the group.

Add user Barry to the group

Now because Barry is a 'Developer' member of the 'Open Source' group, he automatically gets 'Developer' access to all projects in the 'Open Source' group.

Barry has 'Developer' access to GitLab CI

If necessary, you can increase the access level of an individual user for a specific project, by adding them as a Member to the project.

Barry effectively has 'Master' access to GitLab CI now

Requesting access to a group

As a group owner you can enable or disable non members to request access to your group. Go to the group settings and click on Allow users to request access.

As a user, you can request to be a member of a group. Go to the group you'd like to be a member of, and click the Request Access button on the right side of your screen.

Request access button


Group owners & masters will be notified of your request and will be able to approve or decline it on the members page.

Manage access requests


If you change your mind before your request is approved, just click the Withdraw Access Request button.

Withdraw access request button

Managing group memberships via LDAP

In GitLab Enterprise Edition it is possible to manage GitLab group memberships using LDAP groups. See the GitLab Enterprise Edition documentation for more information.

Allowing only admins to create groups

By default, any GitLab user can create new groups. This ability can be disabled for individual users from the admin panel. It is also possible to configure GitLab so that new users default to not being able to create groups:

# For omnibus-gitlab, put the following in /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_default_can_create_group'] = false

# For installations from source, uncomment the 'default_can_create_group'
# line in /home/git/gitlab/config/gitlab.yml