summaryrefslogtreecommitdiff
path: root/doc/user/group
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/group')
-rw-r--r--doc/user/group/bulk_editing/index.md1
-rw-r--r--doc/user/group/clusters/index.md14
-rw-r--r--doc/user/group/custom_project_templates.md57
-rw-r--r--doc/user/group/devops_adoption/img/group_devops_adoption_v13_11.pngbin58389 -> 0 bytes
-rw-r--r--doc/user/group/devops_adoption/img/group_devops_adoption_v14_0.pngbin0 -> 52890 bytes
-rw-r--r--doc/user/group/devops_adoption/index.md26
-rw-r--r--doc/user/group/epics/epic_boards.md170
-rw-r--r--doc/user/group/epics/img/epic_board_v13_10.pngbin42037 -> 0 bytes
-rw-r--r--doc/user/group/epics/img/epic_board_v14_0.pngbin0 -> 16512 bytes
-rw-r--r--doc/user/group/epics/manage_epics.md27
-rw-r--r--doc/user/group/import/index.md7
-rw-r--r--doc/user/group/index.md68
-rw-r--r--doc/user/group/insights/index.md2
-rw-r--r--doc/user/group/issues_analytics/img/issues_created_per_month_v12_8_a.pngbin54332 -> 16244 bytes
-rw-r--r--doc/user/group/repositories_analytics/index.md4
-rw-r--r--doc/user/group/saml_sso/img/member_enterprise_badge_v14_0.pngbin0 -> 31502 bytes
-rw-r--r--doc/user/group/saml_sso/img/saml_group_links_v13_9.pngbin0 -> 162931 bytes
-rw-r--r--doc/user/group/saml_sso/index.md21
-rw-r--r--doc/user/group/saml_sso/scim_setup.md4
-rw-r--r--doc/user/group/settings/import_export.md10
-rw-r--r--doc/user/group/subgroups/index.md23
-rw-r--r--doc/user/group/value_stream_analytics/img/delete_value_stream_v13_12.pngbin57007 -> 20164 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/new_value_stream_v13_12.pngbin55481 -> 19993 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_12.pngbin125695 -> 36706 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_label_based_stage_v14_0.pngbin65149 -> 19873 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_overview_stage_v13_11.pngbin60960 -> 21148 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_12.pngbin51065 -> 18354 bytes
-rw-r--r--doc/user/group/value_stream_analytics/index.md4
28 files changed, 287 insertions, 151 deletions
diff --git a/doc/user/group/bulk_editing/index.md b/doc/user/group/bulk_editing/index.md
index 48644b7427d..feceafd0991 100644
--- a/doc/user/group/bulk_editing/index.md
+++ b/doc/user/group/bulk_editing/index.md
@@ -1,5 +1,6 @@
---
redirect_to: '../../../user/group/index.md'
+remove_date: '2021-08-13'
---
This document was moved to [another location](../../../user/group/index.md).
diff --git a/doc/user/group/clusters/index.md b/doc/user/group/clusters/index.md
index 87b259df9d8..4de464822f7 100644
--- a/doc/user/group/clusters/index.md
+++ b/doc/user/group/clusters/index.md
@@ -17,12 +17,11 @@ your group, enabling you to use the same cluster across multiple projects.
To view your group level Kubernetes clusters, navigate to your project and select
**Kubernetes** from the left-hand menu.
-## Installing applications
+## Cluster management project
-GitLab can install and manage some applications in your group-level
-cluster. For more information on installing, upgrading, uninstalling,
-and troubleshooting applications for your group cluster, see
-[GitLab Managed Apps](../../clusters/applications.md).
+Attach a [cluster management project](../../clusters/management_project.md)
+to your cluster to manage shared resources requiring `cluster-admin` privileges for
+installation, such as an Ingress controller.
## RBAC compatibility
@@ -72,9 +71,6 @@ for deployments with a cluster not managed by GitLab, you must ensure:
(this is [not automatic](https://gitlab.com/gitlab-org/gitlab/-/issues/31519)). Editing
`KUBE_NAMESPACE` directly is discouraged.
-If you [install applications](#installing-applications) on your cluster, GitLab creates
-the resources required to run them, even if you choose to manage your own cluster.
-
### Clearing the cluster cache
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/31759) in GitLab 12.6.
@@ -100,7 +96,7 @@ per [multiple Kubernetes clusters](#multiple-kubernetes-clusters) When specifyin
this is automatically set as an environment variable (`KUBE_INGRESS_BASE_DOMAIN`) during
the [Auto DevOps](../../../topics/autodevops/index.md) stages.
-The domain should have a wildcard DNS configured to the Ingress IP address.
+The domain should have a wildcard DNS configured to the Ingress IP address. [More details](../../project/clusters/index.md#base-domain).
## Environment scopes **(PREMIUM)**
diff --git a/doc/user/group/custom_project_templates.md b/doc/user/group/custom_project_templates.md
index 016bda329b2..d544003536e 100644
--- a/doc/user/group/custom_project_templates.md
+++ b/doc/user/group/custom_project_templates.md
@@ -9,26 +9,29 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6861) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.6.
-Custom project templates are useful for organizations that need to create many similar types of [projects](../project/index.md) and want to start from the same jumping-off point.
+Custom project templates are useful for organizations that need to create many similar types of
+[projects](../project/index.md).
+Projects created from these templates serve as a common starting point.
## Setting up group-level project templates
-To use a custom project template for a new project you need to:
+To use a custom project template for a new project:
-1. [Create a 'templates' subgroup](subgroups/index.md).
-1. [Add repositories (projects) to the that new subgroup](index.md#add-projects-to-a-group), as your templates.
-1. Edit your group's settings to look to your 'templates' subgroup for templates:
- 1. In the left-hand menu, click **{settings}** **Settings > General**.
+1. [Create a `templates` subgroup](subgroups/index.md).
+1. [Add repositories (projects) to that new subgroup](index.md#add-projects-to-a-group),
+ as your templates.
+1. Edit your group's settings to look to your _templates_ subgroup for templates:
- NOTE:
- If you don't have access to the group's settings, you may not have sufficient privileges (for example, you may need developer or higher permissions).
-
- 1. Scroll to **Custom project templates** and click **Expand**. If no **Custom project templates** section displays, make sure you've created a subgroup, and added a project (repository) to it.
- 1. Select the 'templates' subgroup.
+ 1. In the left menu, select **Settings > General**. If you don't have access to the
+ group's settings, you may not have sufficient privileges (for example, you may need developer
+ or higher permissions).
+ 1. Scroll to **Custom project templates** and select **Expand**. If no **Custom project templates**
+ section displays, make sure you've created a subgroup and added a project (repository) to it.
+ 1. Select the **templates** subgroup.
### Example structure
-Here is a sample group/project structure for a hypothetical "Acme Co" for project templates:
+Here's a sample group/project structure for project templates, for a hypothetical _Acme Co_:
```plaintext
# GitLab instance and group
@@ -53,24 +56,22 @@ gitlab.com/acmeco/
### Adjust Settings
-Users can configure a GitLab group that serves as template
-source under a group's **Settings > General > Custom project templates**.
-
-NOTE:
-GitLab administrators can
-[set project templates for an entire GitLab instance](../admin_area/custom_project_templates.md).
-
-Within this section, you can configure the group where all the custom project
-templates are sourced. Every project _template_ directly under the group namespace is
-available to every signed-in user, if all enabled [project features](../project/settings/index.md#sharing-and-permissions) except for GitLab Pages are set to **Everyone With Access**.
-
-However, private projects will be available only if the user is a member of the project.
+Users can configure a GitLab group that serves as template source under a group's
+**Settings > General > Custom project templates**.
NOTE:
-Only direct subgroups can be set as the template source. Projects of nested subgroups of a selected template source cannot be used.
-
-Repository and database information that are copied over to each new project are
-identical to the data exported with the [GitLab Project Import/Export](../project/settings/import_export.md).
+GitLab administrators can [set project templates for an entire GitLab instance](../admin_area/custom_project_templates.md).
+
+Within this section, you can configure the group where all the custom project templates are sourced.
+If all enabled [project features](../project/settings/index.md#sharing-and-permissions)
+(except for GitLab Pages) are set to **Everyone With Access**, then every project template directly
+under the group namespace is available to every signed-in user. However, private projects are
+available only if the user is a member of the project. Also note that only direct subgroups can be
+set as the template source. Projects of nested subgroups of a selected template source cannot be
+used.
+
+Repository and database information that are copied over to each new project are identical to the
+data exported with the [GitLab Project Import/Export](../project/settings/import_export.md).
<!-- ## Troubleshooting
diff --git a/doc/user/group/devops_adoption/img/group_devops_adoption_v13_11.png b/doc/user/group/devops_adoption/img/group_devops_adoption_v13_11.png
deleted file mode 100644
index a6ece47ba9a..00000000000
--- a/doc/user/group/devops_adoption/img/group_devops_adoption_v13_11.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/devops_adoption/img/group_devops_adoption_v14_0.png b/doc/user/group/devops_adoption/img/group_devops_adoption_v14_0.png
new file mode 100644
index 00000000000..91055f660da
--- /dev/null
+++ b/doc/user/group/devops_adoption/img/group_devops_adoption_v14_0.png
Binary files differ
diff --git a/doc/user/group/devops_adoption/index.md b/doc/user/group/devops_adoption/index.md
index 5a23e1559bc..f98325143cc 100644
--- a/doc/user/group/devops_adoption/index.md
+++ b/doc/user/group/devops_adoption/index.md
@@ -18,21 +18,25 @@ Refer to this feature's version history for more details.
Prerequisites:
-- A minimum of [Reporter access](../../permissions.md) to the group.
+- You must have at least the [Reporter role](../../permissions.md) for the group.
To access Group DevOps Adoption, go to your group and select **Analytics > DevOps Adoption**.
Group DevOps Adoption shows you how individual groups and sub-groups within your organization use the following features:
-- Approvals
-- Deployments
-- Issues
-- Merge Requests
-- Pipelines
-- Runners
-- Scans
-
-When managing groups in the UI, you can manage your sub-groups with the **Add/Remove sub-groups**
+- Dev
+ - Issues
+ - Merge Requests
+ - Approvals
+ - Code owners
+- Sec
+ - Scans
+- Ops
+ - Runners
+ - Pipelines
+ - Deployments
+
+When managing groups in the UI, you can add your sub-groups with the **Add sub-group to table**
button, in the top right hand section of your Groups pages.
With DevOps Adoption you can:
@@ -41,7 +45,7 @@ With DevOps Adoption you can:
- Identify specific sub-groups that are lagging in their adoption of GitLab so you can help them along in their DevOps journey.
- Find the sub-groups that have adopted certain features and can provide guidance to other sub-groups on how to use those features.
-![DevOps Report](img/group_devops_adoption_v13_11.png)
+![DevOps Report](img/group_devops_adoption_v14_0.png)
## Enable data processing
diff --git a/doc/user/group/epics/epic_boards.md b/doc/user/group/epics/epic_boards.md
index 343f7c496b1..2f9dc27d87f 100644
--- a/doc/user/group/epics/epic_boards.md
+++ b/doc/user/group/epics/epic_boards.md
@@ -6,17 +6,12 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Epic Boards **(PREMIUM)**
-> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2864) in GitLab 13.10.
-> - It's [deployed behind a feature flag](../../feature_flags.md), disabled by default.
-> - It's disabled on GitLab.com.
-> - It's not recommended for production use.
-> - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](../../../administration/feature_flags.md).
-
-WARNING:
-This feature might not be available to you. Check the **version history** note above for details.
-
-The GitLab Epic Board is a software project management tool used to plan,
-organize, and visualize a workflow for a feature or product release.
+> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5067) in GitLab 13.10.
+> - [Deployed behind a feature flag](../../feature_flags.md), disabled by default.
+> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/290039) in GitLab 14.0.
+> - Enabled on GitLab.com.
+> - Recommended for production use.
+> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](../../../administration/feature_flags.md).
Epic boards build on the existing [epic tracking functionality](index.md) and
[labels](../../project/labels.md). Your epics appear as cards in vertical lists, organized by their assigned
@@ -24,45 +19,156 @@ labels.
To view an epic board, in a group, select **Epics > Boards**.
-![GitLab epic board - Premium](img/epic_board_v13_10.png)
+![GitLab epic board - Premium](img/epic_board_v14_0.png)
## Create an epic board
+Prerequisites:
+
+- A minimum of [Reporter](../../permissions.md#group-members-permissions) access to a group in GitLab.
+
To create a new epic board:
-1. Select the dropdown with the current board name in the upper left corner of the Epic Boards page.
+1. Go to your group and select **Epics > Boards**.
+1. In the upper left corner, select the dropdown with the current board name.
1. Select **Create new board**.
-1. Enter the new board's name and select **Create**.
+1. Enter the new board's title.
+1. Optional. To hide the Open or Closed lists, clear the **Show the Open list** and
+ **Show the Closed list** checkboxes.
+1. Optional. Set board scope:
+ 1. Next to **Scope**, select **Expand**.
+ 1. Next to **Labels**, select **Edit** and select the labels to use as board scope.
+1. Select **Create board**.
+
+Now you can [add some lists](#create-a-new-list).
+To change these options later, [edit the board](#edit-the-scope-of-an-epic-board).
+
+## Delete an epic board
+
+> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5079) in GitLab 14.0.
+
+Prerequisites:
+
+- A minimum of [Reporter](../../permissions.md#group-members-permissions) access to a group in GitLab.
+- A minimum of two boards present in a group.
+
+To delete the active epic board:
+
+1. Select the dropdown with the current board name in the upper left corner of the Epic Boards page.
+1. Select **Delete board**.
+1. Select **Delete**.
+
+## Actions you can take on an epic board
+
+- [Create a new list](#create-a-new-list).
+- [Remove an existing list](#remove-a-list).
+- [Filter epics](#filter-epics).
+- Create workflows, like when using [issue boards](../../project/issue_board.md#create-workflows).
+- [Move epics and lists](#move-epics-and-lists).
+- Change epic labels (by dragging an epic between lists).
+- Close an epic (by dragging it to the **Closed** list).
+- [Edit the scope of a board](#edit-the-scope-of-an-epic-board).
+
+### Create a new list
+
+Prerequisites:
+
+- A minimum of [Reporter](../../permissions.md#group-members-permissions) access to a group in GitLab.
+
+To create a new list:
+
+1. Go to your group and select **Epics > Boards**.
+1. In the upper-right corner, select **Create list**.
+1. In the **New list** column expand the **Select a label** dropdown and select the label to use as
+ list scope.
+1. Select **Add to board**.
+
+### Remove a list
+
+Removing a list doesn't have any effect on epics and labels, as it's just the
+list view that's removed. You can always create it again later if you need.
+
+Prerequisites:
+
+- A minimum of [Reporter](../../permissions.md#group-members-permissions) access to a group in GitLab.
+
+To remove a list from an epic board:
-## Limitations of epic boards
+1. On the top of the list you want to remove, select the **List settings** icon (**{settings}**).
+ The list settings sidebar opens on the right.
+1. Select **Remove list**. A confirmation dialog appears.
+1. Select **OK**.
-As of GitLab 13.10, these limitations apply:
+### Filter epics
-- Epic Boards need to be enabled by an administrator.
-- Epic Boards can be created but not deleted.
-- Lists can be added to the board but not deleted.
-- There is no sidebar on the board. To edit an epic, go to the epic's page.
-- There is no drag and drop support yet. To move an epic between lists, edit epic labels on the epic's page.
-- Epics cannot be re-ordered within the list.
+> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5079) in GitLab 14.0.
-To learn more about the future iterations of this feature, visit
-[epic 5067](https://gitlab.com/groups/gitlab-org/-/epics/5067).
+Use the filters on top of your epic board to show only
+the results you want. It's similar to the filtering used in the epic list,
+as the metadata from the epics and labels is re-used in the epic board.
-## Enable or disable Epic Boards
+You can filter by the following:
-Epic Boards are under development and not ready for production use. It is
-deployed behind a feature flag that is **disabled by default**.
+- Author
+- Label
+
+### Move epics and lists
+
+> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5079) in GitLab 14.0.
+
+You can move epics and lists by dragging them.
+
+Prerequisites:
+
+- A minimum of [Reporter](../../permissions.md#group-members-permissions) access to a group in GitLab.
+
+To move an epic, select the epic card and drag it to another position in its current list or
+into another list. Learn about possible effects in [Dragging epics between lists](#dragging-epics-between-lists).
+
+To move a list, select its top bar, and drag it horizontally.
+You can't move the **Open** and **Closed** lists, but you can hide them when editing an epic board.
+
+#### Dragging epics between lists
+
+When you drag epics between lists, the result is different depending on the source list
+and the target list.
+
+| | To Open | To Closed | To label B list |
+| --------------------- | -------------- | ---------- | ------------------------------ |
+| **From Open** | - | Close epic | Add label B |
+| **From Closed** | Reopen epic | - | Reopen epic and add label B |
+| **From label A list** | Remove label A | Close epic | Remove label A and add label B |
+
+### Edit the scope of an epic board
+
+Prerequisites:
+
+- A minimum of [Reporter](../../permissions.md#group-members-permissions) access to a group in GitLab.
+
+To edit the scope of an epic board:
+
+1. In the upper-right corner, select **Edit board**.
+1. Optional:
+ - Edit the board's title.
+ - Show or hide the Open and Closed columns.
+ - Select other labels as the board's scope.
+1. Select **Save changes**.
+
+## Enable or disable epic boards
+
+Epic boards are under development but ready for production use.
+It is deployed behind a feature flag that is **enabled by default**.
[GitLab administrators with access to the GitLab Rails console](../../../administration/feature_flags.md)
-can enable it.
+can disable it.
-To enable it:
+To disable it:
```ruby
-Feature.enable(:epic_boards)
+Feature.disable(:epic_boards)
```
-To disable it:
+To enable it:
```ruby
-Feature.disable(:epic_boards)
+Feature.enable(:epic_boards)
```
diff --git a/doc/user/group/epics/img/epic_board_v13_10.png b/doc/user/group/epics/img/epic_board_v13_10.png
deleted file mode 100644
index 85a131ea605..00000000000
--- a/doc/user/group/epics/img/epic_board_v13_10.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/epics/img/epic_board_v14_0.png b/doc/user/group/epics/img/epic_board_v14_0.png
new file mode 100644
index 00000000000..e6b4e40aa05
--- /dev/null
+++ b/doc/user/group/epics/img/epic_board_v14_0.png
Binary files differ
diff --git a/doc/user/group/epics/manage_epics.md b/doc/user/group/epics/manage_epics.md
index 7bb021b4b1f..89fd32a8db1 100644
--- a/doc/user/group/epics/manage_epics.md
+++ b/doc/user/group/epics/manage_epics.md
@@ -385,32 +385,7 @@ To remove a child epic from a parent epic:
## Cached epic count
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/299540) in GitLab 13.11.
-> - It's [deployed behind a feature flag](../../feature_flags.md), enabled by default.
-> - It's enabled on GitLab.com.
-> - It's recommended for production use.
-> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#enable-or-disable-cached-epic-count).
-
-WARNING:
-This feature might not be available to you. Check the **version history** note above for details.
+> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/327320) in GitLab 14.0.
In a group, the sidebar displays the total count of open epics and this value is cached if higher
than 1000. The cached value is rounded to thousands (or millions) and updated every 24 hours.
-
-### Enable or disable cached epic count **(PREMIUM SELF)**
-
-Cached epic count in the left sidebar is under development but ready for production use. It is
-deployed behind a feature flag that is **enabled by default**.
-[GitLab administrators with access to the GitLab Rails console](../../../administration/feature_flags.md)
-can disable it.
-
-To disable it:
-
-```ruby
-Feature.disable(:cached_sidebar_open_epics_count)
-```
-
-To enable it:
-
-```ruby
-Feature.enable(:cached_sidebar_open_epics_count)
-```
diff --git a/doc/user/group/import/index.md b/doc/user/group/import/index.md
index 14464ff1a5f..8bf995a4fd9 100644
--- a/doc/user/group/import/index.md
+++ b/doc/user/group/import/index.md
@@ -69,6 +69,8 @@ The following resources are migrated to the target instance:
- name
- link URL
- image URL
+- Boards
+- Board Lists
Any other items are **not** migrated.
@@ -105,7 +107,7 @@ on an existing group's page.
![Navigation paths to create a new group](img/new_group_navigation_v13_8.png)
-1. On the New Group page, select the **Import group** tab.
+1. On the New Group page, select **Import group**.
![Fill in import details](img/import_panel_v13_8.png)
@@ -115,7 +117,8 @@ on an existing group's page.
### Selecting which groups to import
-After you have authorized access to GitLab instance, you are redirected to the GitLab Group Migration importer page and your remote GitLab groups are listed.
+After you have authorized access to the GitLab instance, you are redirected to the GitLab Group
+Migration importer page. Your remote GitLab groups, which you have Owner access to, are listed.
1. By default, the proposed group namespaces match the names as they exist in remote instance, but based on your permissions, you can choose to edit these names before you proceed to import any of them.
diff --git a/doc/user/group/index.md b/doc/user/group/index.md
index 7f2e502b94b..104ea57db4a 100644
--- a/doc/user/group/index.md
+++ b/doc/user/group/index.md
@@ -23,7 +23,8 @@ For larger organizations, you can also create [subgroups](subgroups/index.md).
To view groups:
-1. In the top menu, select **Groups > Your Groups**. All groups you are a member of are displayed.
+1. On the top bar, select **Menu > Groups**.
+1. Select **Your Groups**. All groups you are a member of are displayed.
1. To view a list of public groups, select **Explore public groups**.
You can also view groups by namespace.
@@ -48,9 +49,10 @@ For example, consider a user named Alex:
To create a group:
-1. From the top menu, either:
- - Select **Groups > Your Groups**, and on the right, select the **New group** button.
+1. On the top bar, either:
+ - Select **Menu > Groups**, and on the right, select **Create group**.
- To the left of the search box, select the plus sign and then **New group**.
+1. Select **Create group**.
1. For the **Group name**, use only:
- Alphanumeric characters
- Emojis
@@ -74,18 +76,20 @@ For details about groups, watch [GitLab Namespaces (users, groups and subgroups)
You can give a user access to all projects in a group.
-1. From the top menu, select **Groups > Your Groups**.
+1. On the top bar, select **Menu > Groups**.
+1. Select **Your Groups**.
1. Find your group and select it.
1. From the left sidebar, select **Members**.
1. Fill in the fields.
- - The role applies to all projects in the group. [Learn more about permissions](../permissions.md#permissions).
+ - The role applies to all projects in the group. [Learn more about permissions](../permissions.md).
- On the **Access expiration date**, the user can no longer access projects in the group.
## Request access to a group
As a user, you can request to be a member of a group, if an administrator allows it.
-1. From the top menu, select **Groups > Your Groups**.
+1. On the top bar, select **Menu > Groups**.
+1. Select **Your Groups**.
1. Find the group and select it.
1. Under the group name, select **Request Access**.
@@ -100,7 +104,8 @@ If you change your mind before your request is approved, select
As a group owner, you can prevent non-members from requesting access to
your group.
-1. From the top menu, select **Groups > Your Groups**.
+1. On the top bar, select **Menu > Groups**.
+1. Select **Your Groups**.
1. Find the group and select it.
1. From the left menu, select **Settings > General**.
1. Expand the **Permissions, LFS, 2FA** section.
@@ -110,22 +115,22 @@ your group.
## Change the owner of a group
You can change the owner of a group. Each group must always have at least one
-member with [Owner permission](../permissions.md#group-members-permissions).
+member with the [Owner role](../permissions.md#group-members-permissions).
- As an administrator:
1. Go to the group and from the left menu, select **Members**.
- 1. Give a different member **Owner** permissions.
- 1. Refresh the page. You can now remove **Owner** permissions from the original owner.
+ 1. Give a different member the **Owner** role.
+ 1. Refresh the page. You can now remove the **Owner** role from the original owner.
- As the current group's owner:
1. Go to the group and from the left menu, select **Members**.
- 1. Give a different member **Owner** permissions.
- 1. Have the new owner sign in and remove **Owner** permissions from you.
+ 1. Give a different member the **Owner** role.
+ 1. Have the new owner sign in and remove the **Owner** role from you.
## Remove a member from the group
Prerequisites:
-- You must have [Owner permissions](../permissions.md#group-members-permissions).
+- You must have the [Owner role](../permissions.md#group-members-permissions).
- The member must have direct membership in the group. If
membership is inherited from a parent group, then the member can be removed
from the parent group only.
@@ -245,9 +250,10 @@ These Group Activity Analytics can be enabled with the `group_activity_analytics
You can view the most recent actions taken in a group.
-1. From the top menu, select **Groups > Your Groups**.
+1. On the top bar, select **Menu > Groups**.
+1. Select **Your Groups**.
1. Find the group and select it.
-1. From the left menu, select **Group overview > Activity**.
+1. On the left sidebar, select **Group information > Activity**.
To view the activity feed in Atom format, select the
**RSS** (**{rss}**) icon.
@@ -270,7 +276,7 @@ To share a given group, for example, `Frontend` with another group, for example,
1. From the left menu, select **Members**.
1. Select the **Invite group** tab.
1. In the **Select a group to invite** list, select `Engineering`.
-1. For the **Max access level**, select an access level.
+1. For the **Max role**, select a [role](../permissions.md).
1. Select **Invite**.
All the members of the `Engineering` group are added to the `Frontend` group.
@@ -292,7 +298,7 @@ To share a group after enabling this feature:
1. Go to your group's page.
1. In the left sidebar, go to **Members**, and then select **Invite a group**.
-1. Select a group, and select a **Max access level**.
+1. Select a group, and select a **Max role**.
1. (Optional) Select an **Access expiration date**.
1. Select **Invite**.
@@ -351,7 +357,7 @@ You can transfer groups in the following ways:
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 [what happens when a repository path changes](../project/repository/index.md#what-happens-when-a-repository-path-changes).
- You can only transfer groups to groups you manage.
- 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 change to match the new parent group's visibility.
@@ -361,7 +367,7 @@ When transferring groups, note:
## Change a group's path
Changing a group's path (group URL) can have unintended side effects. Read
-[how redirects behave](../project/repository/index.md#redirects-when-changing-repository-paths)
+[how redirects behave](../project/repository/index.md#what-happens-when-a-repository-path-changes)
before you proceed.
If you are changing the path so it can be claimed by another group or user,
@@ -419,6 +425,30 @@ To restore a group that is marked for deletion:
1. Expand the **Path, transfer, remove** section.
1. In the Restore group section, select **Restore group**.
+## Prevent group sharing outside the group hierarchy
+
+This setting is only available on top-level groups. It affects all subgroups.
+
+When checked, any group within the top-level group hierarchy can be shared only with other groups within the hierarchy.
+
+For example, with these groups:
+
+- **Animals > Dogs**
+- **Animals > Cats**
+- **Plants > Trees**
+
+If you select this setting in the **Animals** group:
+
+- **Dogs** can be shared with **Cats**.
+- **Dogs** cannot be shared with **Trees**.
+
+To prevent sharing outside of the group's hierarchy:
+
+1. Go to the group's **Settings > General** page.
+1. Expand the **Permissions, LFS, 2FA** section.
+1. Select **Prevent members from sending invitations to groups outside of `<group_name>` and its subgroups**.
+1. Select **Save changes**.
+
## Prevent a project from being shared with groups
Prevent projects in a group from [sharing
diff --git a/doc/user/group/insights/index.md b/doc/user/group/insights/index.md
index 4975b27a66d..18177d656ab 100644
--- a/doc/user/group/insights/index.md
+++ b/doc/user/group/insights/index.md
@@ -28,7 +28,7 @@ the project that holds your `.gitlab/insights.yml` configuration file:
![group insights configuration](img/insights_group_configuration.png)
If no configuration was set, a [default configuration file](
-https://gitlab.com/gitlab-org/gitlab/blob/master/ee/fixtures/insights/default.yml)
+https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/fixtures/insights/default.yml)
will be used.
See the [Project's Insights documentation](../../project/insights/index.md) for
diff --git a/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8_a.png b/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8_a.png
index 5994cbfa401..2e19aa38412 100644
--- a/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8_a.png
+++ b/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8_a.png
Binary files differ
diff --git a/doc/user/group/repositories_analytics/index.md b/doc/user/group/repositories_analytics/index.md
index ef47ceadd88..b9f94d96b48 100644
--- a/doc/user/group/repositories_analytics/index.md
+++ b/doc/user/group/repositories_analytics/index.md
@@ -69,7 +69,9 @@ For each day that a coverage report was generated by a job in a project's pipeli
If the project's code coverage was calculated more than once in a day, we will take the last value from that day.
NOTE:
-[In GitLab 13.7 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/270102), group code coverage data is taken from the configured [default branch](../../project/repository/branches/default.md). In earlier versions, it is taken from the `master` branch.
+[In GitLab 13.7 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/270102), group code coverage
+data is taken from the configured [default branch](../../project/repository/branches/default.md).
+In earlier versions, it is taken from the `master` branch.
<!-- ## Troubleshooting
diff --git a/doc/user/group/saml_sso/img/member_enterprise_badge_v14_0.png b/doc/user/group/saml_sso/img/member_enterprise_badge_v14_0.png
new file mode 100644
index 00000000000..f9534b14a51
--- /dev/null
+++ b/doc/user/group/saml_sso/img/member_enterprise_badge_v14_0.png
Binary files differ
diff --git a/doc/user/group/saml_sso/img/saml_group_links_v13_9.png b/doc/user/group/saml_sso/img/saml_group_links_v13_9.png
new file mode 100644
index 00000000000..9bd2473f90c
--- /dev/null
+++ b/doc/user/group/saml_sso/img/saml_group_links_v13_9.png
Binary files differ
diff --git a/doc/user/group/saml_sso/index.md b/doc/user/group/saml_sso/index.md
index 1864547c57f..8a5cdb79186 100644
--- a/doc/user/group/saml_sso/index.md
+++ b/doc/user/group/saml_sso/index.md
@@ -152,6 +152,10 @@ We recommend:
- **Unique User Identifier (Name identifier)** set to `user.objectID`.
- **nameid-format** set to persistent.
+If using [Group Sync](#group-sync), customize the name of the group claim to match the required attribute.
+
+See the [troubleshooting page](../../../administration/troubleshooting/group_saml_scim.md#azure-active-directory) for an example configuration.
+
### Okta setup notes
Please follow the Okta documentation on [setting up a SAML application in Okta](https://developer.okta.com/docs/guides/build-sso-integration/saml2/overview/) with the notes below for consideration.
@@ -324,18 +328,23 @@ Ensure your SAML identity provider sends an attribute statement named `Groups` o
</saml:AttributeStatement>
```
+NOTE:
+To inspect the SAML response, you can use one of these [SAML debugging tools](#saml-debugging-tools).
+Also note that the value for `Groups` or `groups` in the SAML reponse can be either the group name or
+the group ID depending what the IdP sends to GitLab.
+
When SAML SSO is enabled for the top-level group, `Maintainer` and `Owner` level users
-see a new menu item in group **Settings > SAML Group Links**. Each group (parent or subgroup) can specify
-one or more group links to map a SAML identity provider group name to a GitLab access level.
+see a new menu item in group **Settings > SAML Group Links**. You can configure one or more **SAML Group Links** to map
+a SAML identity provider group name to a GitLab Access Level. This can be done for the parent group or the subgroups.
-To link the SAML `Freelancers` group in the attribute statement example above:
+To link the SAML groups from the `saml:AttributeStatement` example above:
-1. Enter `Freelancers` in the `SAML Group Name` field.
+1. Enter the value of `saml:AttributeValue` in the `SAML Group Name` field.
1. Choose the desired `Access Level`.
1. **Save** the group link.
1. Repeat to add additional group links if desired.
-![SAML Group Links](img/saml_group_links_v13_6.png)
+![SAML Group Links](img/saml_group_links_v13_9.png)
If a user is a member of multiple SAML groups mapped to the same GitLab group,
the user gets the highest access level from the groups. For example, if one group
@@ -450,7 +459,7 @@ SAML configuration for GitLab.com is mostly the same as for self-managed instanc
However, self-managed GitLab instances use a configuration file that supports more options as described in the external [OmniAuth SAML documentation](https://github.com/omniauth/omniauth-saml/).
Internally that uses the [`ruby-saml` library](https://github.com/onelogin/ruby-saml), so we sometimes check there to verify low level details of less commonly used options.
-It can also help to compare the XML response from your provider with our [example XML used for internal testing](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/spec/fixtures/saml/response.xml).
+It can also help to compare the XML response from your provider with our [example XML used for internal testing](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/spec/fixtures/saml/response.xml).
### Searching Rails log
diff --git a/doc/user/group/saml_sso/scim_setup.md b/doc/user/group/saml_sso/scim_setup.md
index 65b3e2d095d..fd75c49fa6c 100644
--- a/doc/user/group/saml_sso/scim_setup.md
+++ b/doc/user/group/saml_sso/scim_setup.md
@@ -175,6 +175,10 @@ We recommend users do this prior to turning on sync, because while synchronizati
New users and existing users on subsequent visits can access the group through the identify provider's dashboard or by visiting links directly.
+[In GitLab 14.0 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/325712), GitLab users created with a SCIM identity display with an **Enterprise** badge in the **Members** view.
+
+![Enterprise badge for users created with a SCIM identity](img/member_enterprise_badge_v14_0.png)
+
For role information, please see the [Group SAML page](index.md#user-access-and-management)
### Blocking access
diff --git a/doc/user/group/settings/import_export.md b/doc/user/group/settings/import_export.md
index 5d375e2abd9..c097790ef16 100644
--- a/doc/user/group/settings/import_export.md
+++ b/doc/user/group/settings/import_export.md
@@ -4,7 +4,7 @@ stage: Manage
group: Import
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Group Import/Export
+# Group import/export **(FREE)**
> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2888) in GitLab 13.0 as an experimental feature. May change in future releases.
@@ -21,9 +21,9 @@ See also:
To enable GitLab import/export:
-1. Navigate to **Admin Area > Settings > Visibility and access controls**.
-1. Scroll to **Import sources**
-1. Enable desired **Import sources**
+1. On the top bar, go to **Menu > Admin > Settings > General > Visibility and access controls**.
+1. Scroll to **Import sources**.
+1. Enable the desired **Import sources**.
## Important Notes
@@ -58,7 +58,7 @@ The following items are **not** exported:
NOTE:
For more details on the specific data persisted in a group export, see the
-[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/import_export/group/import_export.yml) file.
+[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/import_export/group/import_export.yml) file.
## Exporting a Group
diff --git a/doc/user/group/subgroups/index.md b/doc/user/group/subgroups/index.md
index df0d297a82a..4532a391eef 100644
--- a/doc/user/group/subgroups/index.md
+++ b/doc/user/group/subgroups/index.md
@@ -67,8 +67,6 @@ Another example of GitLab as a company would be the following:
- (project) Chef cookbooks
- Category Subgroup - Executive team
----
-
When performing actions such as transferring or importing a project between
subgroups, the behavior is the same as when performing these actions at the
`group/project` level.
@@ -85,13 +83,20 @@ By default, groups created in:
The setting can be changed for any group by:
-- A group owner. Select the group, and navigate to **Settings > General > Permissions, LFS, 2FA**.
-- An administrator. Navigate to **Admin Area > Overview > Groups**, select the group, and choose **Edit**.
+- A group owner:
+ 1. Select the group.
+ 1. On the left sidebar, select **Settings > General**.
+ 1. Expand the **Permissions, LFS, 2FA** section.
+- An administrator:
+ 1. On the top bar, select **Menu >** **{admin}** **Admin**.
+ 1. On the left sidebar, select **Overview > Groups**.
+ 1. Select the group, and select **Edit**.
+
+For:
-For more information check the
-[permissions table](../../permissions.md#group-members-permissions). For a list
-of words that are not allowed to be used as group names see the
-[reserved names](../../reserved_names.md).
+- More information, check the [permissions table](../../permissions.md#group-members-permissions).
+- A list of words that are not allowed to be used as group names, see the
+ [reserved names](../../reserved_names.md).
Users can always create subgroups if they are explicitly added as an Owner (or
Maintainer, if that setting is enabled) to an immediate parent group, even if group
@@ -163,7 +168,7 @@ added to), add the user to the new subgroup again with a higher set of permissio
For example, if User 1 was first added to group `one/two` with Developer
permissions, then they inherit those permissions in every other subgroup
-of `one/two`. To give them Maintainer access to group `one/two/three/four`,
+of `one/two`. To give them the [Maintainer role](../../permissions.md) for group `one/two/three/four`,
you would add them again in that group as Maintainer. Removing them from that group,
the permissions fall back to those of the ancestor group.
diff --git a/doc/user/group/value_stream_analytics/img/delete_value_stream_v13_12.png b/doc/user/group/value_stream_analytics/img/delete_value_stream_v13_12.png
index c02f259ae8c..ef532986100 100644
--- a/doc/user/group/value_stream_analytics/img/delete_value_stream_v13_12.png
+++ b/doc/user/group/value_stream_analytics/img/delete_value_stream_v13_12.png
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/new_value_stream_v13_12.png b/doc/user/group/value_stream_analytics/img/new_value_stream_v13_12.png
index b2b6ce04a14..d64ec31aabf 100644
--- a/doc/user/group/value_stream_analytics/img/new_value_stream_v13_12.png
+++ b/doc/user/group/value_stream_analytics/img/new_value_stream_v13_12.png
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_12.png b/doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_12.png
index ee0d007a778..834556df051 100644
--- a/doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_12.png
+++ b/doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_12.png
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/vsa_label_based_stage_v14_0.png b/doc/user/group/value_stream_analytics/img/vsa_label_based_stage_v14_0.png
index 1f47670462c..648ab53dd12 100644
--- a/doc/user/group/value_stream_analytics/img/vsa_label_based_stage_v14_0.png
+++ b/doc/user/group/value_stream_analytics/img/vsa_label_based_stage_v14_0.png
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/vsa_overview_stage_v13_11.png b/doc/user/group/value_stream_analytics/img/vsa_overview_stage_v13_11.png
index 7d47003972c..8d77c53db7f 100644
--- a/doc/user/group/value_stream_analytics/img/vsa_overview_stage_v13_11.png
+++ b/doc/user/group/value_stream_analytics/img/vsa_overview_stage_v13_11.png
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_12.png b/doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_12.png
index 63bae51afef..68d9741bed8 100644
--- a/doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_12.png
+++ b/doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_12.png
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/index.md b/doc/user/group/value_stream_analytics/index.md
index 4b473c9217d..c1dd363c313 100644
--- a/doc/user/group/value_stream_analytics/index.md
+++ b/doc/user/group/value_stream_analytics/index.md
@@ -65,7 +65,7 @@ To filter results:
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13216) in GitLab 12.4.
-GitLab provides the ability to filter analytics based on a date range. To filter results:
+GitLab provides the ability to filter analytics based on a date range. Data is shown for workflow items created during the selected date range. To filter results:
1. Select a group.
1. Optionally select a project.
@@ -104,7 +104,7 @@ Each stage of Value Stream Analytics is further described in the table below.
| **Stage** | **Description** |
| --------- | --------------- |
-| Issue | Measures the median time between creating an issue and taking action to solve it, by either labeling it or adding it to a milestone, whatever comes first. The label will be tracked only if it already has an [Issue Board list](../../project/issue_board.md) created for it. |
+| Issue | Measures the median time between creating an issue and taking action to solve it, by either labeling it or adding it to a milestone, whatever comes first. The label is tracked only if it already has an [Issue Board list](../../project/issue_board.md) created for it. |
| Plan | Measures the median time between the action you took for the previous stage, and pushing the first commit to the branch. The very first commit of the branch is the one that triggers the separation between **Plan** and **Code**, and at least one of the commits in the branch needs to contain the related issue number (e.g., `#42`). If none of the commits in the branch mention the related issue number, it is not considered to the measurement time of the stage. |
| Code | Measures the median time between pushing a first commit (previous stage) and creating a merge request (MR) related to that commit. The key to keep the process tracked is to include the [issue closing pattern](../../project/issues/managing_issues.md#closing-issues-automatically) to the description of the merge request (for example, `Closes #xxx`, where `xxx` is the number of the issue related to this merge request). If the closing pattern is not present, then the calculation takes the creation time of the first commit in the merge request as the start time. |
| Test | Measures the median time to run the entire pipeline for that project. It's related to the time GitLab CI/CD takes to run every job for the commits pushed to that merge request defined in the previous stage. It is basically the start->finish time for all pipelines. |