summaryrefslogtreecommitdiff
path: root/doc/user/group
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 15:44:42 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 15:44:42 +0000
commit4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch)
tree5423a1c7516cffe36384133ade12572cf709398d /doc/user/group
parente570267f2f6b326480d284e0164a6464ba4081bc (diff)
downloadgitlab-ce-4555e1b21c365ed8303ffb7a3325d773c9b8bf31.tar.gz
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'doc/user/group')
-rw-r--r--doc/user/group/bulk_editing/img/bulk-editing_v13_2.pngbin123971 -> 0 bytes
-rw-r--r--doc/user/group/bulk_editing/index.md79
-rw-r--r--doc/user/group/contribution_analytics/index.md6
-rw-r--r--doc/user/group/devops_adoption/index.md99
-rw-r--r--doc/user/group/epics/img/epic_board_v13_10.pngbin60672 -> 42037 bytes
-rw-r--r--doc/user/group/epics/img/epic_view_roadmap_v12_9.pngbin127201 -> 105562 bytes
-rw-r--r--doc/user/group/epics/img/epic_view_v13.0.pngbin54891 -> 0 bytes
-rw-r--r--doc/user/group/epics/img/new_epic_from_groups_v13.7.pngbin10505 -> 0 bytes
-rw-r--r--doc/user/group/epics/index.md157
-rw-r--r--doc/user/group/epics/manage_epics.md90
-rw-r--r--doc/user/group/import/index.md8
-rw-r--r--doc/user/group/index.md20
-rw-r--r--doc/user/group/insights/img/insights_example_stacked_bar_chart_v13_11.pngbin85296 -> 29784 bytes
-rw-r--r--doc/user/group/issues_analytics/img/issues_created_per_month_v12_8.pngbin26718 -> 0 bytes
-rw-r--r--doc/user/group/issues_analytics/img/issues_created_per_month_v12_8_a.pngbin0 -> 54332 bytes
-rw-r--r--doc/user/group/issues_analytics/index.md2
-rw-r--r--doc/user/group/roadmap/img/roadmap_filters_v13_11.pngbin79098 -> 19966 bytes
-rw-r--r--doc/user/group/roadmap/img/roadmap_view_v13_2.pngbin55061 -> 53200 bytes
-rw-r--r--doc/user/group/saml_sso/group_managed_accounts.md6
-rw-r--r--doc/user/group/saml_sso/img/group_saml_settings_v13_12.pngbin0 -> 66055 bytes
-rw-r--r--doc/user/group/saml_sso/img/group_saml_settings_v13_3.pngbin25867 -> 0 bytes
-rw-r--r--doc/user/group/saml_sso/img/saml_group_links_nav_v13_6.pngbin7492 -> 0 bytes
-rw-r--r--doc/user/group/saml_sso/index.md21
-rw-r--r--doc/user/group/saml_sso/scim_setup.md12
-rw-r--r--doc/user/group/settings/import_export.md12
-rw-r--r--doc/user/group/value_stream_analytics/img/delete_value_stream_v13_12.pngbin0 -> 57007 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/delete_value_stream_v13_4.pngbin29439 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/extended_value_stream_form_v13_10.pngbin82406 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/label_based_stage_vsm_v12_9.pngbin10989 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/new_value_stream_v13_12.pngbin0 -> 55481 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/new_value_stream_v13_3.pngbin31215 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/new_vsm_stage_v12_9.pngbin15154 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_12.pngbin0 -> 125695 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_3.pngbin33694 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_label_based_stage_v14_0.pngbin0 -> 65149 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_overview_stage_v13_11.pngbin0 -> 60960 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_stage_table_v13_12.pngbin0 -> 81442 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_0.pngbin70839 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_12.pngbin0 -> 51065 bytes
-rw-r--r--doc/user/group/value_stream_analytics/img/vsm_stage_list_v12_9.pngbin10977 -> 0 bytes
-rw-r--r--doc/user/group/value_stream_analytics/index.md196
41 files changed, 330 insertions, 378 deletions
diff --git a/doc/user/group/bulk_editing/img/bulk-editing_v13_2.png b/doc/user/group/bulk_editing/img/bulk-editing_v13_2.png
deleted file mode 100644
index 9f28fabdf0c..00000000000
--- a/doc/user/group/bulk_editing/img/bulk-editing_v13_2.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/bulk_editing/index.md b/doc/user/group/bulk_editing/index.md
index aa356bee8e3..48644b7427d 100644
--- a/doc/user/group/bulk_editing/index.md
+++ b/doc/user/group/bulk_editing/index.md
@@ -1,79 +1,8 @@
---
-stage: Plan
-group: Project Management
-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
+redirect_to: '../../../user/group/index.md'
---
-# Bulk editing issues, epics, and merge requests at the group level **(PREMIUM)**
+This document was moved to [another location](../../../user/group/index.md).
-NOTE:
-Bulk editing issues and merge requests is also available at the **project level**.
-For more details, see [Bulk editing issues and merge requests at the project level](../../project/bulk_editing.md).
-
-If you want to update attributes across multiple issues, epics, or merge requests in a group, you
-can do it by bulk editing them, that is, editing them together.
-
-Only the items visible on the current page are selected for bulk editing (up to 20).
-
-![Bulk editing](img/bulk-editing_v13_2.png)
-
-## Bulk edit issues at the group level
-
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7249) in GitLab 12.1.
-> - Assigning epic ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/210470) in GitLab 13.2.
-> - Editing health status [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/218395) in GitLab 13.2.
-> - Editing iteration [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/196806) in GitLab 13.9.
-
-Users with permission level of [Reporter or higher](../../permissions.md) can manage issues.
-
-When bulk editing issues in a group, you can edit the following attributes:
-
-- [Epic](../epics/index.md)
-- [Milestone](../../project/milestones/index.md)
-- [Labels](../../project/labels.md)
-- [Health status](../../project/issues/managing_issues.md#health-status)
-- [Iteration](../iterations/index.md)
-
-To update multiple project issues at the same time:
-
-1. In a group, go to **{issues}** **Issues > List**.
-1. Click **Edit issues**. A sidebar on the right-hand side of your screen appears with editable fields.
-1. Select the checkboxes next to each issue you want to edit.
-1. Select the appropriate fields and their values from the sidebar.
-1. Click **Update all**.
-
-## Bulk edit epics
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7250) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2.
-
-Users with permission level of [Reporter or higher](../../permissions.md) can manage epics.
-
-When bulk editing epics in a group, you can edit their labels.
-
-To update multiple epics at the same time:
-
-1. In a group, go to **{epic}** **Epics > List**.
-1. Click **Edit epics**. A sidebar on the right-hand side of your screen appears with editable fields.
-1. Check the checkboxes next to each epic you want to edit.
-1. Select the appropriate fields and their values from the sidebar.
-1. Click **Update all**.
-
-## Bulk edit merge requests at the group level
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12719) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2.
-
-Users with permission level of [Developer or higher](../../permissions.md) can manage merge requests.
-
-When bulk editing merge requests in a group, you can edit the following attributes:
-
-- Milestone
-- Labels
-
-To update multiple group merge requests at the same time:
-
-1. In a group, go to **{merge-request}** **Merge Requests**.
-1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with
- editable fields.
-1. Select the checkboxes next to each merge request you want to edit.
-1. Select the appropriate fields and their values from the sidebar.
-1. Click **Update all**.
+<!-- This redirect file can be deleted after <2021-08-13>. -->
+<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/user/group/contribution_analytics/index.md b/doc/user/group/contribution_analytics/index.md
index 09e899a61ba..12d7eaf2f12 100644
--- a/doc/user/group/contribution_analytics/index.md
+++ b/doc/user/group/contribution_analytics/index.md
@@ -6,8 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
---
# Contribution Analytics **(PREMIUM)**
-> - Introduced in [GitLab Starter](https://about.gitlab.com/pricing/) 8.3.
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3090) for subgroups in GitLab 12.2.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3090) in GitLab 12.2 for subgroups.
With Contribution Analytics you can get an overview of the following activity in your
group:
@@ -16,8 +15,7 @@ group:
- Merge requests
- Push events
-To view the Contribution Analytics, go to your group's **Analytics > Contribution Analytics**
-page.
+To view the Contribution Analytics, go to your group and select **Analytics > Contribution**.
## Use cases
diff --git a/doc/user/group/devops_adoption/index.md b/doc/user/group/devops_adoption/index.md
index 920421ef9bb..5a23e1559bc 100644
--- a/doc/user/group/devops_adoption/index.md
+++ b/doc/user/group/devops_adoption/index.md
@@ -6,33 +6,36 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Group DevOps Adoption **(ULTIMATE)**
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/321083) in GitLab 13.11.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/321083) in GitLab 13.11 as a [Beta feature](https://about.gitlab.com/handbook/product/gitlab-the-product/#beta).
> - [Deployed behind a feature flag](../../../user/feature_flags.md), disabled by default.
-> - Disabled on GitLab.com.
-> - Not recommended for production use.
-> - To use in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-group-devops-adoption).
+> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/323159) in GitLab 13.12.
+> - Enabled on GitLab.com.
+> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#enable-or-disable-group-devops-adoption). **(ULTIMATE SELF)**
-WARNING:
-This feature might not be available to you. Check the **version history** note above for details.
+This in-development feature might not be available for your use. There can be
+[risks when enabling features still in development](../../feature_flags.md#risks-when-enabling-features-still-in-development).
+Refer to this feature's version history for more details.
-[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/321083) in GitLab 13.11 as a [Beta feature](https://about.gitlab.com/handbook/product/gitlab-the-product/#beta).
+Prerequisites:
-To access Group DevOps Adoption, navigate to your group sidebar and select **Analytics > DevOps Adoption**
+- A minimum of [Reporter access](../../permissions.md) to 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
-- Approvals
-- Runners
- Pipelines
-- Deployments
+- Runners
- Scans
When managing groups in the UI, you can manage your sub-groups with the **Add/Remove sub-groups**
button, in the top right hand section of your Groups pages.
-DevOps Adoption allows you to:
+With DevOps Adoption you can:
- Verify whether you are getting the return on investment that you expected from GitLab.
- Identify specific sub-groups that are lagging in their adoption of GitLab so you can help them along in their DevOps journey.
@@ -40,21 +43,79 @@ DevOps Adoption allows you to:
![DevOps Report](img/group_devops_adoption_v13_11.png)
-## Enable or disable Group DevOps Adoption **(ULTIMATE)**
+## Enable data processing
+
+Group DevOps Adoption relies on data that has been gathered by a weekly data processing task.
+This task is disabled by default.
+
+To begin using Group DevOps Adoption, access the feature for the first time. GitLab automatically
+enables the data processing for that group. The group data doesn't appear immediately, because
+GitLab requires around a minute to process it.
+
+## What is displayed
+
+DevOps Adoption displays feature adoption data for the given group
+and any added sub-groups for the current calendar month.
+Each group appears as a separate row in the table.
+For each row, a feature is considered "adopted" if it has been used in a project in the given group
+during the time period (including projects in any sub-groups of the given group).
+
+You should expect adoption to be lower at the beginning of the month,
+before you have had an opportunity to use all the features listed in the table.
+
+In the future [we plan to implement](https://gitlab.com/gitlab-org/gitlab/-/issues/329708)
+a rolling 30-day perspective instead.
+
+## When is a feature considered adopted
+
+A feature is considered "adopted" if it has been used anywhere in the group in the specified time.
+For example, if an issue was created in one project in a group, the group is considered to have
+"adopted" issues in that time.
+
+## No penalties for common adoption patterns
+
+DevOps Adoption is designed not to penalize for any circumstances or practices that are common in DevOps.
+Following this guideline, GitLab doesn't penalize for:
+
+1. Having dormant projects. It's common for groups to have a mix of active and dormant projects,
+ so we should not consider adoption to be low if there are relatively many dormant projects.
+ This means we should not measure adoption by how many projects in the group have used a feature,
+ only by whether a feature was used anywhere in the group.
+1. GitLab adding new features over time. It's common for group feature usage to be consistent
+ over time, so we should not consider adoption to have decreased if GitLab adds features.
+ This means we should not measure adoption by percentages, only total counts.
+
+## Add a sub-group
+
+DevOps Adoption can also display data for sub-groups within the given group,
+to show you differences in adoption across the group.
+To add a sub-group to your Group DevOps Adoption report:
+
+1. Select **Add/remove sub-groups**.
+1. Select the sub-group you want to add and select **Save changes**.
+
+The sub-group data might not appear immediately, because GitLab requires around a minute to collect
+the data.
+
+Please note that the sub-group data might not appear immediately,
+because GitLab requires a few moments to collect the data.
+Generally the data will be visible in less than one minute.
+
+## Enable or disable Group DevOps Adoption **(ULTIMATE SELF)**
Group DevOps Adoption is under development and not ready for production use. It is
-deployed behind a feature flag that is **disabled by default**.
+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(:group_devops_adoption)
+Feature.disable(:group_devops_adoption)
```
-To disable it:
+To re-enable it:
```ruby
-Feature.disable(:group_devops_adoption)
+Feature.enable(:group_devops_adoption)
```
diff --git a/doc/user/group/epics/img/epic_board_v13_10.png b/doc/user/group/epics/img/epic_board_v13_10.png
index 5a14d9288d3..85a131ea605 100644
--- a/doc/user/group/epics/img/epic_board_v13_10.png
+++ b/doc/user/group/epics/img/epic_board_v13_10.png
Binary files differ
diff --git a/doc/user/group/epics/img/epic_view_roadmap_v12_9.png b/doc/user/group/epics/img/epic_view_roadmap_v12_9.png
index 035adc5e7ac..e8224ced7e9 100644
--- a/doc/user/group/epics/img/epic_view_roadmap_v12_9.png
+++ b/doc/user/group/epics/img/epic_view_roadmap_v12_9.png
Binary files differ
diff --git a/doc/user/group/epics/img/epic_view_v13.0.png b/doc/user/group/epics/img/epic_view_v13.0.png
deleted file mode 100644
index b25a91d318a..00000000000
--- a/doc/user/group/epics/img/epic_view_v13.0.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/epics/img/new_epic_from_groups_v13.7.png b/doc/user/group/epics/img/new_epic_from_groups_v13.7.png
deleted file mode 100644
index 3607d5c7a3f..00000000000
--- a/doc/user/group/epics/img/new_epic_from_groups_v13.7.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/epics/index.md b/doc/user/group/epics/index.md
index 12377b3926d..0608ff38db1 100644
--- a/doc/user/group/epics/index.md
+++ b/doc/user/group/epics/index.md
@@ -8,57 +8,27 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Epics **(PREMIUM)**
> - Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2.
-> - Single-level Epics [were moved](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) to [GitLab Premium](https://about.gitlab.com/pricing/) in 12.8.
+> - Single-level epics [were moved](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) to [GitLab Premium](https://about.gitlab.com/pricing/) in 12.8.
-Epics let you manage your portfolio of projects more efficiently by tracking groups of [issues](../../project/issues/index.md)
-that share a theme across projects and milestones.
+When [issues](../../project/issues/index.md) share a theme across projects and milestones,
+you can manage them by using epics.
-An epic's page contains the following tabs:
+You can also create child epics, and assign start and end dates,
+which creates a visual roadmap for you to view progress.
-- **Issues**: issues added to this epic.
-- **Epics and Issues**: epics and issues added to this epic.
- Appears instead of the **Issues** tab if you have access to [multi-level epics](#multi-level-child-epics).
- Child epics and their issues are shown in a tree view.
+Use epics:
- - To reveal the child epics and issues, select the chevron (**>**) next to a parent epic.
- - To see a breakdown of open and closed items, hover over the total counts.
-
- The number provided here includes all epics associated with this project. The number includes
- epics for which users may not yet have permission.
-
-- [**Roadmap**](#roadmap-in-epics): a roadmap view of child epics which have start and due dates.
- Appears if you have access to [multi-level epics](#multi-level-child-epics).
-
-![epic view](img/epic_view_v13.0.png)
-
-## Use cases
-
-- Suppose your team is working on a large feature that involves multiple discussions throughout different issues created in distinct projects within a [Group](../index.md). With Epics, you can track all the related activities that together contribute to that single feature.
-- Track when the work for the group of issues is targeted to begin, and when it's targeted to end.
-- Discuss and collaborate on feature ideas and scope at a high level.
-
-## Manage epics
-
-To learn what you can do with an epic, see [Manage epics](manage_epics.md). Possible actions include:
-
-- [Create an epic](manage_epics.md#create-an-epic)
-- [Edit an epic](manage_epics.md#edit-an-epic)
-- [Bulk-edit epics](../bulk_editing/index.md#bulk-edit-epics)
-- [Delete an epic](manage_epics.md#delete-an-epic)
-- [Close an epic](manage_epics.md#close-an-epic)
-- [Reopen a closed epic](manage_epics.md#reopen-a-closed-epic)
-- [Go to an epic from an issue](manage_epics.md#go-to-an-epic-from-an-issue)
-- [Search for an epic from epics list page](manage_epics.md#search-for-an-epic-from-epics-list-page)
-- [Make an epic confidential](manage_epics.md#make-an-epic-confidential)
-- [Manage issues assigned to an epic](manage_epics.md#manage-issues-assigned-to-an-epic)
-- [Manage multi-level child epics **(ULTIMATE)**](manage_epics.md#manage-multi-level-child-epics)
+- When your team is working on a large feature that involves multiple discussions
+ in different issues in different projects in a [group](../index.md).
+- To track when the work for the group of issues is targeted to begin and end.
+- To discuss and collaborate on feature ideas and scope at a high level.
## Relationships between epics and issues
The possible relationships between epics and issues are:
- An epic is the parent of one or more issues.
-- An epic is the parent of one or more child epics. For details see [Multi-level child epics](#multi-level-child-epics). **(ULTIMATE)**
+- An epic is the parent of one or more child epics. For details see [Multi-level child epics](manage_epics.md#multi-level-child-epics).
```mermaid
graph TD
@@ -67,72 +37,13 @@ graph TD
Child_epic --> Issue2
```
-See [Manage issues assigned to an epic](manage_epics.md#manage-issues-assigned-to-an-epic) for steps
-to:
-
-- Add an issue to an epic
-- Reorder issues
-- Move an issue between epics
-- Promote an issue to an epic
-
-## Issue health status in Epic tree **(ULTIMATE)**
-
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/199184) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10.
-> - The health status of a closed issue [is hidden](https://gitlab.com/gitlab-org/gitlab/-/issues/220867) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.3 or later.
-> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/213567) in GitLab 13.7.
-
-Report or respond to the health of issues and epics by setting a red, amber, or green [health status](../../project/issues/managing_issues.md#health-status), which then appears on your Epic tree.
-
-## Multi-level child epics **(ULTIMATE)**
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/8333) in GitLab Ultimate 11.7.
-
-Any epic that belongs to a group, or subgroup of the parent epic's group, is eligible to be added.
-New child epics appear at the top of the list of epics in the **Epics and Issues** tab.
-
-When you add an epic that's already linked to a parent epic, the link to its current parent is removed.
-
-An epic can have multiple child epics up to the maximum depth of seven.
-
-See [Manage multi-level child epics](manage_epics.md#manage-multi-level-child-epics) for
-steps to create, move, reorder, or delete child epics.
-
-## Start date and due date
-
-To set a **Start date** and **Due date** for an epic, select one of the following:
-
-- **Fixed**: enter a fixed value.
-- **Inherited**: inherit a dynamic value from the epic's issues, child epics, and milestones.
-
-### Inherited
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7332) in GitLab 12.5 to replace **From milestones**.
-
-If you select **Inherited**:
-
-- For the **start date**: GitLab scans all child epics and issues assigned to the epic,
- and sets the start date to match the earliest found start date or milestone.
-- For the **due date**: GitLab sets the due date to match the latest due date or
- milestone found among its child epics and issues.
-
-These are dynamic dates and recalculated if any of the following occur:
-
-- A child epic's dates change.
-- Milestones are reassigned to an issue.
-- A milestone's dates change.
-- Issues are added to, or removed from, the epic.
-
-Because the epic's dates can inherit dates from its children, the start date and due date propagate from the bottom to the top.
-If the start date of a child epic on the lowest level changes, that becomes the earliest possible start date for its parent epic.
-The parent epic's start date then reflects this change and propagates upwards to the top epic.
-
## Roadmap in epics **(ULTIMATE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7327) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.10.
-If your epic contains one or more [child epics](#multi-level-child-epics) which
-have a [start or due date](#start-date-and-due-date), a
-[roadmap](../roadmap/index.md) view of the child epics is listed under the parent epic.
+If your epic contains one or more [child epics](manage_epics.md#multi-level-child-epics) that
+have a start or due date, a visual
+[roadmap](../roadmap/index.md) of the child epics is listed under the parent epic.
![Child epics roadmap](img/epic_view_roadmap_v12_9.png)
@@ -144,45 +55,19 @@ epic's issue list.
If you have access to edit an epic and an issue added to that epic, you can add the issue to or
remove it from the epic.
-Note that for a given group, the visibility of all projects must be the same as
+For a given group, the visibility of all projects must be the same as
the group, or less restrictive. That means if you have access to a group's epic,
then you already have access to its projects' issues.
You can also consult the [group permissions table](../../permissions.md#group-members-permissions).
-## Thread
-
-- Comments: collaborate on that epic by posting comments in its thread.
- These text fields also fully support
- [GitLab Flavored Markdown](../../markdown.md#gitlab-flavored-markdown).
-
-## Comment or start a thread
-
-Once you write your comment, you can either:
-
-- Click **Comment** to publish your comment.
-- Click **Start thread** to start a thread within that epic's discussion.
-
-### Activity sort order
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/214364) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2.
-
-You can reverse the default order and interact with the activity feed sorted by most recent items
-at the top. Your preference is saved via local storage and automatically applied to every issue
-you view.
-
-To change the activity sort order, click the **Oldest first** dropdown menu and select either oldest
-or newest items to be shown first.
-
-![Issue activity sort order dropdown button](img/epic_activity_sort_order_v13_2.png)
-
-## Award emoji
-
-You can [award an emoji](../../award_emojis.md) to that epic or its comments.
-
-## Notifications
+## Related topics
-You can [turn on notifications](../../profile/notifications.md) to be alerted about epic events.
+- [Manage epics](manage_epics.md) and multi-level child epics.
+- [Turn on notifications](../../profile/notifications.md) for about epic events.
+- [Award an emoji](../../award_emojis.md) to an epic or its comments.
+- Collaborate on an epic by posting comments in a [thread](../../discussions/index.md).
+- Use [health status](../../project/issues/managing_issues.md#health-status) to track your progress.
<!-- ## Troubleshooting
diff --git a/doc/user/group/epics/manage_epics.md b/doc/user/group/epics/manage_epics.md
index 1999e5ba214..7bb021b4b1f 100644
--- a/doc/user/group/epics/manage_epics.md
+++ b/doc/user/group/epics/manage_epics.md
@@ -16,28 +16,46 @@ to them.
> - The New Epic form [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/211533) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2.
> - In [GitLab 13.7](https://gitlab.com/gitlab-org/gitlab/-/issues/229621) and later, the New Epic button on the Epics list opens the New Epic form.
-> - In [GitLab 13.9](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45948) and later, you can create a new epic from an empty Roadmap.
+> - In [GitLab 13.9](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45948) and later, you can create a new epic from an empty roadmap.
To create an epic in the group you're in:
1. Get to the New Epic form:
- - From the **Epics** list in your group, select **New epic**.
+ - Go to your group and from the left sidebar select **Epics**. Then select **New epic**.
- From an epic in your group, select **New epic**.
- From anywhere, in the top menu, select **New...** (**{plus-square}**) **> New epic**.
- In an empty [roadmap](../roadmap/index.md), select **New epic**.
- ![New epic from an open epic](img/new_epic_from_groups_v13.7.png)
+1. Enter a title.
+1. Optional. Enter a description.
+1. Optional. To make the epic confidential, select the [Confidentiality checkbox](#make-an-epic-confidential).
+1. Optional. Choose labels.
+1. Optional. Select a start and due date, or [inherit](#start-and-due-date-inheritance) them.
+1. Select **Create epic**.
-1. Fill in these fields:
+The newly created epic opens.
- - Title
- - Description
- - [Confidentiality checkbox](#make-an-epic-confidential)
- - Labels
- - Start date
- - Due date
+### Start and due date inheritance
-1. Select **Create epic**. You are taken to view the newly created epic.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7332) in GitLab 12.5 to replace **From milestones**.
+
+If you select **Inherited**:
+
+- For the **start date**: GitLab scans all child epics and issues assigned to the epic,
+ and sets the start date to match the earliest found start date or milestone.
+- For the **due date**: GitLab sets the due date to match the latest due date or
+ milestone found among its child epics and issues.
+
+These are dynamic dates and recalculated if any of the following occur:
+
+- A child epic's dates change.
+- Milestones are reassigned to an issue.
+- A milestone's dates change.
+- Issues are added to, or removed from, the epic.
+
+Because the epic's dates can inherit dates from its children, the start date and due date propagate from the bottom to the top.
+If the start date of a child epic on the lowest level changes, that becomes the earliest possible start date for its parent epic.
+The parent epic's start date then reflects this change and propagates upwards to the top epic.
## Edit an epic
@@ -55,15 +73,26 @@ To edit an epic's title or description:
1. Make your changes.
1. Select **Save changes**.
-To edit an epics' start date, due date, or labels:
+To edit an epic's start date, due date, or labels:
1. Select **Edit** next to each section in the epic sidebar.
1. Select the dates or labels for your epic.
-## Bulk-edit epics
+## Bulk edit epics
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7250) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2.
-You can edit multiple epics at once. To learn how to do it, visit
-[Bulk editing issues, epics, and merge requests at the group level](../bulk_editing/index.md#bulk-edit-epics).
+Users with permission level of [Reporter or higher](../../permissions.md) can manage epics.
+
+When bulk editing epics in a group, you can edit their labels.
+
+To update multiple epics at the same time:
+
+1. In a group, go to **Epics > List**.
+1. Click **Edit epics**. A sidebar on the right-hand side of your screen appears with editable fields.
+1. Check the checkboxes next to each epic you want to edit.
+1. Select the appropriate fields and their values from the sidebar.
+1. Click **Update all**.
## Delete an epic
@@ -140,6 +169,19 @@ The sort option and order is saved and used wherever you browse epics, including
![epics sort](img/epics_sort.png)
+## Change activity sort order
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/214364) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2.
+
+You can reverse the default order and interact with the activity feed sorted by most recent items
+at the top. Your preference is saved via local storage and automatically applied to every epic and issue
+you view.
+
+To change the activity sort order, click the **Oldest first** dropdown menu and select either oldest
+or newest items to be shown first.
+
+![Issue activity sort order dropdown button](img/epic_activity_sort_order_v13_2.png)
+
## Make an epic confidential
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/213068) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.0 behind a feature flag, disabled by default.
@@ -162,6 +204,13 @@ To make an epic confidential:
This section collects instructions for all the things you can do with [issues](../../project/issues/index.md)
in relation to epics.
+### View count of issues in an epic
+
+On the **Epics and Issues** tab, under each epic name, hover over the total counts.
+
+The number indicates all epics associated with the project, including issues
+you might not have permission to.
+
### Add a new issue to an epic
You can add an existing issue to an epic, or create a new issue that's
@@ -275,7 +324,16 @@ For an introduction to epic templates, see [GitLab Epics and Epic Template Tip](
For more on epic templates, see [Epic Templates - Repeatable sets of issues](https://about.gitlab.com/handbook/marketing/strategic-marketing/getting-started/104/).
-## Manage multi-level child epics **(ULTIMATE)**
+## Multi-level child epics **(ULTIMATE)**
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/8333) in GitLab Ultimate 11.7.
+
+You can add any epic that belongs to a group or subgroup of the parent epic's group.
+New child epics appear at the top of the list of epics in the **Epics and Issues** tab.
+
+When you add an epic that's already linked to a parent epic, the link to its current parent is removed.
+
+Epics can contain multiple nested child epics, up to a total of seven levels deep.
### Add a child epic to an epic
diff --git a/doc/user/group/import/index.md b/doc/user/group/import/index.md
index e84e35607e3..14464ff1a5f 100644
--- a/doc/user/group/import/index.md
+++ b/doc/user/group/import/index.md
@@ -8,13 +8,11 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Import groups from another instance of GitLab **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/249160) in GitLab 13.7.
-> - It's [deployed behind a feature flag](../../feature_flags.md), disabled by default.
-> - It's enabled on GitLab.com.
-
-## Overview
+> - [Deployed behind a feature flag](../../feature_flags.md), disabled by default.
+> - Enabled on GitLab.com.
WARNING:
-This feature is [under construction](https://gitlab.com/groups/gitlab-org/-/epics/2771) and currently migrates only some of the Group data. Please see below for the full list of what is included in the migration at this time.
+This feature is [under construction](https://gitlab.com/groups/gitlab-org/-/epics/2771), and migrates only some of the group data. Refer to the following information for the list of what's included in the migration.
Using GitLab Group Migration, you can migrate existing top-level groups from GitLab.com or a self-managed instance. Groups can be migrated to a target instance, as a top-level group, or as a subgroup of any existing top-level group.
diff --git a/doc/user/group/index.md b/doc/user/group/index.md
index d070277beed..7f2e502b94b 100644
--- a/doc/user/group/index.md
+++ b/doc/user/group/index.md
@@ -216,9 +216,8 @@ There are two different ways to add a new project to a group:
### Specify who can add projects to a group
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2534) in [GitLab Premium](https://about.gitlab.com/pricing/) 10.5.
-> - Brought to [GitLab Starter](https://about.gitlab.com/pricing/) in 10.7.
-> - [Moved](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25975) to [GitLab Free](https://about.gitlab.com/pricing/) in 11.10.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2534) in GitLab Premium 10.5.
+> - [Moved](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25975) to GitLab Free in 11.10.
By default, [Developers and Maintainers](../permissions.md#group-members-permissions) can create projects under a group.
@@ -233,7 +232,7 @@ To change this setting globally, see [Default project creation protection](../ad
## Group activity analytics **(PREMIUM)**
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207164) in GitLab [Starter](https://about.gitlab.com/pricing/) 12.10 as
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207164) in GitLab 12.10 as
a [beta feature](https://about.gitlab.com/handbook/product/#beta).
For a group, you can view how many merge requests, issues, and members were created in the last 90 days.
@@ -262,7 +261,7 @@ In GitLab 13.11, you can [replace this form with a modal window](#share-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
-to the shared group. This is not valid for inherited members.
+to the shared group. This includes members who inherited group membership from a parent group.
To share a given group, for example, `Frontend` with another group, for example,
`Engineering`:
@@ -577,7 +576,8 @@ To disable group mentions:
## 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.
+> - [Inheritance and enforcement added](https://gitlab.com/gitlab-org/gitlab/-/issues/321724) in GitLab 13.11.
By default, projects in a group are deleted immediately.
Optionally, on [Premium](https://about.gitlab.com/pricing/) or higher tiers,
@@ -591,10 +591,11 @@ To enable delayed deletion of projects:
1. Go to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section.
1. Check **Enable delayed project removal**.
+1. Optional. To prevent subgroups from changing this setting, select **Enforce for all subgroups**.
1. Select **Save changes**.
NOTE:
-The group setting for delayed deletion is not inherited by subgroups and has to be individually defined for each group.
+In GitLab 13.11 and above the group setting for delayed project removal is inherited by subgroups. As discussed in [Cascading settings](../../development/cascading_settings.md) inheritance can be overridden, unless enforced by an ancestor.
## Prevent project forking outside group **(PREMIUM)**
@@ -617,7 +618,7 @@ To enable prevent project forking:
## Group push rules **(PREMIUM)**
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34370) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.8.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34370) in GitLab 12.8.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/224129) in GitLab 13.4.
Group push rules allow group maintainers to set
@@ -643,9 +644,6 @@ The group's new subgroups have push rules set for them based on either:
and issues) of group members. **(PREMIUM)**
- [Issue analytics](issues_analytics/index.md): View a bar chart of your group's number of issues per month. **(PREMIUM)**
- Use GitLab as a [dependency proxy](../packages/dependency_proxy/index.md) for upstream Docker images.
-- [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
- [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)**
- [Security Dashboard](../application_security/security_dashboard/index.md): View the vulnerabilities of all
the projects in a group and its subgroups. **(ULTIMATE)**
diff --git a/doc/user/group/insights/img/insights_example_stacked_bar_chart_v13_11.png b/doc/user/group/insights/img/insights_example_stacked_bar_chart_v13_11.png
index 1ef49191a13..ff18a3e86a5 100644
--- a/doc/user/group/insights/img/insights_example_stacked_bar_chart_v13_11.png
+++ b/doc/user/group/insights/img/insights_example_stacked_bar_chart_v13_11.png
Binary files differ
diff --git a/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8.png b/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8.png
deleted file mode 100644
index fccfa949779..00000000000
--- a/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8.png
+++ /dev/null
Binary files differ
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
new file mode 100644
index 00000000000..5994cbfa401
--- /dev/null
+++ b/doc/user/group/issues_analytics/img/issues_created_per_month_v12_8_a.png
Binary files differ
diff --git a/doc/user/group/issues_analytics/index.md b/doc/user/group/issues_analytics/index.md
index 97f62becdb6..20b8e4b0583 100644
--- a/doc/user/group/issues_analytics/index.md
+++ b/doc/user/group/issues_analytics/index.md
@@ -31,7 +31,7 @@ You can change the total number of months displayed by setting a URL parameter.
For example, `https://gitlab.com/groups/gitlab-org/-/issues_analytics?months_back=15`
shows a total of 15 months for the chart in the GitLab.org group.
-![Issues created per month](img/issues_created_per_month_v12_8.png)
+![Issues created per month](img/issues_created_per_month_v12_8_a.png)
## Drill into the information
diff --git a/doc/user/group/roadmap/img/roadmap_filters_v13_11.png b/doc/user/group/roadmap/img/roadmap_filters_v13_11.png
index d2a76b4edce..e45c7b2b5dd 100644
--- a/doc/user/group/roadmap/img/roadmap_filters_v13_11.png
+++ b/doc/user/group/roadmap/img/roadmap_filters_v13_11.png
Binary files differ
diff --git a/doc/user/group/roadmap/img/roadmap_view_v13_2.png b/doc/user/group/roadmap/img/roadmap_view_v13_2.png
index b4f889afaa4..94cf2258569 100644
--- a/doc/user/group/roadmap/img/roadmap_view_v13_2.png
+++ b/doc/user/group/roadmap/img/roadmap_view_v13_2.png
Binary files differ
diff --git a/doc/user/group/saml_sso/group_managed_accounts.md b/doc/user/group/saml_sso/group_managed_accounts.md
index a9b1901bc8c..d62b569a795 100644
--- a/doc/user/group/saml_sso/group_managed_accounts.md
+++ b/doc/user/group/saml_sso/group_managed_accounts.md
@@ -104,9 +104,11 @@ This expiration date is not a requirement, and can be set to any arbitrary date.
Since personal access tokens are the only token needed for programmatic access to GitLab, organizations with security requirements may want to enforce more protection to require regular rotation of these tokens.
-### Setting a limit
+### Set a limit
-Only a GitLab administrator or an owner of a group-managed account can set a limit. When this field is left empty, the [instance-level restriction](../../admin_area/settings/account_and_limit_settings.md#limiting-lifetime-of-personal-access-tokens) on the lifetime of personal access tokens apply.
+Only a GitLab administrator or an owner of a group-managed account can set a limit. When this field
+is left empty, the [instance-level restriction](../../admin_area/settings/account_and_limit_settings.md#limit-the-lifetime-of-personal-access-tokens)
+on the lifetime of personal access tokens apply.
To set a limit on how long personal access tokens are valid for users in a group managed account:
diff --git a/doc/user/group/saml_sso/img/group_saml_settings_v13_12.png b/doc/user/group/saml_sso/img/group_saml_settings_v13_12.png
new file mode 100644
index 00000000000..2271f281655
--- /dev/null
+++ b/doc/user/group/saml_sso/img/group_saml_settings_v13_12.png
Binary files differ
diff --git a/doc/user/group/saml_sso/img/group_saml_settings_v13_3.png b/doc/user/group/saml_sso/img/group_saml_settings_v13_3.png
deleted file mode 100644
index f6450c7c1ba..00000000000
--- a/doc/user/group/saml_sso/img/group_saml_settings_v13_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/saml_sso/img/saml_group_links_nav_v13_6.png b/doc/user/group/saml_sso/img/saml_group_links_nav_v13_6.png
deleted file mode 100644
index c1980b24a6d..00000000000
--- a/doc/user/group/saml_sso/img/saml_group_links_nav_v13_6.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/saml_sso/index.md b/doc/user/group/saml_sso/index.md
index f2f28046443..1864547c57f 100644
--- a/doc/user/group/saml_sso/index.md
+++ b/doc/user/group/saml_sso/index.md
@@ -66,6 +66,9 @@ the user details need to be passed to GitLab as SAML assertions.
At a minimum, the user's email address *must* be specified as an assertion named `email` or `mail`.
See [the assertions list](../../../integration/saml.md#assertions) for other available claims.
+NOTE:
+The `username` assertion is not supported for GitLab.com SaaS integrations.
+
### Metadata configuration
GitLab provides metadata XML that can be used to configure your identity provider.
@@ -82,21 +85,21 @@ After you set up your identity provider to work with GitLab, you must configure
1. Find the SSO URL from your identity provider and enter it the **Identity provider single sign-on URL** field.
1. Find and enter the fingerprint for the SAML token signing certificate in the **Certificate** field.
1. Select the access level to be applied to newly added users in the **Default membership role** field. The default access level is 'Guest'.
-1. Select the **Enable SAML authentication for this group** toggle switch.
+1. Select the **Enable SAML authentication for this group** checkbox.
1. Select the **Save changes** button.
-![Group SAML Settings for GitLab.com](img/group_saml_settings_v13_3.png)
+![Group SAML Settings for GitLab.com](img/group_saml_settings_v13_12.png)
NOTE:
Please note that the certificate [fingerprint algorithm](../../../integration/saml.md#notes-on-configuring-your-identity-provider) must be in SHA1. When configuring the identity provider, use a secure signature algorithm.
### SSO enforcement
-- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5291) in GitLab 11.8.
-- [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/9255) in GitLab 11.11 with ongoing enforcement in the GitLab UI.
-- [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/292811) in GitLab 13.8, with an updated timeout experience.
-- [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/211962) in GitLab 13.8 with allowing group owners to not go through SSO.
-- [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/9152) in GitLab 13.11 with enforcing open SSO session to use Git if this setting is switched on.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5291) in GitLab 11.8.
+> - [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/9255) in GitLab 11.11 with ongoing enforcement in the GitLab UI.
+> - [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/292811) in GitLab 13.8, with an updated timeout experience.
+> - [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/211962) in GitLab 13.8 with allowing group owners to not go through SSO.
+> - [Improved](https://gitlab.com/gitlab-org/gitlab/-/issues/9152) in GitLab 13.11 with enforcing open SSO session to use Git if this setting is switched on.
With this option enabled, users (except owners) must go through your group's GitLab single sign-on URL if they wish to access group resources through the UI. Users can't be manually added as members.
@@ -322,11 +325,9 @@ Ensure your SAML identity provider sends an attribute statement named `Groups` o
```
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
+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.
-![SAML Group Links navigation](img/saml_group_links_nav_v13_6.png)
-
To link the SAML `Freelancers` group in the attribute statement example above:
1. Enter `Freelancers` in the `SAML Group Name` field.
diff --git a/doc/user/group/saml_sso/scim_setup.md b/doc/user/group/saml_sso/scim_setup.md
index 7bf54aea60e..65b3e2d095d 100644
--- a/doc/user/group/saml_sso/scim_setup.md
+++ b/doc/user/group/saml_sso/scim_setup.md
@@ -71,7 +71,7 @@ your SAML configuration differs from [the recommended SAML settings](index.md#az
modify the corresponding `customappsso` settings accordingly. If a mapping is not listed in the
table, use the Azure defaults.
-| Azure Active Directory Attribute | customappsso Attribute | Matching precedence |
+| Azure Active Directory Attribute | `customappsso` Attribute | Matching precedence |
| -------------------------------- | ---------------------- | -------------------- |
| `objectId` | `externalId` | 1 |
| `userPrincipalName` | `emails[type eq "work"].value` | |
@@ -129,11 +129,11 @@ configuration. Otherwise, the Okta SCIM app may not work properly.
- For **API Token** enter the SCIM token obtained from the GitLab SCIM configuration page
1. Click 'Test API Credentials' to verify configuration.
1. Click **Save** to apply the settings.
-1. After saving the API integration details, new settings tabs will appear on the left. Choose **To App**.
+1. After saving the API integration details, new settings tabs appear on the left. Choose **To App**.
1. Click **Edit**.
1. Check the box to **Enable** for both **Create Users** and **Deactivate Users**.
1. Click **Save**.
-1. Assign users in the **Assignments** tab. Assigned users will be created and
+1. Assign users in the **Assignments** tab. Assigned users are created and
managed in your GitLab group.
#### Okta Known Issues
@@ -212,7 +212,7 @@ Ensure that the user has been added to the SCIM app.
If you receive "User is not linked to a SAML account", then most likely the user already exists in GitLab. Have the user follow the [User access and linking setup](#user-access-and-linking-setup) instructions.
-The **Identity** (`extern_uid`) value stored by GitLab is updated by SCIM whenever `id` or `externalId` changes. Users won't be able to sign in unless the GitLab Identity (`extern_uid`) value matches the `NameId` sent by SAML.
+The **Identity** (`extern_uid`) value stored by GitLab is updated by SCIM whenever `id` or `externalId` changes. Users cannot sign in unless the GitLab Identity (`extern_uid`) value matches the `NameId` sent by SAML.
This value is also used by SCIM to match users on the `id`, and is updated by SCIM whenever the `id` or `externalId` values change.
@@ -242,9 +242,9 @@ you can address the problem in the following ways:
- You can have users unlink and relink themselves, based on the ["SAML authentication failed: User has already been taken"](index.md#message-saml-authentication-failed-user-has-already-been-taken) section.
- You can unlink all users simultaneously, by removing all users from the SAML app while provisioning is turned on.
- It may be possible to use the [SCIM API](../../../api/scim.md#update-a-single-scim-provisioned-user) to manually correct the `externalId` stored for users to match the SAML `NameId`.
- To look up a user, you'll need to know the desired value that matches the `NameId` as well as the current `externalId`.
+ To look up a user, you need to know the desired value that matches the `NameId` as well as the current `externalId`.
-It is important not to update these to incorrect values, since this will cause users to be unable to sign in. It is also important not to assign a value to the wrong user, as this would cause users to get signed into the wrong account.
+It is important not to update these to incorrect values, since this causes users to be unable to sign in. It is also important not to assign a value to the wrong user, as this causes users to get signed into the wrong account.
### I need to change my SCIM app
diff --git a/doc/user/group/settings/import_export.md b/doc/user/group/settings/import_export.md
index bb7c1e26544..5d375e2abd9 100644
--- a/doc/user/group/settings/import_export.md
+++ b/doc/user/group/settings/import_export.md
@@ -29,7 +29,7 @@ To enable GitLab import/export:
Note the following:
-- Exports are stored in a temporary [shared directory](../../../development/shared_files.md) and are deleted every 24 hours by a specific worker.
+- Exports are stored in a temporary directory and are deleted every 24 hours by a specific worker.
- To preserve group-level relationships from imported projects, run the Group Import/Export first, to allow projects to
be imported into the desired group structure.
- Imported groups are given a `private` visibility level, unless imported into a parent group.
@@ -71,7 +71,7 @@ For more details on the specific data persisted in a group export, see the
![Export group panel](img/export_panel_v13_0.png)
1. After the export is generated, you should receive an e-mail with a link to the [exported contents](#exported-contents)
- in a compressed tar archive, with contents in JSON format.
+ in a compressed tar archive, with contents in NDJSON format.
1. Alternatively, you can come back to the project settings and download the
file from there by clicking **Download export**, or generate a new file by clicking **Regenerate export**.
@@ -109,6 +109,14 @@ on an existing group's page.
## Version history
+### 14.0+
+
+In GitLab 14.0, the JSON format is no longer supported for project and group exports. To allow for a
+transitional period, you can still import any JSON exports. The new format for imports and exports
+is NDJSON.
+
+### 13.0+
+
GitLab can import bundles that were exported from a different GitLab deployment.
This ability is limited to two previous GitLab [minor](../../../policy/maintenance.md#versioning)
releases, which is similar to our process for [Security Releases](../../../policy/maintenance.md#security-releases).
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
new file mode 100644
index 00000000000..c02f259ae8c
--- /dev/null
+++ 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/delete_value_stream_v13_4.png b/doc/user/group/value_stream_analytics/img/delete_value_stream_v13_4.png
deleted file mode 100644
index c97fcb76343..00000000000
--- a/doc/user/group/value_stream_analytics/img/delete_value_stream_v13_4.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/extended_value_stream_form_v13_10.png b/doc/user/group/value_stream_analytics/img/extended_value_stream_form_v13_10.png
deleted file mode 100644
index e2752ad1157..00000000000
--- a/doc/user/group/value_stream_analytics/img/extended_value_stream_form_v13_10.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/label_based_stage_vsm_v12_9.png b/doc/user/group/value_stream_analytics/img/label_based_stage_vsm_v12_9.png
deleted file mode 100644
index 84ce33aece5..00000000000
--- a/doc/user/group/value_stream_analytics/img/label_based_stage_vsm_v12_9.png
+++ /dev/null
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
new file mode 100644
index 00000000000..b2b6ce04a14
--- /dev/null
+++ 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/new_value_stream_v13_3.png b/doc/user/group/value_stream_analytics/img/new_value_stream_v13_3.png
deleted file mode 100644
index bc8502e85a6..00000000000
--- a/doc/user/group/value_stream_analytics/img/new_value_stream_v13_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/new_vsm_stage_v12_9.png b/doc/user/group/value_stream_analytics/img/new_vsm_stage_v12_9.png
deleted file mode 100644
index dbef25d33ed..00000000000
--- a/doc/user/group/value_stream_analytics/img/new_vsm_stage_v12_9.png
+++ /dev/null
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
new file mode 100644
index 00000000000..ee0d007a778
--- /dev/null
+++ 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_filter_bar_v13_3.png b/doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_3.png
deleted file mode 100644
index 506765f63cb..00000000000
--- a/doc/user/group/value_stream_analytics/img/vsa_filter_bar_v13_3.png
+++ /dev/null
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
new file mode 100644
index 00000000000..1f47670462c
--- /dev/null
+++ 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
new file mode 100644
index 00000000000..7d47003972c
--- /dev/null
+++ 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_stage_table_v13_12.png b/doc/user/group/value_stream_analytics/img/vsa_stage_table_v13_12.png
new file mode 100644
index 00000000000..24d485306be
--- /dev/null
+++ b/doc/user/group/value_stream_analytics/img/vsa_stage_table_v13_12.png
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_0.png b/doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_0.png
deleted file mode 100644
index 799a81584a0..00000000000
--- a/doc/user/group/value_stream_analytics/img/vsa_time_metrics_v13_0.png
+++ /dev/null
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
new file mode 100644
index 00000000000..63bae51afef
--- /dev/null
+++ 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/img/vsm_stage_list_v12_9.png b/doc/user/group/value_stream_analytics/img/vsm_stage_list_v12_9.png
deleted file mode 100644
index 3b50dd48543..00000000000
--- a/doc/user/group/value_stream_analytics/img/vsm_stage_list_v12_9.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/value_stream_analytics/index.md b/doc/user/group/value_stream_analytics/index.md
index 6a512d78696..4b473c9217d 100644
--- a/doc/user/group/value_stream_analytics/index.md
+++ b/doc/user/group/value_stream_analytics/index.md
@@ -59,7 +59,7 @@ To filter results:
1. Select a parameter to filter by.
1. Select a value from the autocompleted results, or type to refine the results.
-![Value stream analytics filter bar](img/vsa_filter_bar_v13_3.png "Active filter bar for value stream analytics")
+![Value stream analytics filter bar](img/vsa_filter_bar_v13_12.png "Active filter bar for value stream analytics")
### Date ranges
@@ -71,14 +71,28 @@ GitLab provides the ability to filter analytics based on a date range. To filter
1. Optionally select a project.
1. Select a date range using the available date pickers.
-## How Time metrics are measured
+## How metrics are measured
The "Time" metrics near the top of the page are measured as follows:
- **Lead time**: median time from issue created to issue closed.
-- **Cycle time**: median time from first commit to issue closed. (You can associate a commit with an issue by [crosslinking in the commit message](../../project/issues/crosslinking_issues.md#from-commit-messages).)
+- **Cycle time**: median time from first commit to issue closed. (You can associate a commit with an
+ issue by [crosslinking in the commit message](../../project/issues/crosslinking_issues.md#from-commit-messages).)
-![Value stream analytics time metrics](img/vsa_time_metrics_v13_0.png "Time metrics for value stream analytics")
+The "Recent Activity" metrics near the top of the page are measured as follows:
+
+- **New Issues:** the number of issues created in the date range.
+- **Deploys:** the number of deployments to production (1) in the date range.
+- **Deployment Frequency:** the average number of deployments to production (1) per day in the date range.
+
+(1) To give a more accurate representation of deployments that actually completed successfully,
+the calculation for these two metrics changed in GitLab 13.9 from using the time a deployment was
+created to the time a deployment finished. If you were referencing this metric prior to 13.9, please
+keep this slight change in mind.
+
+You can learn more about these metrics in our [analytics definitions](../../analytics/index.md).
+
+![Value stream analytics time metrics](img/vsa_time_metrics_v13_12.png "Time metrics for value stream analytics")
## How the stages are measured
@@ -109,8 +123,8 @@ How this works, behind the scenes:
we need for the stages, like issue creation date, merge request merge time,
etc.
-To sum up, anything that doesn't follow [GitLab flow](../../../topics/gitlab_flow.md) will not be tracked and the
-Value Stream Analytics dashboard will not present any data for:
+To sum up, anything that doesn't follow [GitLab flow](../../../topics/gitlab_flow.md) is not tracked and the
+Value Stream Analytics dashboard does not present any data for:
- Merge requests that do not close an issue.
- Issues not labeled with a label present in the Issue Board or for issues not assigned a milestone.
@@ -118,7 +132,8 @@ Value Stream Analytics dashboard will not present any data for:
## How the production environment is identified
-Value Stream Analytics identifies production environments by looking for project [environments](../../../ci/yaml/README.md#environment) with a name matching any of these patterns:
+Value Stream Analytics identifies production environments by looking for project
+[environments](../../../ci/yaml/README.md#environment) with a name matching any of these patterns:
- `prod` or `prod/*`
- `production` or `production/*`
@@ -176,7 +191,7 @@ A few notes:
cycles, calculate their median time and the result is what the dashboard of
Value Stream Analytics is showing.
-## Customizable Stages
+## Custom value streams
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12196) in GitLab 12.9.
@@ -184,14 +199,13 @@ The default stages are designed to work straight out of the box, but they might
all teams. Different teams use different approaches to building software, so some teams might want
to customize their Value Stream Analytics.
-GitLab allows users to create multiple value streams, hide default stages and create custom stages that align better to their development workflow.
+GitLab allows users to create multiple value streams, hide default stages and create custom stages
+that align better to their development workflow.
### Stage path
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/210315) in GitLab 13.0.
-> - It's [deployed behind a feature flag](../../feature_flags.md), enabled by default.
-> - It's enabled on GitLab.com.
-> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](../../../administration/feature_flags.md). **(FREE SELF)**
+> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/323982) in GitLab 13.12.
![Value stream path navigation](img/vsa_path_nav_v13_11.png "Value stream path navigation")
@@ -212,98 +226,62 @@ Hovering over a stage item displays a popover with the following information:
- Start event description for the given stage
- End event description
+- Median time items took to complete the stage
+- Number of items that completed the stage
-Horizontal path navigation is enabled by default. If you have a self-managed instance, an
-administrator can [open a Rails console](../../../administration/troubleshooting/navigating_gitlab_via_rails_console.md)
-and disable it with the following command:
-
-```ruby
-Feature.disable(:value_stream_analytics_path_navigation)
-```
-
-### Adding a stage
-
-In the following example we're creating a new stage that measures and tracks issues from creation
-time until they are closed.
-
-1. Navigate to your group's **Analytics > Value Stream**.
-1. Click the **Add a stage** button.
-1. Fill in the new stage form:
- - Name: Issue start to finish.
- - Start event: Issue created.
- - End event: Issue closed.
-1. Click the **Add stage** button.
-
-![New Value Stream Analytics Stage](img/new_vsm_stage_v12_9.png "Form for creating a new stage")
-
-The new stage is persisted and it will always show up on the Value Stream Analytics page for your
-group.
-
-If you want to alter or delete the stage, you can easily do that for customized stages by:
-
-1. Hovering over the stage.
-1. Clicking the vertical ellipsis (**{ellipsis_v}**) button that appears.
-
-![Value Stream Analytics Stages](img/vsm_stage_list_v12_9.png)
-
-Creating a custom stage requires specifying two events:
-
-- A start.
-- An end.
-
-Be careful to choose a start event that occurs *before* your end event. For example, consider a
-stage that:
+### Stream overview
-- Started when an issue is added to a board.
-- Ended when the issue is created.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/321438) in GitLab 13.11.
-This stage would not work because the end event has already happened when the start event occurs.
-To prevent such invalid stages, the UI prohibits incompatible start and end events. After you select
-the start event, the stop event dropdown will only list the compatible events.
+![Value Stream Analytics Overview](img/vsa_overview_stage_v13_11.png "VSA overview")
-### Re-ordering stages
+The stream overview provides access to key metrics and charts summarizing all the stages in the value stream
+based on selected filters.
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/196698) in GitLab 12.10.
+Shown metrics and charts includes:
-Once a custom stage has been added, you can "drag and drop" stages to rearrange their order. These changes are automatically saved to the system.
+- [Lead time](#how-metrics-are-measured)
+- [Cycle time](#how-metrics-are-measured)
+- [Days to completion chart](#days-to-completion-chart)
+- [Tasks by type chart](#type-of-work---tasks-by-type-chart)
-### Label based stages
+### Stage table
-The pre-defined start and end events can cover many use cases involving both issues and merge requests.
-
-For supporting more complex workflows, use stages based on group labels. These events are based on
-labels being added or removed. In particular, [scoped labels](../../project/labels.md#scoped-labels)
-are useful for complex workflows.
+> Sorting the stage table [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/301082) in GitLab 13.12.
-In this example, we'd like to measure more accurate code review times. The workflow is the following:
+![Value Stream Analytics Stage table](img/vsa_stage_table_v13_12.png "VSA stage table")
-- When the code review starts, the reviewer adds `workflow::code_review_start` label to the merge request.
-- When the code review is finished, the reviewer adds `workflow::code_review_complete` label to the merge request.
+The stage table shows a list of related workflow items for the selected stage. This can include:
-Creating a new stage called "Code Review":
+- CI/CD jobs
+- Issues
+- Merge requests
+- Pipelines
-![New Label Based Value Stream Analytics Stage](img/label_based_stage_vsm_v12_9.png "Creating a label based Value Stream Analytics Stage")
+A little badge next to the workflow items table header shows the number of workflow items that
+completed the selected stage.
-### Hiding unused stages
+The stage table also includes the **Time** column, which shows how long it takes each item to pass
+through the selected value stream stage.
-Sometimes certain default stages are not relevant to a team. In this case, you can easily hide stages
-so they no longer appear in the list. To hide stages:
+The stage table is not displayed on the stream [Overview](#stream-overview).
+The workflow item column (first column) is ordered by end event.
-1. Add a custom stage to activate customizability.
-1. Hover over the default stage you want to hide.
-1. Click the vertical ellipsis (**{ellipsis_v}**) button that appears and select **Hide stage**.
+To sort the stage table by a table column, select the table header.
+You can sort in ascending or descending order. To find items that spent the most time in a stage,
+potentially causing bottlenecks in your value stream, sort the table by the **Time** column.
+From there, select individual items to drill in and investigate how delays are happening.
+To see which items the stage most recently, sort by the work item column on the left.
-To recover a default stage that was previously hidden:
-
-1. Click **Add a stage** button.
-1. In the top right corner open the **Recover hidden stage** dropdown.
-1. Select a stage.
+The table displays up to 20 items at a time. If there are more than 20 items, you can use the
+**Prev** and **Next** buttons to navigate through the pages.
### Creating a value stream
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/221202) in GitLab 13.3
-A default value stream is readily available for each group. You can create additional value streams based on the different areas of work that you would like to measure.
+A default value stream is readily available for each group. You can create additional value streams
+based on the different areas of work that you would like to measure.
Once created, a new value stream includes the [seven stages](#default-stages) that follow
[GitLab workflow](../../../topics/gitlab_flow.md)
@@ -317,7 +295,7 @@ To create a value stream:
- You can [customize the stages](#creating-a-value-stream-with-stages)
1. Click the **Create Value Stream** button.
-![New value stream](img/new_value_stream_v13_3.png "Creating a new value stream")
+![New value stream](img/new_value_stream_v13_12.png "Creating a new value stream")
#### Creating a value stream with stages
@@ -333,17 +311,52 @@ add stages as desired.
To create a value stream with stages:
-1. Navigate to your group's **Analytics > Value Stream**.
-1. Find and select the Value Stream dropdown. Select **Create new Value Stream**.
+1. Go to your group and select **Analytics > Value Stream**.
+1. Select the Value Stream dropdown and select **Create new Value Stream**.
1. Select either **Create from default template** or **Create from no template**.
- - Default stages in the value stream can be hidden or re-ordered
+ - Default stages in the value stream can be hidden or re-ordered.
+
![Default stage actions](img/vsa_default_stage_v13_10.png "Default stage actions")
- - New stages can be added by clicking the 'Add another stage' button
+
+ - New stages can be added by clicking the 'Add another stage' button.
- The name, start and end events for the stage can be selected
+
![Custom stage actions](img/vsa_custom_stage_v13_10.png "Custom stage actions")
1. Select the **Create Value Stream** button to save the value stream.
-![Extended create value stream form](img/extended_value_stream_form_v13_10.png "Extended create value stream form")
+#### Label-based stages
+
+The pre-defined start and end events can cover many use cases involving both issues and merge requests.
+
+In more complex workflows, use stages based on group labels. These events are based on
+added or removed labels. In particular, [scoped labels](../../project/labels.md#scoped-labels)
+are useful for complex workflows.
+
+In this example, we'd like to measure times for deployment from a staging environment to production. The workflow is the following:
+
+- When the code is deployed to staging, the `workflow::staging` label is added to the merge request.
+- When the code is deployed to production, the `workflow::production` label is added to the merge request.
+
+![Label Based Value Stream Analytics Stage](img/vsa_label_based_stage_v14_0.png "Creating a label based Value Stream Analytics Stage")
+
+### Editing a value stream
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267537) in GitLab 13.10.
+
+After you create a value stream, you can customize it to suit your purposes. To edit a value stream:
+
+1. Go to your group and select **Analytics > Value Stream**.
+1. Find and select the relevant value stream from the value stream dropdown.
+1. Next to the value stream dropdown, select **Edit**.
+ The edit form is populated with the value stream details.
+1. Optional:
+ - Rename the value stream.
+ - Hide or re-order default stages.
+ - Remove existing custom stages.
+ - Add new stages by selecting the 'Add another stage' button
+ - Select the start and end events for the stage.
+1. Optional. To undo any modifications, select **Restore value stream defaults**.
+1. Select **Save Value Stream**.
### Deleting a value stream
@@ -356,14 +369,15 @@ To delete a custom value stream:
1. Click the **Delete (name of value stream)**.
1. Click the **Delete** button to confirm.
-![Delete value stream](img/delete_value_stream_v13_4.png "Deleting a custom value stream")
+![Delete value stream](img/delete_value_stream_v13_12.png "Deleting a custom value stream")
## Days to completion chart
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21631) in GitLab 12.6.
> - [Chart median line removed](https://gitlab.com/gitlab-org/gitlab/-/issues/235455) in GitLab 13.4.
+> - [Totals replaced with averages](https://gitlab.com/gitlab-org/gitlab/-/issues/262070) in GitLab 13.12.
-This chart visually depicts the total number of days it takes for cycles to be completed. (Totals are being replaced with averages in [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/262070).)
+This chart visually depicts the average number of days it takes for cycles to be completed.
This chart uses the global page filters for displaying data based on the selected
group, projects, and time frame. In addition, specific stages can be selected