Commit 11914a22 authored by Suzanne Selhorn's avatar Suzanne Selhorn Committed by Vitaly Slobodin

More edits for style

Related to: https://gitlab.com/gitlab-org/gitlab/-/issues/300312
parent 4a89c574
...@@ -1890,7 +1890,7 @@ This endpoint: ...@@ -1890,7 +1890,7 @@ This endpoint:
merge requests). merge requests).
- From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) on - From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) on
[Premium or higher](https://about.gitlab.com/pricing/) tiers, group [Premium or higher](https://about.gitlab.com/pricing/) tiers, group
admins can [configure](../user/group/index.md#enabling-delayed-project-removal) admins can [configure](../user/group/index.md#enable-delayed-project-removal)
projects within a group to be deleted after a delayed period. When enabled, projects within a group to be deleted after a delayed period. When enabled,
actual deletion happens after the number of days specified in the actual deletion happens after the number of days specified in the
[default deletion delay](../user/admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). [default deletion delay](../user/admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
...@@ -1898,7 +1898,7 @@ This endpoint: ...@@ -1898,7 +1898,7 @@ This endpoint:
WARNING: WARNING:
The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/32935)
in GitLab 12.6 was changed to [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 12.6 was changed to [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382)
in GitLab 13.2, as discussed in [Enabling delayed project removal](../user/group/index.md#enabling-delayed-project-removal). in GitLab 13.2, as discussed in [Enable delayed project removal](../user/group/index.md#enable-delayed-project-removal).
```plaintext ```plaintext
DELETE /projects/:id DELETE /projects/:id
......
...@@ -28,7 +28,7 @@ the tiers are no longer mentioned in GitLab documentation: ...@@ -28,7 +28,7 @@ the tiers are no longer mentioned in GitLab documentation:
- [Managing group memberships via LDAP](../user/group/index.md#manage-group-memberships-via-ldap) - [Managing group memberships via LDAP](../user/group/index.md#manage-group-memberships-via-ldap)
- [Member locking](../user/group/index.md#prevent-members-from-being-added-to-a-group) - [Member locking](../user/group/index.md#prevent-members-from-being-added-to-a-group)
- [Overriding user permissions](../user/group/index.md#override-user-permissions) - [Overriding user permissions](../user/group/index.md#override-user-permissions)
- [User contribution analysis](../user/group/index.md#user-contribution-analysis) - [User contribution analytics](../user/group/contribution_analytics/index.md)
- [Kerberos integration](../integration/kerberos.md) - [Kerberos integration](../integration/kerberos.md)
- Issue Boards: - Issue Boards:
- [Configurable issue boards](../user/project/issue_board.md#configurable-issue-boards) - [Configurable issue boards](../user/project/issue_board.md#configurable-issue-boards)
......
...@@ -79,7 +79,7 @@ The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org ...@@ -79,7 +79,7 @@ The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org
[Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2. [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2.
Projects in a group (but not a personal namespace) can be deleted after a delayed period, by Projects in a group (but not a personal namespace) can be deleted after a delayed period, by
[configuring in Group Settings](../../group/index.md#enabling-delayed-project-removal). [configuring in Group Settings](../../group/index.md#enable-delayed-project-removal).
The default period is seven days, and can be changed. Setting this period to `0` enables immediate removal The default period is seven days, and can be changed. Setting this period to `0` enables immediate removal
of projects or groups. of projects or groups.
......
...@@ -59,7 +59,7 @@ To create a group: ...@@ -59,7 +59,7 @@ To create a group:
- Alphanumeric characters - Alphanumeric characters
- Emojis - Emojis
- Underscores - Underscores
- Dashes, dots, spaces and parenthesis (however, it cannot start with any of these characters) - Dashes, dots, spaces, and parentheses (however, it cannot start with any of these characters)
For a list of words that cannot be used as group names, see [reserved names](../reserved_names.md). For a list of words that cannot be used as group names, see [reserved names](../reserved_names.md).
...@@ -214,13 +214,9 @@ In [GitLab Premium or higher](https://about.gitlab.com/pricing/), GitLab adminis ...@@ -214,13 +214,9 @@ In [GitLab Premium or higher](https://about.gitlab.com/pricing/), GitLab adminis
There are two different ways to add a new project to a group: There are two different ways to add a new project to a group:
- Select a group, and then click **New project**. You can then continue [creating your project](../../user/project/working_with_projects.md#create-a-project). - Select a group, and then click **New project**. You can then continue [creating your project](../../user/project/working_with_projects.md#create-a-project).
- While you are creating a project, select a group from the dropdown menu.
![New project](img/create_new_project_from_group_v13_6.png) ![Select group](img/select_group_dropdown_13_10.png)
- While you are creating a project, select a group namespace
you've already created from the dropdown menu.
![Select group](img/select_group_dropdown.png)
### Specify who can add projects to a group ### Specify who can add projects to a group
...@@ -261,22 +257,11 @@ You can view the most recent actions taken in a group. ...@@ -261,22 +257,11 @@ You can view the most recent actions taken in a group.
To view the activity feed in Atom format, select the To view the activity feed in Atom format, select the
**RSS** (**{rss}**) icon. **RSS** (**{rss}**) icon.
## Transfer projects into groups
Learn how to [transfer a project into a group](../project/settings/index.md#transferring-an-existing-project-into-another-namespace).
## Share a project with a group
You can [share your projects with a group](../project/members/share_project_with_groups.md)
and give all group members access to the project at once.
Alternatively, you can [lock the sharing with group feature](#prevent-a-project-from-being-shared-with-groups).
## Share a group with another group ## Share a group with another group
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/18328) in GitLab 12.7. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/18328) in GitLab 12.7.
Similar to how you [share a project with a group](#share-a-project-with-a-group), Similar to how you [share a project with a group](../project/members/share_project_with_groups.md),
you can share a group with another group. Members get direct access you can share a group with another group. Members get direct access
to the shared group. This is not valid for inherited members. to the shared group. This is not valid for inherited members.
...@@ -301,7 +286,7 @@ Group links can be created by using either a CN or a filter. To create these gro ...@@ -301,7 +286,7 @@ Group links can be created by using either a CN or a filter. To create these gro
For more information on the administration of LDAP and group sync, refer to the [main LDAP documentation](../../administration/auth/ldap/index.md#group-sync). For more information on the administration of LDAP and group sync, refer to the [main LDAP documentation](../../administration/auth/ldap/index.md#group-sync).
NOTE: NOTE:
If an LDAP user is a group member when LDAP Synchronization is added, and they are not part of the LDAP group, they are removed from the group. When you add LDAP synchronization, if an LDAP user is a group member and they are not part of the LDAP group, they are removed from the group.
### Create group links via CN **(PREMIUM SELF)** ### Create group links via CN **(PREMIUM SELF)**
...@@ -311,7 +296,7 @@ To create group links via CN: ...@@ -311,7 +296,7 @@ To create group links via CN:
1. Select the **LDAP Server** for the link. 1. Select the **LDAP Server** for the link.
1. As the **Sync method**, select `LDAP Group cn`. 1. As the **Sync method**, select `LDAP Group cn`.
1. In the **LDAP Group cn** text input box, begin typing the CN of the group. There is a dropdown menu with matching CNs within the configured `group_base`. Select your CN from this list. 1. In the **LDAP Group cn** field, begin typing the CN of the group. There is a dropdown menu with matching CNs in the configured `group_base`. Select your CN from this list.
1. In the **LDAP Access** section, select the [permission level](../permissions.md) for users synced in this group. 1. In the **LDAP Access** section, select the [permission level](../permissions.md) for users synced in this group.
1. Select the **Add Synchronization** button. 1. Select the **Add Synchronization** button.
...@@ -329,7 +314,7 @@ To create group links via filter: ...@@ -329,7 +314,7 @@ To create group links via filter:
### Override user permissions **(PREMIUM SELF)** ### Override user permissions **(PREMIUM SELF)**
LDAP user permissions can be manually overridden by an admin user. To override a user's permissions: LDAP user permissions can be manually overridden by an administrator. To override a user's permissions:
1. Go to your group's **Members** page. 1. Go to your group's **Members** page.
1. In the row for the user you are editing, select the pencil (**{pencil}**) icon. 1. In the row for the user you are editing, select the pencil (**{pencil}**) icon.
...@@ -337,28 +322,16 @@ LDAP user permissions can be manually overridden by an admin user. To override a ...@@ -337,28 +322,16 @@ LDAP user permissions can be manually overridden by an admin user. To override a
Now you can edit the user's permissions from the **Members** page. Now you can edit the user's permissions from the **Members** page.
## Epics **(ULTIMATE)**
> Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2.
Epics let you manage your portfolio of projects more efficiently and with less
effort by tracking groups of issues that share a theme, across projects and
milestones.
[Learn more about Epics.](epics/index.md)
## Group wikis **(PREMIUM)** ## Group wikis **(PREMIUM)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13195) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.5. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13195) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.5.
Group wikis work the same way as [project wikis](../project/wiki/index.md), please refer to those docs for details on usage. Group wikis work the same way as [project wikis](../project/wiki/index.md).
Group wikis can be edited by members with [Developer permissions](../../user/permissions.md#group-members-permissions) Group wikis can be edited by members with [Developer permissions](../../user/permissions.md#group-members-permissions)
and above. and above.
Group wiki repositories can be moved through the [Group repository storage moves API](../../api/group_repository_storage_moves.md). You can move group wiki repositories by using the [Group repository storage moves API](../../api/group_repository_storage_moves.md).
### Group wikis limitations
There are a few limitations compared to project wikis: There are a few limitations compared to project wikis:
...@@ -366,29 +339,7 @@ There are a few limitations compared to project wikis: ...@@ -366,29 +339,7 @@ There are a few limitations compared to project wikis:
- Group wikis are not included in global search and Geo replication. - Group wikis are not included in global search and Geo replication.
- Changes to group wikis don't show up in the group's activity feed. - Changes to group wikis don't show up in the group's activity feed.
For updates, you can follow: For updates, follow [the epic that tracks feature parity with project wikis](https://gitlab.com/groups/gitlab-org/-/epics/2782).
- [The epic tracking feature parity with project wikis](https://gitlab.com/groups/gitlab-org/-/epics/2782).
## Group Security Dashboard **(ULTIMATE)**
Get an overview of the vulnerabilities of all the projects in a group and its subgroups.
[Learn more about the Group Security Dashboard.](../application_security/security_dashboard/index.md)
## Insights **(ULTIMATE)**
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/725) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0.
Configure the Insights that matter for your groups or projects, allowing users
to explore data such as:
- Triage hygiene
- Issues created/closed per a given period
- Average time for merge requests to be merged
- Much more
[Learn more about Insights](insights/index.md).
## Transfer a group ## Transfer a group
...@@ -403,66 +354,66 @@ When transferring groups, note: ...@@ -403,66 +354,66 @@ When transferring groups, note:
- Changing a group's parent can have unintended side effects. See [Redirects when changing repository paths](../project/repository/index.md#redirects-when-changing-repository-paths). - Changing a group's parent can have unintended side effects. See [Redirects when changing repository paths](../project/repository/index.md#redirects-when-changing-repository-paths).
- You can only transfer groups to groups you manage. - You can only transfer groups to groups you manage.
- You must update your local repositories to point to the new location. - You must update your local repositories to point to the new location.
- If the immediate parent group's visibility is lower than the group's current visibility, visibility levels for subgroups and projects will change to match the new parent group's visibility. - If the immediate parent group's visibility is lower than the group's current visibility, visibility levels for subgroups and projects change to match the new parent group's visibility.
- Only explicit group membership is transferred, not inherited membership. If the group's owners have only inherited membership, this leaves the group without an owner. In this case, the user transferring the group becomes the group's owner. - Only explicit group membership is transferred, not inherited membership. If the group's owners have only inherited membership, this leaves the group without an owner. In this case, the user transferring the group becomes the group's owner.
- Transfers will fail if [packages](../packages/index.md) exist in any of the projects within the group, or in any of its subgroups. - Transfers fail if [packages](../packages/index.md) exist in any of the projects in the group, or in any of its subgroups.
## Change a group's path ## Change a group's path
Changing a group's path (group URL) can have unintended side effects. Read Changing a group's path (group URL) can have unintended side effects. Read
[how redirects will behave](../project/repository/index.md#redirects-when-changing-repository-paths) [how redirects behave](../project/repository/index.md#redirects-when-changing-repository-paths)
before proceeding. before you proceed.
If you are vacating the path so it can be claimed by another group or user, If you are changing the path so it can be claimed by another group or user,
you may need to rename the group too, since both names and paths must you may need to rename the group too. Both names and paths must
be unique. be unique.
To retain ownership of the original namespace and protect the URL redirects,
create a new group and transfer projects to it instead.
To change your group path (group URL): To change your group path (group URL):
1. Navigate to your group's **Settings > General** page. 1. Go to your group's **Settings > General** page.
1. Expand the **Path, transfer, remove** section. 1. Expand the **Path, transfer, remove** section.
1. Enter a new name under **Change group URL**. 1. Under **Change group URL**, enter a new name.
1. Click **Change group URL**. 1. Select **Change group URL**.
WARNING: WARNING:
It is currently not possible to rename a namespace if it contains a It is not possible to rename a namespace if it contains a
project with [Container Registry](../packages/container_registry/index.md) tags, project with [Container Registry](../packages/container_registry/index.md) tags,
because the project cannot be moved. because the project cannot be moved.
NOTE:
If you want to retain ownership over the original namespace and
protect the URL redirects, then instead of changing a group's path or renaming a
username, you can create a new group and transfer projects to it.
## Use a custom name for the initial branch ## Use a custom name for the initial branch
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43290) in GitLab 13.6. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43290) in GitLab 13.6.
By default, when you create a new project in GitLab, the initial branch is called `master`. By default, when you create a new project in GitLab, the initial branch is called `master`.
For groups, a group owner can customize the initial branch name to something For groups, a group owner can customize the initial branch name to something
else. This way, every new project created under that group from then on will start from the custom branch name rather than `master`. To do so: else. This way, every new project created under that group from then on starts from the custom branch name rather than `master`.
1. Go to the **Group page > Settings > Repository** and expand **Default initial To use a custom name for the initial branch:
branch name**.
1. Go to the group's **Settings > Repository** page.
1. Expand the **Default initial branch name** section.
1. Change the default initial branch to a custom name of your choice. 1. Change the default initial branch to a custom name of your choice.
1. **Save Changes**. 1. Select **Save changes**.
## Remove a group ## Remove a group
To remove a group and its contents: To remove a group and its contents:
1. Navigate to your group's **Settings > General** page. 1. Go to your group's **Settings > General** page.
1. Expand the **Path, transfer, remove** section. 1. Expand the **Path, transfer, remove** section.
1. In the Remove group section, click the **Remove group** button. 1. In the Remove group section, select **Remove group**.
1. Confirm the action when asked to. 1. Confirm the action.
This action either: This action removes the group. It also adds a background job to delete all projects in the group.
- Removes the group, and also queues a background job to delete all projects in that group. Specifically:
- Since [GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/33257), on [Premium](https://about.gitlab.com/pricing/premium/) or higher tiers, this action adds a background job to mark a group for deletion. By default, the job schedules the deletion 7 days in the future. You can modify this waiting period through the [instance settings](../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
Since [GitLab 13.6](https://gitlab.com/gitlab-org/gitlab/-/issues/39504), if the user who sets up the deletion leaves or is otherwise removed from the group before the - In [GitLab 12.8 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/33257), on [Premium](https://about.gitlab.com/pricing/premium/) or higher tiers, this action adds a background job to mark a group for deletion. By default, the job schedules the deletion 7 days in the future. You can modify this waiting period through the [instance settings](../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
actual deletion happens, the job is cancelled, and the group is no longer scheduled for deletion. - In [GitLab 13.6 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/39504), if the user who sets up the deletion is removed from the group before the
deletion happens, the job is cancelled, and the group is no longer scheduled for deletion.
## Restore a group **(PREMIUM)** ## Restore a group **(PREMIUM)**
...@@ -470,15 +421,9 @@ actual deletion happens, the job is cancelled, and the group is no longer schedu ...@@ -470,15 +421,9 @@ actual deletion happens, the job is cancelled, and the group is no longer schedu
To restore a group that is marked for deletion: To restore a group that is marked for deletion:
1. Navigate to your group's **Settings > General** page. 1. Go to your group's **Settings > General** page.
1. Expand the **Path, transfer, remove** section. 1. Expand the **Path, transfer, remove** section.
1. In the Restore group section, click the **Restore group** button. 1. In the Restore group section, select **Restore group**.
## Enforce two-factor authentication for group members
Add a security layer to your group by
[enforcing two-factor authentication (2FA)](../../security/two_factor_authentication.md#enforcing-2fa-for-all-users-in-a-group)
for all group members.
## Prevent a project from being shared with groups ## Prevent a project from being shared with groups
...@@ -486,34 +431,33 @@ Prevent projects in a group from [sharing ...@@ -486,34 +431,33 @@ Prevent projects in a group from [sharing
a project with another group](../project/members/share_project_with_groups.md) to enable tighter control over project access. a project with another group](../project/members/share_project_with_groups.md) to enable tighter control over project access.
For example, let's say you have two distinct teams (Group A and Group B) working together in a project, and to inherit the group membership, you share the project between the For example, let's say you have two distinct teams (Group A and Group B) working together in a project, and to inherit the group membership, you share the project between the
two groups A and B. **Share with group lock** prevents any project within two groups A and B. **Share with group lock** prevents any project in
the group from being shared with another group, the group from being shared with another group,
guaranteeing that only the right group members have access to those projects. guaranteeing that only the right group members have access to those projects.
To enable this feature, navigate to the group settings page. Select To prevent a project from being shared with groups:
**Share with group lock** and **Save the group**.
![Checkbox for share with group lock](img/share_with_group_lock.png) 1. Go to the group's **Settings > General** page.
1. Select **Share with group lock**.
1. Select **Save the group**.
## Prevent members from being added to a group **(PREMIUM)** ## Prevent members from being added to a group **(PREMIUM)**
Member lock lets a group owner prevent any new project membership to all of the Member lock lets a group owner prevent any new project membership to all of the
projects within a group, allowing tighter control over project membership. projects in a group, allowing tighter control over project membership.
For example, if you want to lock the group for an [Audit Event](../../administration/audit_events.md), For example, if you want to lock the group for an [Audit Event](../../administration/audit_events.md),
enable Member lock to guarantee that project membership cannot be modified during that audit. enable member lock to guarantee that project membership cannot be modified during the audit.
To enable this feature: To prevent members from being added to a group:
1. Navigate to the group's **Settings > General** page. 1. Go to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section, and select **Member lock**. 1. Expand the **Permissions, LFS, 2FA** section.
1. Click **Save changes**. 1. Select **Member lock**.
1. Select **Save changes**.
![Checkbox for membership lock](img/member_lock.png)
This will disable the option for all users who previously had permissions to All users who previously had permissions can no longer add members to a group.
operate project memberships, so no new users can be added. Furthermore, any API requests to add a new user to a project are not possible.
request to add a new user to a project through API will not be possible.
## Restrict group access by IP address **(PREMIUM)** ## Restrict group access by IP address **(PREMIUM)**
...@@ -521,13 +465,12 @@ request to add a new user to a project through API will not be possible. ...@@ -521,13 +465,12 @@ request to add a new user to a project through API will not be possible.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/215410) to [GitLab Premium](https://about.gitlab.com/pricing/) in 13.1. > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/215410) to [GitLab Premium](https://about.gitlab.com/pricing/) in 13.1.
NOTE: NOTE:
IP Access Restrictions are currently not functioning as expected on GitLab.com. If enabled, IP access restrictions are not functioning as expected on GitLab.com. If enabled,
users cannot perform Git operations through SSH, or access projects via the UI. Please users cannot perform Git operations through SSH, or access projects in the UI.
review the [following bug report](https://gitlab.com/gitlab-org/gitlab/-/issues/271673) for For more information, [see this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/271673).
more information.
To make sure only people from within your organization can access particular To ensure only people from your organization can access particular
resources, you have the option to restrict access to groups and their resources, you can restrict access to groups and their
underlying subgroups, projects, issues, and so on, by IP address. This can help ensure that underlying subgroups, projects, issues, and so on, by IP address. This can help ensure that
particular content doesn't leave the premises, while not blocking off access to particular content doesn't leave the premises, while not blocking off access to
the entire instance. IP access restrictions can only be configured at the group level. the entire instance. IP access restrictions can only be configured at the group level.
...@@ -545,55 +488,48 @@ Restriction currently applies to: ...@@ -545,55 +488,48 @@ Restriction currently applies to:
To avoid accidental lock-out, admins and group owners are able to access To avoid accidental lock-out, admins and group owners are able to access
the group regardless of the IP restriction. the group regardless of the IP restriction.
To enable this feature: To restrict group access by IP address:
1. Navigate to the group’s **Settings > General** page. 1. Go to the group’s **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section, and enter IP address ranges into **Allow access to the following IP addresses** field. 1. Expand the **Permissions, LFS, 2FA** section.
1. Click **Save changes**. 1. In the **Allow access to the following IP addresses** field, enter IP address ranges.
1. Select **Save changes**.
![Domain restriction by IP address](img/restrict-by-ip.gif) ![Domain restriction by IP address](img/restrict-by-ip.gif)
## Restrict group access by domain **(PREMIUM)** ## Restrict group access by domain **(PREMIUM)**
>- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7297) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2. >- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7297) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2.
>- Support for specifying multiple email domains [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33143) in GitLab 13.1 >- Support for specifying multiple email domains [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33143) added in GitLab 13.1.
You can restrict access to groups by allowing only users with email addresses in particular domains to be added to the group. You can prevent users with email addresses in specific domains from being added to a group.
Add email domains you want to allow and users with emails from different domains won't be allowed to be added to this group. To restrict group access by domain:
Some domains cannot be restricted. These are the most popular public email domains, such as: 1. Go to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section.
- `gmail.com` 1. In the **Restrict membership by email** field, enter the domain names.
- `yahoo.com` 1. Select **Save changes**.
- `hotmail.com`
- `aol.com`
- `msn.com`
- `hotmail.co.uk`
- `hotmail.fr`
- `live.com`
- `outlook.com`
- `icloud.com`
To enable this feature:
1. Navigate to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section, and enter the domain names into **Restrict membership by email** field.
1. Click **Save changes**.
![Domain restriction by email](img/restrict-by-email.gif) ![Domain restriction by email](img/restrict-by-email.gif)
This will enable the domain-checking for all new users added to the group from this moment on. Any time you attempt to add a new user, they are compared against this list.
Some domains cannot be restricted. These are the most popular public email domains, such as:
- `gmail.com`, `yahoo.com`, `aol.com`, `icloud.com`
- `hotmail.com`, `hotmail.co.uk`, `hotmail.fr`
- `msn.com`, `live.com`, `outlook.com`
NOTE: NOTE:
Domain restrictions only apply to groups and do not prevent users from being added as members of projects owned by the restricted group. Domain restrictions apply to groups only. They do not prevent users from being added as members of projects owned by the restricted group.
## Group file templates **(PREMIUM)** ## Group file templates **(PREMIUM)**
Group file templates allow you to share a set of templates for common file Use group file templates to share a set of templates for common file
types with every project in a group. It is analogous to the types with every project in a group. It is analogous to the
[instance template repository](../admin_area/settings/instance_template_repository.md) [instance template repository](../admin_area/settings/instance_template_repository.md).
feature, and the selected project should follow the same naming conventions as The selected project should follow the same naming conventions as
are documented on that page. are documented on that page.
You can only choose projects in the group as the template source. You can only choose projects in the group as the template source.
...@@ -601,18 +537,17 @@ This includes projects shared with the group, but it **excludes** projects in ...@@ -601,18 +537,17 @@ This includes projects shared with the group, but it **excludes** projects in
subgroups or parent groups of the group being configured. subgroups or parent groups of the group being configured.
You can configure this feature for both subgroups and immediate parent groups. A project You can configure this feature for both subgroups and immediate parent groups. A project
in a subgroup will have access to the templates for that subgroup, as well as in a subgroup has access to the templates for that subgroup, as well as
any immediate parent groups. any immediate parent groups.
![Group file template dropdown](img/group_file_template_dropdown.png) To enable group file templates:
To enable this feature, navigate to the group settings page, expand the
**Templates** section, choose a project to act as the template repository, and
**Save group**.
![Group file template settings](img/group_file_template_settings.png) 1. Go to the group settings page.
1. Expand the **Templates** section.
1. Choose a project to act as the template repository.
1. Select **Save group**.
To learn how to create templates for issues and merge requests, visit To learn how to create templates for issues and merge requests, see
[Description templates](../project/description_templates.md). [Description templates](../project/description_templates.md).
### Group-level project templates **(PREMIUM)** ### Group-level project templates **(PREMIUM)**
...@@ -620,19 +555,20 @@ To learn how to create templates for issues and merge requests, visit ...@@ -620,19 +555,20 @@ To learn how to create templates for issues and merge requests, visit
Define project templates at a group level by setting a group as the template source. Define project templates at a group level by setting a group as the template source.
[Learn more about group-level project templates](custom_project_templates.md). [Learn more about group-level project templates](custom_project_templates.md).
## Disabling email notifications ## Disable email notifications
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/23585) in GitLab 12.2. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/23585) in GitLab 12.2.
You can disable all email notifications related to the group, which includes its subgroups and projects. You can disable all email notifications related to the group, which includes its subgroups and projects.
To enable this feature: To disable email notifications:
1. Navigate to the group's **Settings > General** page. 1. Go to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section, and select **Disable email notifications**. 1. Expand the **Permissions, LFS, 2FA** section.
1. Click **Save changes**. 1. Select **Disable email notifications**.
1. Select **Save changes**.
## Disabling group mentions ## Disable group mentions
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21301) in GitLab 12.6. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21301) in GitLab 12.6.
...@@ -643,28 +579,30 @@ Groups with disabled mentions are visualized accordingly in the autocompletion d ...@@ -643,28 +579,30 @@ Groups with disabled mentions are visualized accordingly in the autocompletion d
This is particularly helpful for groups with a large number of users. This is particularly helpful for groups with a large number of users.
To enable this feature: To disable group mentions:
1. Navigate to the group's **Settings > General** page. 1. Go to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section, and select **Disable group mentions**. 1. Expand the **Permissions, LFS, 2FA** section.
1. Click **Save changes**. 1. Select **Disable group mentions**.
1. Select **Save changes**.
## Enabling delayed project removal **(PREMIUM)** ## Enable delayed project removal **(PREMIUM)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2.
By default, projects within a group are deleted immediately. By default, projects in a group are deleted immediately.
Optionally, on [Premium](https://about.gitlab.com/pricing/) or higher tiers, Optionally, on [Premium](https://about.gitlab.com/pricing/) or higher tiers,
you can configure the projects within a group to be deleted after a delayed interval. you can configure the projects in a group to be deleted after a delayed interval.
During this interval period, the projects will be in a read-only state and can be restored, if required. During this interval period, the projects are in a read-only state and can be restored, if required.
The interval period defaults to 7 days, and can be modified by an admin in the [instance settings](../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). The interval period defaults to 7 days, and can be modified by an administrator in the [instance settings](../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
To enable delayed deletion of projects: To enable delayed deletion of projects:
1. Navigate to the group's **Settings > General** page. 1. Go to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section, and check **Enable delayed project removal**. 1. Expand the **Permissions, LFS, 2FA** section.
1. Click **Save changes**. 1. Check **Enable delayed project removal**.
1. Select **Save changes**.
NOTE: NOTE:
The group setting for delayed deletion is not inherited by subgroups and has to be individually defined for each group. The group setting for delayed deletion is not inherited by subgroups and has to be individually defined for each group.
...@@ -673,29 +611,19 @@ The group setting for delayed deletion is not inherited by subgroups and has to ...@@ -673,29 +611,19 @@ The group setting for delayed deletion is not inherited by subgroups and has to
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216987) in GitLab 13.3. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216987) in GitLab 13.3.
By default, projects within a group can be forked. By default, projects in a group can be forked.
Optionally, on [Premium](https://about.gitlab.com/pricing/) or higher tiers, Optionally, on [Premium](https://about.gitlab.com/pricing/) or higher tiers,
you can prevent the projects within a group from being forked outside of the current top-level group. you can prevent the projects in a group from being forked outside of the current top-level group.
Previously this setting was available only for groups enforcing group managed account. This setting will be Previously this setting was available only for groups enforcing group managed account. This setting will be
removed from SAML setting page and migrated to group setting, but in the interim period of changes both of those settings will be taken into consideration, if even one is set to `true` then it will be assumed group does not allow forking projects outside. removed from SAML setting page and migrated to group setting, but in the interim period of changes both of those settings will be taken into consideration, if even one is set to `true` then it will be assumed group does not allow forking projects outside.
To enable prevent project forking: To enable prevent project forking:
1. Navigate to the top-level group's **Settings > General** page. 1. Go to the top-level group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section, and check **Prevent project forking outside current group**. 1. Expand the **Permissions, LFS, 2FA** section.
1. Click **Save changes**. 1. Check **Prevent project forking outside current group**.
1. Select **Save changes**.
## Advanced settings
- **Projects**: View all projects within that group, add members to each project,
access each project's settings, and remove any project, all from the same screen.
- **Webhooks**: Configure [webhooks](../project/integrations/webhooks.md) for your group.
- **Kubernetes cluster integration**: Connect your GitLab group with [Kubernetes clusters](clusters/index.md).
- **Audit Events**: View [Audit Events](../../administration/audit_events.md#group-events)
for the group.
- **Pipelines quota**: Keep track of the [pipeline quota](../admin_area/settings/continuous_integration.md) for the group.
- **Integrations**: Configure [integrations](../admin_area/settings/project_integration_management.md) for your group.
## Group push rules **(PREMIUM)** ## Group push rules **(PREMIUM)**
...@@ -703,60 +631,43 @@ To enable prevent project forking: ...@@ -703,60 +631,43 @@ To enable prevent project forking:
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/224129) in GitLab 13.4. > - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/224129) in GitLab 13.4.
Group push rules allow group maintainers to set Group push rules allow group maintainers to set
[push rules](../../push_rules/push_rules.md) for newly created projects within the specific group. [push rules](../../push_rules/push_rules.md) for newly created projects in the specific group.
To configure push rules for a group:
To configure push rules for a group, navigate to **{push-rules}** on the group's 1. Go to the groups's **Push Rules** page.
sidebar. 1. Select the settings you want.
1. Select **Save Push Rules**.
When set, new subgroups have push rules set for them based on either: The group's new subgroups have push rules set for them based on either:
- The closest parent group with push rules defined. - The closest parent group with push rules defined.
- Push rules set at the instance level, if no parent groups have push rules defined. - Push rules set at the instance level, if no parent groups have push rules defined.
## Maximum artifacts size **(FREE SELF)** ## Related topics
For information about setting a maximum artifact size for a group, see - [Maximum artifacts size](../admin_area/settings/continuous_integration.md#maximum-artifacts-size). **(FREE SELF)**
[Maximum artifacts size](../admin_area/settings/continuous_integration.md#maximum-artifacts-size). - [Repositories analytics](repositories_analytics/index.md): View overall activity of all projects with code coverage.
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/263478) in GitLab 13.6. **(PREMIUM)**
## User contribution analysis **(PREMIUM)** - [Contribution analytics](contribution_analytics/index.md): View the contributions (pushes, merge requests,
and issues) of group members. **(PREMIUM)**
With [GitLab Contribution Analytics](contribution_analytics/index.md), - [Issue analytics](issues_analytics/index.md): View a bar chart of your group's number of issues per month. **(PREMIUM)**
you have an overview of the contributions (pushes, merge requests, - Use GitLab as a [dependency proxy](../packages/dependency_proxy/index.md) for upstream Docker images.
and issues) performed by your group members. - [DORA4 Project Analytics API](../../api/dora4_group_analytics.md): View deployment frequency analytics.
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291747) in GitLab Ultimate 13.9 as a
## Issue analytics **(PREMIUM)** [Beta feature](https://about.gitlab.com/handbook/product/gitlab-the-product/#beta). **(ULTIMATE SELF)**
- [Epics](epics/index.md): Track groups of issues that share a theme. **(ULTIMATE)**
With [GitLab Issue Analytics](issues_analytics/index.md), you can see a bar chart of the number of issues created each month in your groups. - [Security Dashboard](../application_security/security_dashboard/index.md): View the vulnerabilities of all
the projects in a group and its subgroups. **(ULTIMATE)**
## Repositories analytics **(PREMIUM)** - [Insights](insights/index.md): Configure insights like triage hygiene, issues created/closed per a given period, and
average time for merge requests to be merged. **(ULTIMATE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/263478) in GitLab 13.6. - [Webhooks](../project/integrations/webhooks.md).
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/276003) in GitLab 13.7. - [Kubernetes cluster integration](clusters/index.md).
- [Audit Events](../../administration/audit_events.md#group-events). **(PREMIUM)**
With [GitLab Repositories Analytics](repositories_analytics/index.md), you can view overall activity of all projects with code coverage. - [Pipelines quota](../admin_area/settings/continuous_integration.md): Keep track of the pipeline quota for the group.
- [Integrations](../admin_area/settings/project_integration_management.md).
## Dependency Proxy - [Transfer a project into a group](../project/settings/index.md#transferring-an-existing-project-into-another-namespace).
- [Share a project with a group](../project/members/share_project_with_groups.md): Give all group members access to the project at once.
Use GitLab as a [dependency proxy](../packages/dependency_proxy/index.md) for upstream Docker images. - [Lock the sharing with group feature](#prevent-a-project-from-being-shared-with-groups).
- [Enforce two-factor authentication (2FA)](../../security/two_factor_authentication.md#enforcing-2fa-for-all-users-in-a-group): Enforce 2FA
<!-- ## Troubleshooting for all group members.
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support, and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
## DORA4 analytics overview **(ULTIMATE ONLY)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291747) in GitLab [Ultimate](https://about.gitlab.com/pricing/) 13.9 as a [Beta feature](https://about.gitlab.com/handbook/product/gitlab-the-product/#beta).
Group details include the following analytics:
- Deployment Frequency
For more information, see [DORA4 Project Analytics API](../../api/dora4_group_analytics.md).
...@@ -266,7 +266,7 @@ This action: ...@@ -266,7 +266,7 @@ This action:
- Deletes a project including all associated resources (issues, merge requests etc). - Deletes a project including all associated resources (issues, merge requests etc).
- From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) on [Premium](https://about.gitlab.com/pricing/) or higher tiers, - From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) on [Premium](https://about.gitlab.com/pricing/) or higher tiers,
group owners can [configure](../../group/index.md#enabling-delayed-project-removal) projects within a group group owners can [configure](../../group/index.md#enable-delayed-project-removal) projects within a group
to be deleted after a delayed period. to be deleted after a delayed period.
When enabled, actual deletion happens after number of days When enabled, actual deletion happens after number of days
specified in [instance settings](../../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). specified in [instance settings](../../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
......
...@@ -212,7 +212,7 @@ To delete a project, first navigate to the home page for that project. ...@@ -212,7 +212,7 @@ To delete a project, first navigate to the home page for that project.
1. Click **Delete project** 1. Click **Delete project**
1. Confirm this action by typing in the expected text. 1. Confirm this action by typing in the expected text.
Projects in personal namespaces are deleted immediately on request. For information on delayed deletion of projects in a group, please see [Enabling delayed project removal](../group/index.md#enabling-delayed-project-removal). Projects in personal namespaces are deleted immediately on request. For information on delayed deletion of projects in a group, please see [Enable delayed project removal](../group/index.md#enable-delayed-project-removal).
## Project settings ## Project settings
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
= insight_form.label :project_id, class: 'label-light' do = insight_form.label :project_id, class: 'label-light' do
.form-text.text-muted .form-text.text-muted
= _('Select a repository') = _('Select a repository')
= link_to sprite_icon('question-o'), help_page_path('user/group/index.md', anchor: 'insights'), target: '_blank' = link_to sprite_icon('question-o'), help_page_path('user/group/insights/index.md'), target: '_blank'
= project_select_tag('group[insight_attributes][project_id]', class: 'project-item-select hidden-filter-value', toggle_class: 'js-project-search js-project-filter js-filter-submit', dropdown_class: 'dropdown-menu-selectable dropdown-menu-project js-filter-submit', = project_select_tag('group[insight_attributes][project_id]', class: 'project-item-select hidden-filter-value', toggle_class: 'js-project-search js-project-filter js-filter-submit', dropdown_class: 'dropdown-menu-selectable dropdown-menu-project js-filter-submit',
placeholder: _('Search projects'), idAttribute: 'id', data: { order_by: 'last_activity_at', idattribute: 'id', simple_filter: true, allow_clear: true, include_projects_in_subgroups: true }, value: insight.project_id) placeholder: _('Search projects'), idAttribute: 'id', data: { order_by: 'last_activity_at', idattribute: 'id', simple_filter: true, allow_clear: true, include_projects_in_subgroups: true }, value: insight.project_id)
= form.submit _('Save changes'), class: "btn gl-button btn-success" = form.submit _('Save changes'), class: "btn gl-button btn-success"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment