summaryrefslogtreecommitdiff
path: root/doc/user/project
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/project')
-rw-r--r--doc/user/project/canary_deployments.md77
-rw-r--r--doc/user/project/clusters/add_eks_clusters.md7
-rw-r--r--doc/user/project/clusters/add_remove_clusters.md12
-rw-r--r--doc/user/project/clusters/index.md18
-rw-r--r--doc/user/project/clusters/securing.md4
-rw-r--r--doc/user/project/clusters/serverless/aws.md14
-rw-r--r--doc/user/project/code_intelligence.md4
-rw-r--r--doc/user/project/code_owners.md14
-rw-r--r--doc/user/project/deploy_boards.md6
-rw-r--r--doc/user/project/deploy_tokens/index.md69
-rw-r--r--doc/user/project/description_templates.md2
-rw-r--r--doc/user/project/img/epics_swimlanes_drag_and_drop.pngbin0 -> 34381 bytes
-rw-r--r--doc/user/project/img/epics_swimlanes_v13.6.pngbin0 -> 66710 bytes
-rw-r--r--doc/user/project/img/group_issue_board.pngbin163417 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_add_list.pngbin6404 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_add_list_v13_6.pngbin0 -> 11433 bytes
-rw-r--r--doc/user/project/img/issue_board_assignee_lists.pngbin134635 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_assignee_lists_v13_6.pngbin0 -> 32007 bytes
-rw-r--r--doc/user/project/img/issue_board_creation.pngbin108615 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_creation_v13_6.pngbin0 -> 44050 bytes
-rw-r--r--doc/user/project/img/issue_board_edit_button.pngbin108114 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_focus_mode.gifbin1043366 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_milestone_lists.pngbin58740 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_milestone_lists_v13_6.pngbin0 -> 20456 bytes
-rw-r--r--doc/user/project/img/issue_board_move_issue_card_list.pngbin13592 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_move_issue_card_list_v13_6.pngbin0 -> 49895 bytes
-rw-r--r--doc/user/project/img/issue_board_summed_weights.pngbin26687 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_summed_weights_v13_6.pngbin0 -> 8185 bytes
-rw-r--r--doc/user/project/img/issue_board_system_notes.pngbin4893 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_board_system_notes_v13_6.pngbin0 -> 8554 bytes
-rw-r--r--doc/user/project/img/issue_board_view_scope.pngbin63529 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_boards_add_issues_modal.pngbin12415 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_boards_add_issues_modal_v13_6.pngbin0 -> 10189 bytes
-rw-r--r--doc/user/project/img/issue_boards_blocked_icon_v12_8.pngbin15487 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_boards_blocked_icon_v13_6.pngbin0 -> 16709 bytes
-rw-r--r--doc/user/project/img/issue_boards_core.pngbin119602 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_boards_core_v13_6.pngbin0 -> 78044 bytes
-rw-r--r--doc/user/project/img/issue_boards_multiple.pngbin21635 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_boards_multiple_v13_6.pngbin0 -> 9348 bytes
-rw-r--r--doc/user/project/img/issue_boards_premium.pngbin98490 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_boards_premium_v13_6.pngbin0 -> 92133 bytes
-rw-r--r--doc/user/project/img/issue_boards_remove_issue.pngbin39347 -> 0 bytes
-rw-r--r--doc/user/project/img/issue_boards_remove_issue_v13_6.pngbin0 -> 27886 bytes
-rw-r--r--doc/user/project/img/rollout_status_canary_ingress.pngbin0 -> 35617 bytes
-rw-r--r--doc/user/project/import/img/gemnasium/connect_github.pngbin49966 -> 20802 bytes
-rw-r--r--doc/user/project/import/img/gemnasium/create_project.pngbin85728 -> 33653 bytes
-rw-r--r--doc/user/project/import/img/gemnasium/project_connected.pngbin21575 -> 10441 bytes
-rw-r--r--doc/user/project/import/img/jira/import_issues_from_jira_form_v12_10.pngbin31679 -> 0 bytes
-rw-r--r--doc/user/project/import/index.md5
-rw-r--r--doc/user/project/import/tfvc.md3
-rw-r--r--doc/user/project/index.md20
-rw-r--r--doc/user/project/insights/index.md6
-rw-r--r--doc/user/project/integrations/ewm.md6
-rw-r--r--doc/user/project/integrations/img/jira_create_new_group_name.pngbin5168 -> 0 bytes
-rw-r--r--doc/user/project/integrations/img/toggle_metrics_user_starred_dashboard_v13_0.pngbin14922 -> 0 bytes
-rw-r--r--doc/user/project/integrations/img/webex_teams_configuration.pngbin75327 -> 0 bytes
-rw-r--r--doc/user/project/integrations/project_services.md4
-rw-r--r--doc/user/project/integrations/prometheus.md49
-rw-r--r--doc/user/project/integrations/webex_teams.md6
-rw-r--r--doc/user/project/integrations/webhooks.md134
-rw-r--r--doc/user/project/issue_board.md115
-rw-r--r--doc/user/project/issues/csv_export.md6
-rw-r--r--doc/user/project/issues/csv_import.md6
-rw-r--r--doc/user/project/issues/design_management.md2
-rw-r--r--doc/user/project/issues/img/adding_note_to_design_1.pngbin486937 -> 98647 bytes
-rw-r--r--doc/user/project/issues/img/adding_note_to_design_2.pngbin495888 -> 99057 bytes
-rw-r--r--doc/user/project/issues/img/button_close_issue.pngbin12274 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/button_close_issue_v13_6.pngbin0 -> 23033 bytes
-rw-r--r--doc/user/project/issues/img/closing_and_related_issues.pngbin6395 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/confirm_design_deletion_v12_4.pngbin301886 -> 120256 bytes
-rw-r--r--doc/user/project/issues/img/delete_multiple_designs_v12_4.pngbin363274 -> 108361 bytes
-rw-r--r--doc/user/project/issues/img/delete_single_design_v12_4.pngbin921627 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_drag_and_drop_uploads_v12_9.pngbin245564 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_drag_and_drop_uploads_v13_2.pngbin350728 -> 120300 bytes
-rw-r--r--doc/user/project/issues/img/design_management_v12_3.pngbin91233 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_management_v13_2.pngbin286600 -> 106442 bytes
-rw-r--r--doc/user/project/issues/img/design_zooming_v12_7.pngbin591137 -> 221570 bytes
-rw-r--r--doc/user/project/issues/img/epic_tree_health_status_v12_10.pngbin38018 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/issue_health_status_v12_10.pngbin12185 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/issue_health_status_v12_9.pngbin10509 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/new_issue_from_open_issue.pngbin13346 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/new_issue_from_open_issue_v13_6.pngbin0 -> 25667 bytes
-rw-r--r--doc/user/project/issues/img/reopen-issue.pngbin1230 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/report-abuse.pngbin1255 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/select_designs_v12_4.pngbin365232 -> 109286 bytes
-rw-r--r--doc/user/project/issues/index.md7
-rw-r--r--doc/user/project/issues/issue_data_and_actions.md25
-rw-r--r--doc/user/project/issues/managing_issues.md37
-rw-r--r--doc/user/project/labels.md4
-rw-r--r--doc/user/project/members/index.md6
-rw-r--r--doc/user/project/members/share_project_with_groups.md6
-rw-r--r--doc/user/project/merge_requests/code_quality.md36
-rw-r--r--doc/user/project/merge_requests/csv_export.md45
-rw-r--r--doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_only_if_succeeds_settings.pngbin7433 -> 0 bytes
-rw-r--r--doc/user/project/merge_requests/img/project_merge_requests_list_view.pngbin171866 -> 62639 bytes
-rw-r--r--doc/user/project/merge_requests/load_performance_testing.md2
-rw-r--r--doc/user/project/merge_requests/test_coverage_visualization.md10
-rw-r--r--doc/user/project/merge_requests/versions.md3
-rw-r--r--doc/user/project/merge_requests/work_in_progress_merge_requests.md4
-rw-r--r--doc/user/project/milestones/burndown_and_burnup_charts.md40
-rw-r--r--doc/user/project/milestones/burndown_charts.md2
-rw-r--r--doc/user/project/milestones/img/burndown_and_burnup_charts_v13_6.png (renamed from doc/user/project/milestones/img/burndown_and_burnup_charts_v13_5.png)bin55865 -> 55865 bytes
-rw-r--r--doc/user/project/milestones/img/burndown_chart_fixed_v13_6.png (renamed from doc/user/project/milestones/img/burndown_chart_fixed_v13_5.png)bin32250 -> 32250 bytes
-rw-r--r--doc/user/project/milestones/img/burndown_chart_legacy_v13_6.png (renamed from doc/user/project/milestones/img/burndown_chart_legacy_v13_5.png)bin28180 -> 28180 bytes
-rw-r--r--doc/user/project/milestones/img/burndown_chart_v13_6.png (renamed from doc/user/project/milestones/img/burndown_chart_v13_5.png)bin48403 -> 48403 bytes
-rw-r--r--doc/user/project/milestones/img/burnup_chart_v13_6.png (renamed from doc/user/project/milestones/img/burnup_chart_v13_5.png)bin29283 -> 29283 bytes
-rw-r--r--doc/user/project/milestones/img/milestones_new_group_milestone.pngbin144554 -> 39822 bytes
-rw-r--r--doc/user/project/milestones/img/milestones_new_project_milestone.pngbin133541 -> 30379 bytes
-rw-r--r--doc/user/project/milestones/img/milestones_project_milestone_page.pngbin270005 -> 101911 bytes
-rw-r--r--doc/user/project/milestones/index.md2
-rw-r--r--doc/user/project/operations/img/alert_issue_v13_1.pngbin38546 -> 0 bytes
-rw-r--r--doc/user/project/operations/img/error_details_v12_5.pngbin148683 -> 0 bytes
-rw-r--r--doc/user/project/operations/img/error_details_v12_6.pngbin47553 -> 0 bytes
-rw-r--r--doc/user/project/operations/img/error_details_with_issue_v12_6.pngbin50767 -> 0 bytes
-rw-r--r--doc/user/project/operations/img/error_details_with_issue_v12_7.pngbin80625 -> 0 bytes
-rw-r--r--doc/user/project/operations/img/feature_flags_list_v12_7.pngbin7124 -> 0 bytes
-rw-r--r--doc/user/project/operations/img/specs_list_v12_6.pngbin28297 -> 0 bytes
-rw-r--r--doc/user/project/packages/img/maven_package_view.pngbin16105 -> 0 bytes
-rw-r--r--doc/user/project/packages/img/npm_package_view.pngbin10349 -> 0 bytes
-rw-r--r--doc/user/project/pages/getting_started/pages_from_scratch.md9
-rw-r--r--doc/user/project/pages/img/icons/click.pngbin4683 -> 0 bytes
-rw-r--r--doc/user/project/pages/img/icons/cogs.pngbin4425 -> 0 bytes
-rw-r--r--doc/user/project/pages/img/icons/fork.pngbin4380 -> 0 bytes
-rw-r--r--doc/user/project/pages/img/icons/free.pngbin3563 -> 0 bytes
-rw-r--r--doc/user/project/pages/img/icons/monitor.pngbin1982 -> 0 bytes
-rw-r--r--doc/user/project/pages/img/pages_workflow_v12_5.pngbin29541 -> 0 bytes
-rw-r--r--doc/user/project/pages/index.md4
-rw-r--r--doc/user/project/pages/introduction.md2
-rw-r--r--doc/user/project/pages/lets_encrypt_for_gitlab_pages.md3
-rw-r--r--doc/user/project/quick_actions.md5
-rw-r--r--doc/user/project/releases/img/edit_release_page_v12_10.pngbin85295 -> 0 bytes
-rw-r--r--doc/user/project/releases/img/edit_release_page_v12_6.pngbin44412 -> 0 bytes
-rw-r--r--doc/user/project/releases/img/release_with_milestone_v12_5.pngbin20197 -> 0 bytes
-rw-r--r--doc/user/project/releases/img/releases.pngbin43776 -> 0 bytes
-rw-r--r--doc/user/project/releases/img/releases_count_v12_8.pngbin27622 -> 0 bytes
-rw-r--r--doc/user/project/releases/img/releases_sort_v13_6.pngbin0 -> 5571 bytes
-rw-r--r--doc/user/project/releases/index.md17
-rw-r--r--doc/user/project/repository/branches/img/compare_branches.pngbin131046 -> 62436 bytes
-rw-r--r--doc/user/project/repository/img/file_ext_icons_repo_v12_10.pngbin187696 -> 73624 bytes
-rw-r--r--doc/user/project/repository/img/repository_mirroring_push_settings.pngbin92335 -> 31174 bytes
-rw-r--r--doc/user/project/repository/jupyter_notebooks/index.md4
-rw-r--r--doc/user/project/repository/reducing_the_repo_size_using_git.md8
-rw-r--r--doc/user/project/repository/repository_mirroring.md4
-rw-r--r--doc/user/project/repository/web_editor.md7
-rw-r--r--doc/user/project/service_desk.md4
-rw-r--r--doc/user/project/settings/import_export.md14
-rw-r--r--doc/user/project/settings/index.md1
-rw-r--r--doc/user/project/settings/project_access_tokens.md2
-rw-r--r--doc/user/project/static_site_editor/index.md36
-rw-r--r--doc/user/project/web_ide/img/command_palette_v13_6.pngbin0 -> 26660 bytes
-rw-r--r--doc/user/project/web_ide/img/commit_changes_v12_9.pngbin239448 -> 144214 bytes
-rw-r--r--doc/user/project/web_ide/img/dark_theme_v13_0.pngbin205992 -> 99238 bytes
-rw-r--r--doc/user/project/web_ide/img/solarized_light_theme_v13_0.pngbin194914 -> 77660 bytes
-rw-r--r--doc/user/project/web_ide/index.md26
-rw-r--r--doc/user/project/wiki/img/wiki_move_page_1.pngbin17270 -> 0 bytes
-rw-r--r--doc/user/project/wiki/img/wiki_move_page_2.pngbin10571 -> 0 bytes
-rw-r--r--doc/user/project/wiki/img/wiki_sidebar_v13_5.pngbin16039 -> 6022 bytes
-rw-r--r--doc/user/project/wiki/index.md41
158 files changed, 797 insertions, 208 deletions
diff --git a/doc/user/project/canary_deployments.md b/doc/user/project/canary_deployments.md
index afce3869cbf..e9bb6d0e3ff 100644
--- a/doc/user/project/canary_deployments.md
+++ b/doc/user/project/canary_deployments.md
@@ -1,3 +1,9 @@
+---
+stage: none
+group: unassigned
+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/#designated-technical-writers
+---
+
# Canary Deployments **(PREMIUM)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1659) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.1.
@@ -61,3 +67,74 @@ Canary deployments are marked with a yellow dot in the Deploy Board so that you
can easily notice them.
![Canary deployments on Deploy Board](img/deploy_boards_canary_deployments.png)
+
+### Advanced traffic control with Canary Ingress **(PREMIUM)**
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215501) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.6.
+
+Canary deployments can be more strategic with [Canary Ingress](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#canary),
+which is an advanced traffic routing service that controls incoming HTTP
+requests between stable and canary deployments based on factors such as weight, sessions, cookies,
+and others. GitLab uses this service in its [Auto Deploy architecture](../../topics/autodevops/upgrading_auto_deploy_dependencies.md#v2-chart-resource-architecture)
+to let users easily and safely roll out their new deployments.
+
+#### How to set up a Canary Ingress in a canary deployment
+
+A Canary Ingress is installed by default if your Auto DevOps pipeline uses
+[`v2.0.0+` of `auto-deploy-image`](../../topics/autodevops/upgrading_auto_deploy_dependencies.md#verify-dependency-versions).
+A Canary Ingress becomes available when you create a new canary deployment and is destroyed when the
+canary deployment is promoted to production.
+
+Here's an example setup flow from scratch:
+
+1. Prepare an [Auto DevOps-enabled](../../topics/autodevops/index.md) project.
+1. Set up a [Kubernetes Cluster](../../user/project/clusters/index.md) in your project.
+1. Install [Ingress](../../user/clusters/applications.md#ingress) as a GitLab Managed App.
+1. Set up [the base domain](../../user/project/clusters/index.md#base-domain) based on the Ingress
+ Endpoint assigned above.
+1. Check if [`v2.0.0+` of `auto-deploy-image` is used in your Auto DevOps pipelines](../../topics/autodevops/upgrading_auto_deploy_dependencies.md#verify-dependency-versions).
+ If it isn't, follow the documentation to specify the image version.
+1. [Run a new Auto DevOps pipeline](../../ci/pipelines/index.md#run-a-pipeline-manually)
+ and make sure that the `production` job succeeds and creates a production environment.
+1. Configure a [`canary` deployment job for Auto DevOps pipelines](../../topics/autodevops/customize.md#deploy-policy-for-canary-environments).
+1. [Run a new Auto DevOps pipeline](../../ci/pipelines/index.md#run-a-pipeline-manually)
+ and make sure that the `canary` job succeeds and creates a canary deployment with Canary Ingress.
+
+#### How to check the current traffic weight on a Canary Ingress
+
+1. Visit [Deploy Board](../../user/project/deploy_boards.md).
+1. Open your browser's inspection tool and examine a response from the `environments.json` endpoint.
+ You can find the current weight under `rollout_status`.
+
+ ![Rollout Status Canary Ingress](img/rollout_status_canary_ingress.png)
+
+ Note that we have [a plan](https://gitlab.com/gitlab-org/gitlab/-/issues/218139)
+ to visualize this information in a [Deploy Board](../../user/project/deploy_boards.md)
+ without needing a browser's inspection tool.
+
+#### How to change the traffic weight on a Canary Ingress
+
+You can change the traffic weight by using [GraphiQL](../../api/graphql/getting_started.md#graphiql)
+or by sending requests to the [GraphQL API](../../api/graphql/getting_started.md#command-line).
+
+Here's an example using [GraphiQL](../../api/graphql/getting_started.md#graphiql):
+
+1. Visit [GraphiQL Explorer](https://gitlab.com/-/graphql-explorer).
+1. Execute the `environmentsCanaryIngressUpdate` GraphQL mutation:
+
+ ```shell
+ mutation {
+ environmentsCanaryIngressUpdate(input:{
+ id: "gid://gitlab/Environment/29", # Your Environment ID. You can get the ID from the URL of the environment page.
+ weight: 45 # The new traffic weight. e.g. If you set `45`, 45% of traffic goes to a canary deployment and 55% of traffic goes to a stable deployment.
+ }) {
+ errors
+ }
+ }
+ ```
+
+1. If the request succeeds, the `errors` response contains an empty array. GitLab sends a `PATCH`
+ request to your Kubernetes cluster for updating the weight parameter on a Canary Ingress.
+
+Note that there's [a plan](https://gitlab.com/gitlab-org/gitlab/-/issues/218139)
+to control the weight from a [Deploy Board](../../user/project/deploy_boards.md).
diff --git a/doc/user/project/clusters/add_eks_clusters.md b/doc/user/project/clusters/add_eks_clusters.md
index 65416d73f06..c3f2b96ce9f 100644
--- a/doc/user/project/clusters/add_eks_clusters.md
+++ b/doc/user/project/clusters/add_eks_clusters.md
@@ -139,6 +139,7 @@ To create and add a new Kubernetes cluster to your project, group, or instance:
1. Enter a role name and optional description into the fields provided.
1. Click **Create role**, the new role name will appear at the top. Click on its name and copy the `Role ARN` from the newly created role.
1. In GitLab, enter the copied role ARN into the `Role ARN` field.
+1. In the **Cluster Region** field, enter the [region](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) you plan to use for your new cluster. GitLab will authenticate you have access to this region when authenticating your role.
1. Click **Authenticate with AWS**.
1. Choose your cluster's settings:
- **Kubernetes cluster name** - The name you wish to give the cluster.
@@ -152,9 +153,6 @@ To create and add a new Kubernetes cluster to your project, group, or instance:
the one you created much earlier by following the
[Amazon EKS cluster IAM role](https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html)
guide.
-
- - **Region** - The [region](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
- in which the cluster will be created.
- **Key pair name** - Select the [key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
that you can use to connect to your worker nodes if required.
- **VPC** - Select a [VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
@@ -184,9 +182,10 @@ The following errors are commonly encountered when creating a new cluster.
#### Error: Request failed with status code 422
When submitting the initial authentication form, GitLab returns a status code 422
-error when it can't determine the role you've provided. Make sure you've
+error when it can't determine the role or region you've provided. Make sure you've
correctly configured your role with the **Account ID** and **External ID**
provided by GitLab. In GitLab, make sure to enter the correct **Role ARN**.
+Make sure you also have access to the chosen region.
#### Could not load Security Groups for this VPC
diff --git a/doc/user/project/clusters/add_remove_clusters.md b/doc/user/project/clusters/add_remove_clusters.md
index 094f4bcf6ba..c96e38b1dfc 100644
--- a/doc/user/project/clusters/add_remove_clusters.md
+++ b/doc/user/project/clusters/add_remove_clusters.md
@@ -94,7 +94,11 @@ GitLab creates the following resources for RBAC clusters.
| Environment namespace | `Namespace` | Contains all environment-specific resources | Deploying to a cluster |
| Environment namespace | `ServiceAccount` | Uses namespace of environment | Deploying to a cluster |
| Environment namespace | `Secret` | Token for environment ServiceAccount | Deploying to a cluster |
-| Environment namespace | `RoleBinding` | [`edit`](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) roleRef | Deploying to a cluster |
+| Environment namespace | `RoleBinding` | [`admin`](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) roleRef | Deploying to a cluster |
+
+The environment namespace `RoleBinding` was
+[updated](https://gitlab.com/gitlab-org/gitlab/-/issues/31113) in GitLab 13.6
+to `admin` roleRef. Previously, the `edit` roleRef was used.
### ABAC cluster resources
@@ -149,6 +153,9 @@ Amazon Elastic Kubernetes Service (EKS) at the project, group, or instance level
- [Amazon EKS](add_eks_clusters.md#new-eks-cluster).
- [Google GKE](add_gke_clusters.md#creating-the-cluster-on-gke).
+After creating a cluster, you can install runners for it as described in
+[GitLab Managed Apps](../../clusters/applications.md).
+
## Add existing cluster
If you have an existing Kubernetes cluster, you can add it to a project, group,
@@ -158,6 +165,9 @@ Kubernetes integration isn't supported for arm64 clusters. See the issue
[Helm Tiller fails to install on arm64 cluster](https://gitlab.com/gitlab-org/gitlab/-/issues/29838)
for details.
+After adding an existing cluster, you can install runners for it as described in
+[GitLab Managed Apps](../../clusters/applications.md).
+
### Existing Kubernetes cluster
To add a Kubernetes cluster to your project, group, or instance:
diff --git a/doc/user/project/clusters/index.md b/doc/user/project/clusters/index.md
index 459ba144186..9273fb7b361 100644
--- a/doc/user/project/clusters/index.md
+++ b/doc/user/project/clusters/index.md
@@ -22,6 +22,8 @@ Using the GitLab project Kubernetes integration, you can:
- Use [Web terminals](#web-terminals).
- Use [Deploy Boards](#deploy-boards). **(PREMIUM)**
- Use [Canary Deployments](#canary-deployments). **(PREMIUM)**
+- Use [deployment variables](#deployment-variables).
+- Use [role-based or attribute-based access controls](add_remove_clusters.md#access-controls).
- View [Logs](#viewing-pod-logs).
- Run serverless workloads on [Kubernetes with Knative](serverless/index.md).
@@ -40,14 +42,15 @@ of memory and CPU usage.
GitLab is committed to support at least two production-ready Kubernetes minor
versions at any given time. We regularly review the versions we support, and
-provide a four-month deprecation period before we remove support of a specific
+provide a three-month deprecation period before we remove support of a specific
version. The range of supported versions is based on the evaluation of:
- Our own needs.
- The versions supported by major managed Kubernetes providers.
- The versions [supported by the Kubernetes community](https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions).
-Currently, GitLab supports the following Kubernetes versions:
+GitLab supports the following Kubernetes versions, and you can upgrade your
+Kubernetes version to any supported version at any time:
- 1.17
- 1.16
@@ -241,9 +244,18 @@ A Kubernetes cluster can be the destination for a deployment job. If
### Deployment variables
+Deployment variables require a valid [Deploy Token](../deploy_tokens/index.md) named
+[`gitlab-deploy-token`](../deploy_tokens/index.md#gitlab-deploy-token), and the
+following command in your deployment job script, for Kubernetes to access the registry:
+
+```plaintext
+kubectl create secret docker-registry gitlab-registry --docker-server="$CI_REGISTRY" --docker-username="$CI_DEPLOY_USER" --docker-password="$CI_DEPLOY_PASSWORD" --docker-email="$GITLAB_USER_EMAIL" -o yaml --dry-run | kubectl apply -f -
+```
+
The Kubernetes cluster integration exposes the following
[deployment variables](../../../ci/variables/README.md#deployment-environment-variables) in the
-GitLab CI/CD build environment.
+GitLab CI/CD build environment to deployment jobs, which are jobs that have
+[defined a target environment](../../../ci/environments/index.md#defining-environments).
| Variable | Description |
| -------- | ----------- |
diff --git a/doc/user/project/clusters/securing.md b/doc/user/project/clusters/securing.md
index bed01ff4d58..2d74f67ba35 100644
--- a/doc/user/project/clusters/securing.md
+++ b/doc/user/project/clusters/securing.md
@@ -1,5 +1,5 @@
---
-stage: Defend
+stage: Protect
group: Container Security
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/#designated-technical-writers
---
@@ -42,7 +42,7 @@ Minimum requirements (depending on the GitLab Manage Application you want to ins
NOTE: **Note:**
These diagrams use the term _Kubernetes_ for simplicity. In practice, Sidekiq connects to a Helm
-Tiller daemon running in a pod in the cluster.
+command runner pod in the cluster.
You install GitLab Managed Apps from the GitLab web interface with a one-click setup process. GitLab
uses Sidekiq (a background processing service) to facilitate this.
diff --git a/doc/user/project/clusters/serverless/aws.md b/doc/user/project/clusters/serverless/aws.md
index db91f78fc20..0de0fd38336 100644
--- a/doc/user/project/clusters/serverless/aws.md
+++ b/doc/user/project/clusters/serverless/aws.md
@@ -335,7 +335,7 @@ Some steps in this documentation use SAM CLI. Follow the instructions for
[installing SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
to install and configure SAM CLI.
-If you use [AWS Cloud9](https://aws.amazon.com/cloud9/) as your integrated development
+If you use [AWS Cloud9](https://aws.amazon.com/cloud9/) as your integrated development
environment (IDE), the following are installed for you:
- [AWS Command Line Interface](https://docs.aws.amazon.com/en_pv/cli/latest/userguide/cli-chap-install.html)
@@ -357,7 +357,7 @@ To create a new AWS SAM application:
1. `git push` the application back to the GitLab project.
This creates a SAM app named `gitlabpoc` using the default configuration, a single
-Python 3.8 function invoked by an [Amazon API Gateway](https://aws.amazon.com/api-gateway/)
+Python 3.8 function invoked by an [Amazon API Gateway](https://aws.amazon.com/api-gateway/)
endpoint. To see additional runtimes supported by SAM and options for `sam init`, run:
```shell
@@ -367,13 +367,13 @@ sam init -h
### Setting up your AWS credentials with your GitLab account
In order to interact with your AWS account, the GitLab CI/CD pipelines require both
-`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` to be set in the project's CI/CD
+`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` to be set in the project's CI/CD
variables.
To set these:
-1. Navigate to the project's **Settings > CI / CD**.
-1. Expand the **Variables** section and create entries for `AWS_ACCESS_KEY_ID` and
+1. Navigate to the project's **Settings > CI / CD**.
+1. Expand the **Variables** section and create entries for `AWS_ACCESS_KEY_ID` and
`AWS_SECRET_ACCESS_KEY`.
1. Mask the credentials so they do not show in logs using the **Masked** toggle.
@@ -460,7 +460,7 @@ CLI installed locally for you to test locally.
First, test the function.
-SAM provides a default event in `events/event.json` that includes a message body of:
+SAM provides a default event in `events/event.json` that includes a message body of:
```plaintext
{\"message\": \"hello world\"}
@@ -491,7 +491,7 @@ sam local start-api
```
SAM again launches a Docker container, this time with a mocked Amazon API Gateway
-listening on `localhost:3000`.
+listening on `localhost:3000`.
Call the `hello` API by running:
diff --git a/doc/user/project/code_intelligence.md b/doc/user/project/code_intelligence.md
index d0c5a24826a..5f96f65ea06 100644
--- a/doc/user/project/code_intelligence.md
+++ b/doc/user/project/code_intelligence.md
@@ -35,7 +35,9 @@ code_navigation:
lsif: dump.lsif
```
-The generated LSIF file must be less than 170MiB.
+The generated LSIF file size may be limited by
+the [artifact application limits (`ci_max_artifact_size_lsif`)](../../administration/instance_limits.md#maximum-file-size-per-type-of-artifact),
+default to 100MB (configurable by an instance administrator).
After the job succeeds, code intelligence data can be viewed while browsing the code:
diff --git a/doc/user/project/code_owners.md b/doc/user/project/code_owners.md
index 4ae3d5ec032..37ebef3a26e 100644
--- a/doc/user/project/code_owners.md
+++ b/doc/user/project/code_owners.md
@@ -27,7 +27,7 @@ who is responsible for each file or path.
Code Owners allows for a version controlled, single source of
truth file outlining the exact GitLab users or groups that
own certain files or paths in a repository. Code Owners can be
-utilized in the merge request approval process which can streamline
+used in the merge request approval process which can streamline
the process of finding the right reviewers and approvers for a given
merge request.
@@ -48,10 +48,14 @@ You can choose to add the `CODEOWNERS` file in three places:
- Inside the `.gitlab/` directory
- Inside the `docs/` directory
-The `CODEOWNERS` file is scoped to a branch, which means that as
-new files are introduced, the user adding the new content can
-specify themselves as a code owner, all before the new changes
-get merged to the target branch.
+The `CODEOWNERS` file is valid for the branch where it lives. For example, if you change the code owners
+in a feature branch, they won't be valid in the main branch until the feature branch is merged.
+
+If you introduce new files to your repository and you want to identify the code owners for that file,
+you have to update `CODEOWNERS` accordingly. If you update the code owners when you are adding the files (in the same
+branch), GitLab will count the owners as soon as the branch is merged. If
+you don't, you can do that later, but your new files will not belong to anyone until you update your
+`CODEOWNERS` file in the TARGET branch.
When a file matches multiple entries in the `CODEOWNERS` file,
the users from last pattern matching the file are displayed on the
diff --git a/doc/user/project/deploy_boards.md b/doc/user/project/deploy_boards.md
index 3c6494d5f1a..2bf35b48547 100644
--- a/doc/user/project/deploy_boards.md
+++ b/doc/user/project/deploy_boards.md
@@ -41,9 +41,9 @@ knowledge. In particular, you should be familiar with:
- [Kubernetes namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)
- [Kubernetes canary deployments](https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#canary-deployments)
-NOTE: **Note:**
-Apps that consist of multiple deployments are shown as duplicates on the deploy board.
-Follow [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/8463) for details.
+In GitLab 13.5 and earlier, apps that consist of multiple deployments are shown as
+duplicates on the deploy board. This is [fixed](https://gitlab.com/gitlab-org/gitlab/-/issues/8463)
+in GitLab 13.6.
## Use cases
diff --git a/doc/user/project/deploy_tokens/index.md b/doc/user/project/deploy_tokens/index.md
index 5ca421dda5b..1ac528ca4ae 100644
--- a/doc/user/project/deploy_tokens/index.md
+++ b/doc/user/project/deploy_tokens/index.md
@@ -13,57 +13,61 @@ type: howto
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29280) from **Settings > CI / CD** in GitLab 12.10.1.
> - [Added package registry scopes](https://gitlab.com/gitlab-org/gitlab/-/issues/213566) in GitLab 13.0.
-Deploy tokens allow you to download (`git clone`) or push and pull packages and container registry images of a project without having a user and a password.
+Deploy tokens allow you to download (`git clone`) or push and pull packages and
+container registry images of a project without having a user and a password.
Deploy tokens can be managed by [maintainers only](../../permissions.md).
-If you have a key pair, you might want to use [deploy keys](../../../ssh/README.md#deploy-keys) instead.
+If you have a key pair, you might want to use [deploy keys](../../../ssh/README.md#deploy-keys)
+instead.
## Creating a Deploy Token
-You can create as many deploy tokens as you like from the settings of your project. Alternatively, you can also create [group-scoped deploy tokens](#group-deploy-token).
+You can create as many deploy tokens as you need from the settings of your
+project. Alternatively, you can also create [group-scoped deploy tokens](#group-deploy-token).
-1. Log in to your GitLab account.
+1. Sign in to your GitLab account.
1. Go to the project (or group) you want to create Deploy Tokens for.
1. Go to **Settings > Repository**.
1. Click on "Expand" on **Deploy Tokens** section.
1. Choose a name, expiry date (optional), and username (optional) for the token.
1. Choose the [desired scopes](#limiting-scopes-of-a-deploy-token).
-1. Click on **Create deploy token**.
-1. Save the deploy token somewhere safe. Once you leave or refresh
+1. Select **Create deploy token**.
+1. Save the deploy token somewhere safe. After you leave or refresh
the page, **you won't be able to access it again**.
![Personal access tokens page](img/deploy_tokens.png)
## Deploy token expiration
-Deploy tokens expire on the date you define, at midnight UTC.
+Deploy tokens expire at midnight UTC on the date you define.
## Revoking a deploy token
-At any time, you can revoke any deploy token by just clicking the
-respective **Revoke** button under the 'Active deploy tokens' area.
+At any time, you can revoke any deploy token by just clicking the respective
+**Revoke** button under the 'Active deploy tokens' area.
## Limiting scopes of a deploy token
-Deploy tokens can be created with different scopes that allow various
-actions that a given token can perform. The available scopes are depicted in
-the following table along with GitLab version it was introduced in.
+Deploy tokens can be created with different scopes that allow various actions
+that a given token can perform. The available scopes are depicted in the
+following table along with GitLab version it was introduced in:
-| Scope | Description | Introduced in GitLab Version |
-| ----- | ----------- | ------ |
-| `read_repository` | Allows read-access to the repository through `git clone` | 10.7 |
-| `read_registry` | Allows read-access to [container registry](../../packages/container_registry/index.md) images if a project is private and authorization is required. | 10.7 |
-| `write_registry` | Allows write-access (push) to [container registry](../../packages/container_registry/index.md). | 12.10 |
-| `read_package_registry` | Allows read access to the package registry. | 13.0 |
+| Scope | Description | Introduced in GitLab Version |
+|--------------------------|-------------|------------------------------|
+| `read_repository` | Allows read-access to the repository through `git clone` | 10.7 |
+| `read_registry` | Allows read-access to [container registry](../../packages/container_registry/index.md) images if a project is private and authorization is required. | 10.7 |
+| `write_registry` | Allows write-access (push) to [container registry](../../packages/container_registry/index.md). | 12.10 |
+| `read_package_registry` | Allows read access to the package registry. | 13.0 |
| `write_package_registry` | Allows write access to the package registry. | 13.0 |
## Deploy token custom username
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29639) in GitLab 12.1.
-The default username format is `gitlab+deploy-token-#{n}`. Some tools or platforms may not support this format,
-in such case you can specify custom username to be used when creating the deploy token.
+The default username format is `gitlab+deploy-token-#{n}`. Some tools or
+platforms may not support this format; in this case you can specify a custom
+username to be used when creating the deploy token.
## Usage
@@ -87,13 +91,13 @@ To read the container registry images, you'll need to:
1. Create a Deploy Token with `read_registry` as a scope.
1. Take note of your `username` and `token`.
-1. Log in to GitLab’s Container Registry using the deploy token:
+1. Sign in to GitLab’s Container Registry using the deploy token:
```shell
docker login -u <username> -p <deploy_token> registry.example.com
```
-Just replace `<username>` and `<deploy_token>` with the proper values. Then you can simply
+Replace `<username>` and `<deploy_token>` with the proper values. You can now
pull images from your Container Registry.
### Push Container Registry images
@@ -104,13 +108,13 @@ To push the container registry images, you'll need to:
1. Create a Deploy Token with `write_registry` as a scope.
1. Take note of your `username` and `token`.
-1. Log in to GitLab’s Container Registry using the deploy token:
+1. Sign in to GitLab’s Container Registry using the deploy token:
```shell
docker login -u <username> -p <deploy_token> registry.example.com
```
-Just replace `<username>` and `<deploy_token>` with the proper values. Then you can simply
+Replace `<username>` and `<deploy_token>` with the proper values. You can now
push images to your Container Registry.
### Read or pull packages
@@ -121,7 +125,8 @@ To pull packages in the GitLab package registry, you'll need to:
1. Create a Deploy Token with `read_package_registry` as a scope.
1. Take note of your `username` and `token`.
-1. For the [package type of your choice](./../../packages/index.md), follow the authentication instructions for deploy tokens.
+1. For the [package type of your choice](../../packages/index.md), follow the
+ authentication instructions for deploy tokens.
### Push or upload packages
@@ -131,7 +136,8 @@ To upload packages in the GitLab package registry, you'll need to:
1. Create a Deploy Token with `write_package_registry` as a scope.
1. Take note of your `username` and `token`.
-1. For the [package type of your choice](./../../packages/index.md), follow the authentication instructions for deploy tokens.
+1. For the [package type of your choice](../../packages/index.md), follow the
+ authentication instructions for deploy tokens.
### Group Deploy Token
@@ -158,10 +164,10 @@ apply consistently when cloning the repository of related projects.
There's a special case when it comes to Deploy Tokens. If a user creates one
named `gitlab-deploy-token`, the username and token of the Deploy Token will be
-automatically exposed to the CI/CD jobs as environment variables: `CI_DEPLOY_USER` and
-`CI_DEPLOY_PASSWORD`, respectively.
+automatically exposed to the CI/CD jobs as environment variables: `CI_DEPLOY_USER`
+and `CI_DEPLOY_PASSWORD`, respectively.
-After you create the token, you can login to the Container Registry using
+After you create the token, you can sign in to the Container Registry by using
those variables:
```shell
@@ -169,4 +175,7 @@ docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
```
NOTE: **Note:**
-The special handling for the `gitlab-deploy-token` deploy token is not currently implemented for group deploy tokens. For the deploy token to be available for CI/CD jobs, it must be created at the project level. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/214014) for details.
+The special handling for the `gitlab-deploy-token` deploy token is not currently
+implemented for group deploy tokens. For the deploy token to be available for
+CI/CD jobs, it must be created at the project level. For details, see
+[this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/214014).
diff --git a/doc/user/project/description_templates.md b/doc/user/project/description_templates.md
index e0c4097d1c5..4c14251cfa5 100644
--- a/doc/user/project/description_templates.md
+++ b/doc/user/project/description_templates.md
@@ -62,7 +62,7 @@ To create the `.gitlab/issue_templates` directory:
1. Click the `+` button next to `master` again and select **New directory**.This time, n
1. Name your directory `issue_templates` and commit to your default branch.
-To check if this has worked correctly, [create a new issue](./issues/managing_issues.md#create-a-new-issue)
+To check if this has worked correctly, [create a new issue](issues/managing_issues.md#create-a-new-issue)
and see if you can choose a description template.
## Creating merge request templates
diff --git a/doc/user/project/img/epics_swimlanes_drag_and_drop.png b/doc/user/project/img/epics_swimlanes_drag_and_drop.png
new file mode 100644
index 00000000000..b2cc4105898
--- /dev/null
+++ b/doc/user/project/img/epics_swimlanes_drag_and_drop.png
Binary files differ
diff --git a/doc/user/project/img/epics_swimlanes_v13.6.png b/doc/user/project/img/epics_swimlanes_v13.6.png
new file mode 100644
index 00000000000..6f787ba8b10
--- /dev/null
+++ b/doc/user/project/img/epics_swimlanes_v13.6.png
Binary files differ
diff --git a/doc/user/project/img/group_issue_board.png b/doc/user/project/img/group_issue_board.png
deleted file mode 100644
index be360d18540..00000000000
--- a/doc/user/project/img/group_issue_board.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_add_list.png b/doc/user/project/img/issue_board_add_list.png
deleted file mode 100644
index 91098daa1d1..00000000000
--- a/doc/user/project/img/issue_board_add_list.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_add_list_v13_6.png b/doc/user/project/img/issue_board_add_list_v13_6.png
new file mode 100644
index 00000000000..4239ab6e7e4
--- /dev/null
+++ b/doc/user/project/img/issue_board_add_list_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_board_assignee_lists.png b/doc/user/project/img/issue_board_assignee_lists.png
deleted file mode 100644
index f2660cd8f80..00000000000
--- a/doc/user/project/img/issue_board_assignee_lists.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_assignee_lists_v13_6.png b/doc/user/project/img/issue_board_assignee_lists_v13_6.png
new file mode 100644
index 00000000000..d0fbb0a2ef0
--- /dev/null
+++ b/doc/user/project/img/issue_board_assignee_lists_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_board_creation.png b/doc/user/project/img/issue_board_creation.png
deleted file mode 100644
index 099fe6eee21..00000000000
--- a/doc/user/project/img/issue_board_creation.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_creation_v13_6.png b/doc/user/project/img/issue_board_creation_v13_6.png
new file mode 100644
index 00000000000..e36b53418fd
--- /dev/null
+++ b/doc/user/project/img/issue_board_creation_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_board_edit_button.png b/doc/user/project/img/issue_board_edit_button.png
deleted file mode 100644
index a0dc6f41592..00000000000
--- a/doc/user/project/img/issue_board_edit_button.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_focus_mode.gif b/doc/user/project/img/issue_board_focus_mode.gif
deleted file mode 100644
index 9565bdb0865..00000000000
--- a/doc/user/project/img/issue_board_focus_mode.gif
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_milestone_lists.png b/doc/user/project/img/issue_board_milestone_lists.png
deleted file mode 100644
index 91926f58f87..00000000000
--- a/doc/user/project/img/issue_board_milestone_lists.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_milestone_lists_v13_6.png b/doc/user/project/img/issue_board_milestone_lists_v13_6.png
new file mode 100644
index 00000000000..a7718ffd66c
--- /dev/null
+++ b/doc/user/project/img/issue_board_milestone_lists_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_board_move_issue_card_list.png b/doc/user/project/img/issue_board_move_issue_card_list.png
deleted file mode 100644
index 13750a63766..00000000000
--- a/doc/user/project/img/issue_board_move_issue_card_list.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_move_issue_card_list_v13_6.png b/doc/user/project/img/issue_board_move_issue_card_list_v13_6.png
new file mode 100644
index 00000000000..2b661a63d7d
--- /dev/null
+++ b/doc/user/project/img/issue_board_move_issue_card_list_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_board_summed_weights.png b/doc/user/project/img/issue_board_summed_weights.png
deleted file mode 100644
index 6035d7ca330..00000000000
--- a/doc/user/project/img/issue_board_summed_weights.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_summed_weights_v13_6.png b/doc/user/project/img/issue_board_summed_weights_v13_6.png
new file mode 100644
index 00000000000..a6482e73c0a
--- /dev/null
+++ b/doc/user/project/img/issue_board_summed_weights_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_board_system_notes.png b/doc/user/project/img/issue_board_system_notes.png
deleted file mode 100644
index c6ecb498198..00000000000
--- a/doc/user/project/img/issue_board_system_notes.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_board_system_notes_v13_6.png b/doc/user/project/img/issue_board_system_notes_v13_6.png
new file mode 100644
index 00000000000..4958f63541e
--- /dev/null
+++ b/doc/user/project/img/issue_board_system_notes_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_board_view_scope.png b/doc/user/project/img/issue_board_view_scope.png
deleted file mode 100644
index d173679a0e7..00000000000
--- a/doc/user/project/img/issue_board_view_scope.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_boards_add_issues_modal.png b/doc/user/project/img/issue_boards_add_issues_modal.png
deleted file mode 100644
index ecddf6709d0..00000000000
--- a/doc/user/project/img/issue_boards_add_issues_modal.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_boards_add_issues_modal_v13_6.png b/doc/user/project/img/issue_boards_add_issues_modal_v13_6.png
new file mode 100644
index 00000000000..a138efc9c1c
--- /dev/null
+++ b/doc/user/project/img/issue_boards_add_issues_modal_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_boards_blocked_icon_v12_8.png b/doc/user/project/img/issue_boards_blocked_icon_v12_8.png
deleted file mode 100644
index 1055fb48322..00000000000
--- a/doc/user/project/img/issue_boards_blocked_icon_v12_8.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_boards_blocked_icon_v13_6.png b/doc/user/project/img/issue_boards_blocked_icon_v13_6.png
new file mode 100644
index 00000000000..2dac6bb2ee3
--- /dev/null
+++ b/doc/user/project/img/issue_boards_blocked_icon_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_boards_core.png b/doc/user/project/img/issue_boards_core.png
deleted file mode 100644
index 41ddbb24b14..00000000000
--- a/doc/user/project/img/issue_boards_core.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_boards_core_v13_6.png b/doc/user/project/img/issue_boards_core_v13_6.png
new file mode 100644
index 00000000000..8695b523c12
--- /dev/null
+++ b/doc/user/project/img/issue_boards_core_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_boards_multiple.png b/doc/user/project/img/issue_boards_multiple.png
deleted file mode 100644
index e6183360610..00000000000
--- a/doc/user/project/img/issue_boards_multiple.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_boards_multiple_v13_6.png b/doc/user/project/img/issue_boards_multiple_v13_6.png
new file mode 100644
index 00000000000..18ff5e2bc66
--- /dev/null
+++ b/doc/user/project/img/issue_boards_multiple_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_boards_premium.png b/doc/user/project/img/issue_boards_premium.png
deleted file mode 100644
index ef9f5bbea32..00000000000
--- a/doc/user/project/img/issue_boards_premium.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_boards_premium_v13_6.png b/doc/user/project/img/issue_boards_premium_v13_6.png
new file mode 100644
index 00000000000..8d1c1299d5c
--- /dev/null
+++ b/doc/user/project/img/issue_boards_premium_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/issue_boards_remove_issue.png b/doc/user/project/img/issue_boards_remove_issue.png
deleted file mode 100644
index 7050e6c3ede..00000000000
--- a/doc/user/project/img/issue_boards_remove_issue.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/issue_boards_remove_issue_v13_6.png b/doc/user/project/img/issue_boards_remove_issue_v13_6.png
new file mode 100644
index 00000000000..c980759ad0c
--- /dev/null
+++ b/doc/user/project/img/issue_boards_remove_issue_v13_6.png
Binary files differ
diff --git a/doc/user/project/img/rollout_status_canary_ingress.png b/doc/user/project/img/rollout_status_canary_ingress.png
new file mode 100644
index 00000000000..fb59ba31615
--- /dev/null
+++ b/doc/user/project/img/rollout_status_canary_ingress.png
Binary files differ
diff --git a/doc/user/project/import/img/gemnasium/connect_github.png b/doc/user/project/import/img/gemnasium/connect_github.png
index 5933f4d5d0a..fae62e8d840 100644
--- a/doc/user/project/import/img/gemnasium/connect_github.png
+++ b/doc/user/project/import/img/gemnasium/connect_github.png
Binary files differ
diff --git a/doc/user/project/import/img/gemnasium/create_project.png b/doc/user/project/import/img/gemnasium/create_project.png
index 6e00bf63405..8edbf711629 100644
--- a/doc/user/project/import/img/gemnasium/create_project.png
+++ b/doc/user/project/import/img/gemnasium/create_project.png
Binary files differ
diff --git a/doc/user/project/import/img/gemnasium/project_connected.png b/doc/user/project/import/img/gemnasium/project_connected.png
index 8e7216c015b..332d2230ef8 100644
--- a/doc/user/project/import/img/gemnasium/project_connected.png
+++ b/doc/user/project/import/img/gemnasium/project_connected.png
Binary files differ
diff --git a/doc/user/project/import/img/jira/import_issues_from_jira_form_v12_10.png b/doc/user/project/import/img/jira/import_issues_from_jira_form_v12_10.png
deleted file mode 100644
index 317a426394c..00000000000
--- a/doc/user/project/import/img/jira/import_issues_from_jira_form_v12_10.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/import/index.md b/doc/user/project/import/index.md
index a1c28cfa2b7..a113758495a 100644
--- a/doc/user/project/import/index.md
+++ b/doc/user/project/import/index.md
@@ -30,6 +30,11 @@ repository is too large the import can timeout.
There is also the option of [connecting your external repository to get CI/CD benefits](../../../ci/ci_cd_for_external_repos/index.md). **(PREMIUM)**
+## LFS authentication
+
+When importing a project that contains LFS objects, if the project has an [`.lfsconfig`](https://github.com/git-lfs/git-lfs/blob/master/docs/man/git-lfs-config.5.ronn)
+file with a URL host (`lfs.url`) different from the repository URL host, LFS files are not downloaded.
+
## Migrating from self-managed GitLab to GitLab.com
If you only need to migrate Git repositories, you can [import each project by URL](repo_by_url.md). Issues and merge requests can't be imported.
diff --git a/doc/user/project/import/tfvc.md b/doc/user/project/import/tfvc.md
index faa2a9b4927..cbc25552873 100644
--- a/doc/user/project/import/tfvc.md
+++ b/doc/user/project/import/tfvc.md
@@ -1,4 +1,7 @@
---
+stage: none
+group: unassigned
+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/#designated-technical-writers
type: concepts
---
diff --git a/doc/user/project/index.md b/doc/user/project/index.md
index a00f93bac9c..333c72a65b1 100644
--- a/doc/user/project/index.md
+++ b/doc/user/project/index.md
@@ -192,17 +192,7 @@ To delete a project, first navigate to the home page for that project.
1. Click **Delete project**
1. Confirm this action by typing in the expected text.
-### Delayed deletion **(PREMIUM)**
-
-By default, projects in a personal namespace are deleted after a seven day delay.
-
-Admins can restore the project during this period of time.
-This delay [may be changed by an admin](../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
-
-Admins can view all projects pending deletion. If you're an administrator, go to the top navigation bar, click **Projects > Your projects**, and then select the **Deleted projects** tab.
-From this tab an admin can restore any project.
-
-For information on delay deletion of projects within a group, please see [Enabling delayed Project removal](../group/index.md#enabling-delayed-project-removal)
+Projects in personal namespaces are deleted immediately on request. For information on delayed deletion of projects within a group, please see [Enabling delayed project removal](../group/index.md#enabling-delayed-project-removal).
## CI/CD for external repositories **(PREMIUM)**
@@ -250,6 +240,14 @@ For users without permissions to view the project's code:
- The wiki homepage is displayed, if any.
- The list of issues within the project is displayed.
+## GitLab Workflow - VS Code extension
+
+To avoid switching from the GitLab UI and VS Code while working in GitLab repositories, you can integrate
+the [VS Code](https://code.visualstudio.com/) editor with GitLab through the
+[GitLab Workflow extension](https://marketplace.visualstudio.com/items?itemName=GitLab.gitlab-workflow).
+
+To review or contribute to the extension's code, visit [its codebase in GitLab](https://gitlab.com/gitlab-org/gitlab-vscode-extension/).
+
## Redirects when changing repository paths
When a repository path changes, it is essential to smoothly transition from the
diff --git a/doc/user/project/insights/index.md b/doc/user/project/insights/index.md
index 4d646ee2f79..eaef0b8d69f 100644
--- a/doc/user/project/insights/index.md
+++ b/doc/user/project/insights/index.md
@@ -1,3 +1,9 @@
+---
+stage: none
+group: unassigned
+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/#designated-technical-writers
+---
+
# Insights **(ULTIMATE)**
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/725) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0.
diff --git a/doc/user/project/integrations/ewm.md b/doc/user/project/integrations/ewm.md
index be89323a246..822483a1d5b 100644
--- a/doc/user/project/integrations/ewm.md
+++ b/doc/user/project/integrations/ewm.md
@@ -1,3 +1,9 @@
+---
+stage: none
+group: unassigned
+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/#designated-technical-writers
+---
+
# IBM Engineering Workflow Management (EWM) Integration **(CORE)**
This service allows you to navigate from GitLab to EWM work items mentioned in merge request descriptions and commit messages. Each work item reference is automatically converted to a link back to the work item.
diff --git a/doc/user/project/integrations/img/jira_create_new_group_name.png b/doc/user/project/integrations/img/jira_create_new_group_name.png
deleted file mode 100644
index bfc0dc6b2e9..00000000000
--- a/doc/user/project/integrations/img/jira_create_new_group_name.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/integrations/img/toggle_metrics_user_starred_dashboard_v13_0.png b/doc/user/project/integrations/img/toggle_metrics_user_starred_dashboard_v13_0.png
deleted file mode 100644
index 59dc9ccfd30..00000000000
--- a/doc/user/project/integrations/img/toggle_metrics_user_starred_dashboard_v13_0.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/integrations/img/webex_teams_configuration.png b/doc/user/project/integrations/img/webex_teams_configuration.png
deleted file mode 100644
index 493b3ea50a0..00000000000
--- a/doc/user/project/integrations/img/webex_teams_configuration.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/integrations/project_services.md b/doc/user/project/integrations/project_services.md
index 2c681db1692..90f91fbaa0d 100644
--- a/doc/user/project/integrations/project_services.md
+++ b/doc/user/project/integrations/project_services.md
@@ -1 +1,5 @@
+---
+redirect_to: 'overview.md'
+---
+
This document was moved to [Integrations](overview.md).
diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md
index 28a9afa5bb0..97be16f8dd3 100644
--- a/doc/user/project/integrations/prometheus.md
+++ b/doc/user/project/integrations/prometheus.md
@@ -95,6 +95,55 @@ spec:
targetPort: ${CONTAINER_PORT}
```
+#### Access the UI of a Prometheus managed application in Kubernetes
+
+You can connect directly to Prometheus, and view the Prometheus user interface, when
+using a Prometheus managed application in Kubernetes:
+
+1. Find the name of the Prometheus pod in the user interface of your Kubernetes
+ provider, such as GKE, or by running the following `kubectl` command in your
+ terminal:
+
+ ```shell
+ kubectl get pods -n gitlab-managed-apps | grep 'prometheus-prometheus-server'
+ ```
+
+ The command should return a result like the following example, where
+ `prometheus-prometheus-server-55b4bd64c9-dpc6b` is the name of the Prometheus pod:
+
+ ```plaintext
+ gitlab-managed-apps prometheus-prometheus-server-55b4bd64c9-dpc6b 2/2 Running 0 71d
+ ```
+
+1. Run a `kubectl port-forward` command. In the following example, `9090` is the
+ Prometheus server's listening port:
+
+ ```shell
+ kubectl port-forward prometheus-prometheus-server-55b4bd64c9-dpc6b 9090:9090 -n gitlab-managed-apps
+ ```
+
+ The `port-forward` command forwards all requests sent to your system's `9090` port
+ to the `9090` port of the Prometheus pod. If the `9090` port on your system is used
+ by another application, you can change the port number before the colon to your
+ desired port. For example, to forward port `8080` of your local system, change the
+ command to:
+
+ ```shell
+ kubectl port-forward prometheus-prometheus-server-55b4bd64c9-dpc6b 8080:9090 -n gitlab-managed-apps
+ ```
+
+1. Open `localhost:9090` in your browser to display the Prometheus user interface.
+
+#### Script access to Prometheus
+
+You can script the access to Prometheus, extracting the name of the pod automatically like this:
+
+```shell
+POD_INFORMATION=$(kubectl get pods -n gitlab-managed-apps | grep 'prometheus-prometheus-server')
+POD_NAME=$(echo $POD_INFORMATION | awk '{print $1;}')
+kubectl port-forward $POD_NAME 9090:9090 -n gitlab-managed-apps
+```
+
### Manual configuration of Prometheus
#### Requirements
diff --git a/doc/user/project/integrations/webex_teams.md b/doc/user/project/integrations/webex_teams.md
index 39daa14407f..7654909b735 100644
--- a/doc/user/project/integrations/webex_teams.md
+++ b/doc/user/project/integrations/webex_teams.md
@@ -10,9 +10,9 @@ You can configure GitLab to send notifications to a Webex Teams space.
## Create a webhook for the space
-1. Go to the [Incoming Webhooks app page](https://apphub.webex.com/teams/applications/incoming-webhooks-cisco-systems).
+1. Go to the [Incoming Webhooks app page](https://apphub.webex.com/teams/applications/incoming-webhooks-cisco-systems-38054).
1. Click **Connect** and log in to Webex Teams, if required.
-1. Enter a name for the webhook and select the space that will receive the notifications.
+1. Enter a name for the webhook and select the space to receive the notifications.
1. Click **ADD**.
1. Copy the **Webhook URL**.
@@ -27,4 +27,4 @@ Once you have a webhook URL for your Webex Teams space, you can configure GitLab
1. Paste the **Webhook** URL for the Webex Teams space.
1. Configure the remaining options and then click **Test settings and save changes**.
-The Webex Teams space will begin to receive all applicable GitLab events.
+The Webex Teams space now begins to receive all applicable GitLab events.
diff --git a/doc/user/project/integrations/webhooks.md b/doc/user/project/integrations/webhooks.md
index 7adea5ebcd6..6a436c5093e 100644
--- a/doc/user/project/integrations/webhooks.md
+++ b/doc/user/project/integrations/webhooks.md
@@ -1358,6 +1358,140 @@ X-Gitlab-Event: Deployment Hook
Note that `deployable_id` is the ID of the CI job.
+### Feature Flag events
+
+Triggered when a feature flag is turned on or off.
+
+**Request Header**:
+
+```plaintext
+X-Gitlab-Event: Feature Flag Hook
+```
+
+**Request Body**:
+
+```json
+{
+ "object_kind": "feature_flag",
+ "project": {
+ "id": 1,
+ "name":"Gitlab Test",
+ "description":"Aut reprehenderit ut est.",
+ "web_url":"http://example.com/gitlabhq/gitlab-test",
+ "avatar_url":null,
+ "git_ssh_url":"git@example.com:gitlabhq/gitlab-test.git",
+ "git_http_url":"http://example.com/gitlabhq/gitlab-test.git",
+ "namespace":"GitlabHQ",
+ "visibility_level":20,
+ "path_with_namespace":"gitlabhq/gitlab-test",
+ "default_branch":"master",
+ "ci_config_path": null,
+ "homepage":"http://example.com/gitlabhq/gitlab-test",
+ "url":"http://example.com/gitlabhq/gitlab-test.git",
+ "ssh_url":"git@example.com:gitlabhq/gitlab-test.git",
+ "http_url":"http://example.com/gitlabhq/gitlab-test.git"
+ },
+ "user": {
+ "name": "Administrator",
+ "username": "root",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
+ "email": "admin@example.com"
+ },
+ "user_url": "http://example.com/root",
+ "object_attributes": {
+ "id": 6,
+ "name": "test-feature-flag",
+ "description": "test-feature-flag-description",
+ "active": true
+ }
+}
+```
+
+### Release events
+
+Triggered when a release is created or updated.
+
+**Request Header**:
+
+```plaintext
+X-Gitlab-Event: Release Hook
+```
+
+**Request Body**:
+
+```json
+{
+ "id": 1,
+ "created_at": "2020-11-02 12:55:12 UTC",
+ "description": "v1.0 has been released",
+ "name": "v1.1",
+ "released_at": "2020-11-02 12:55:12 UTC",
+ "tag": "v1.1",
+ "object_kind": "release",
+ "project": {
+ "id": 2,
+ "name": "release-webhook-example",
+ "description": "",
+ "web_url": "https://example.com/gitlab-org/release-webhook-example",
+ "avatar_url": null,
+ "git_ssh_url": "ssh://git@example.com/gitlab-org/release-webhook-example.git",
+ "git_http_url": "https://example.com/gitlab-org/release-webhook-example.git",
+ "namespace": "Gitlab",
+ "visibility_level": 0,
+ "path_with_namespace": "gitlab-org/release-webhook-example",
+ "default_branch": "master",
+ "ci_config_path": null,
+ "homepage": "https://example.com/gitlab-org/release-webhook-example",
+ "url": "ssh://git@example.com/gitlab-org/release-webhook-example.git",
+ "ssh_url": "ssh://git@example.com/gitlab-org/release-webhook-example.git",
+ "http_url": "https://example.com/gitlab-org/release-webhook-example.git"
+ },
+ "url": "https://example.com/gitlab-org/release-webhook-example/-/releases/v1.1",
+ "action": "create",
+ "assets": {
+ "count": 5,
+ "links": [
+ {
+ "id": 1,
+ "external": true,
+ "link_type": "other",
+ "name": "Changelog",
+ "url": "https://example.net/changelog"
+ }
+ ],
+ "sources": [
+ {
+ "format": "zip",
+ "url": "https://example.com/gitlab-org/release-webhook-example/-/archive/v1.1/release-webhook-example-v1.1.zip"
+ },
+ {
+ "format": "tar.gz",
+ "url": "https://example.com/gitlab-org/release-webhook-example/-/archive/v1.1/release-webhook-example-v1.1.tar.gz"
+ },
+ {
+ "format": "tar.bz2",
+ "url": "https://example.com/gitlab-org/release-webhook-example/-/archive/v1.1/release-webhook-example-v1.1.tar.bz2"
+ },
+ {
+ "format": "tar",
+ "url": "https://example.com/gitlab-org/release-webhook-example/-/archive/v1.1/release-webhook-example-v1.1.tar"
+ }
+ ]
+ },
+ "commit": {
+ "id": "ee0a3fb31ac16e11b9dbb596ad16d4af654d08f8",
+ "message": "Release v1.1",
+ "title": "Release v1.1",
+ "timestamp": "2020-10-31T14:58:32+11:00",
+ "url": "https://example.com/gitlab-org/release-webhook-example/-/commit/ee0a3fb31ac16e11b9dbb596ad16d4af654d08f8",
+ "author": {
+ "name": "Example User",
+ "email": "user@example.com"
+ }
+ }
+}
+```
+
## Image URL rewriting
From GitLab 11.2, simple image references are rewritten to use an absolute URL
diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md
index bce40e9a838..dfe608df18d 100644
--- a/doc/user/project/issue_board.md
+++ b/doc/user/project/issue_board.md
@@ -31,7 +31,7 @@ To let your team members organize their own workflows, use
[multiple issue boards](#use-cases-for-multiple-issue-boards). This allows creating multiple issue
boards in the same project.
-![GitLab issue board - Core](img/issue_boards_core.png)
+![GitLab issue board - Core](img/issue_boards_core_v13_6.png)
Different issue board features are available in different [GitLab tiers](https://about.gitlab.com/pricing/),
as shown in the following table:
@@ -45,7 +45,7 @@ as shown in the following table:
To learn more, visit [GitLab Enterprise features for issue boards](#gitlab-enterprise-features-for-issue-boards) below.
-![GitLab issue board - Premium](img/issue_boards_premium.png)
+![GitLab issue board - Premium](img/issue_boards_premium_v13_6.png)
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
Watch a [video presentation](https://youtu.be/vjccjHI7aGI) of
@@ -69,8 +69,8 @@ For example, let's consider this simplified development workflow:
1. When frontend is complete, the new feature is deployed to a **staging** environment to be tested.
1. When successful, it's deployed to **production**.
-If you have the labels "**backend**", "**frontend**", "**staging**", and
-"**production**", and an issue board with a list for each, you can:
+If you have the labels **Backend**, **Frontend**, **Staging**, and
+**Production**, and an issue board with a list for each, you can:
- Visualize the entire flow of implementations since the beginning of the development life cycle
until deployed to production.
@@ -78,7 +78,7 @@ If you have the labels "**backend**", "**frontend**", "**staging**", and
- Move issues between lists to organize them according to the labels you've set.
- Add multiple issues to lists in the board by selecting one or more existing issues.
-![issue card moving](img/issue_board_move_issue_card_list.png)
+![issue card moving](img/issue_board_move_issue_card_list_v13_6.png)
### Use cases for multiple issue boards
@@ -199,7 +199,7 @@ Using the search box at the top of the menu, you can filter the listed boards.
When you have ten or more boards available, a **Recent** section is also shown in the menu, with
shortcuts to your last four visited boards.
-![Multiple issue boards](img/issue_boards_multiple.png)
+![Multiple issue boards](img/issue_boards_multiple_v13_6.png)
When you're revisiting an issue board in a project or group with multiple boards,
GitLab automatically loads the last board you visited.
@@ -229,20 +229,16 @@ An issue board can be associated with a GitLab [Milestone](milestones/index.md#m
which automatically filter the board issues accordingly.
This allows you to create unique boards according to your team's need.
-![Create scoped board](img/issue_board_creation.png)
+![Create scoped board](img/issue_board_creation_v13_6.png)
-You can define the scope of your board when creating it or by clicking the "Edit board" button.
-Once a milestone, assignee or weight is assigned to an issue board, you can no longer
+You can define the scope of your board when creating it or by clicking the **Edit board** button.
+After a milestone, assignee or weight is assigned to an issue board, you can no longer
filter through these in the search bar. In order to do that, you need to remove the desired scope
(for example, milestone, assignee, or weight) from the issue board.
-![Edit board configuration](img/issue_board_edit_button.png)
-
If you don't have editing permission in a board, you're still able to see the configuration by
clicking **View scope**.
-![Viewing board configuration](img/issue_board_view_scope.png)
-
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
Watch a [video presentation](https://youtu.be/m5UTNCSqaDk) of
the Configurable Issue Board feature.
@@ -253,12 +249,8 @@ the Configurable Issue Board feature.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28597) to the Free tier of GitLab.com in 12.10.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212331) to GitLab Core in 13.0.
-Click the button at the top right to toggle focus mode on and off. In focus mode, the navigation UI
-is hidden, allowing you to focus on issues in the board.
-
-![Board focus mode](img/issue_board_focus_mode.gif)
-
----
+To enable or disable focus mode, select the **Toggle focus mode** button (**{maximize}**) at the top
+right. In focus mode, the navigation UI is hidden, allowing you to focus on issues in the board.
### Sum of issue weights **(STARTER)**
@@ -266,7 +258,7 @@ The top of each list indicates the sum of issue weights for the issues that
belong to that list. This is useful when using boards for capacity allocation,
especially in combination with [assignee lists](#assignee-lists).
-![issue board summed weights](img/issue_board_summed_weights.png)
+![issue board summed weights](img/issue_board_summed_weights_v13_6.png)
### Group issue boards **(PREMIUM)**
@@ -279,8 +271,6 @@ group and its descendant subgroups. Similarly, you can only filter by group labe
boards. When updating milestones and labels for an issue through the sidebar update mechanism, again only
group-level objects are available.
-![Group issue board](img/group_issue_board.png)
-
### Assignee lists **(PREMIUM)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5784) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.0.
@@ -290,15 +280,15 @@ an assignee list that shows all issues assigned to a user.
You can have a board with both label lists and assignee lists. To add an
assignee list:
-1. Click **Add list**.
+1. Select the **Add list** dropdown button.
1. Select the **Assignee list** tab.
-1. Search and click the user you want to add as an assignee.
+1. Search and select the user you want to add as an assignee.
Now that the assignee list is added, you can assign or unassign issues to that user
by [dragging issues](#drag-issues-between-lists) to and from an assignee list.
To remove an assignee list, just as with a label list, click the trash icon.
-![Assignee lists](img/issue_board_assignee_lists.png)
+![Assignee lists](img/issue_board_assignee_lists_v13_6.png)
### Milestone lists **(PREMIUM)**
@@ -307,7 +297,7 @@ To remove an assignee list, just as with a label list, click the trash icon.
You're also able to create lists of a milestone. These are lists that filter issues by the assigned
milestone, giving you more freedom and visibility on the issue board. To add a milestone list:
-1. Click **Add list**.
+1. Select the **Add list** dropdown button.
1. Select the **Milestone** tab.
1. Search and click the milestone.
@@ -315,7 +305,31 @@ Like the assignee lists, you're able to [drag issues](#drag-issues-between-lists
to and from a milestone list to manipulate the milestone of the dragged issues.
As in other list types, click the trash icon to remove a list.
-![Milestone lists](img/issue_board_milestone_lists.png)
+![Milestone lists](img/issue_board_milestone_lists_v13_6.png)
+
+### Group issues in swimlanes **(PREMIUM)**
+
+> Grouping by epic [introduced](https://gitlab.com/groups/gitlab-org/-/epics/3352) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.6.
+
+With swimlanes you can visualize issues grouped by epic.
+Your issue board keeps all the other features, but with a different visual organization of issues.
+This feature is available both at the project and group level.
+
+To group issues by epic in an issue board:
+
+1. Select the **Group by** dropdown button.
+1. Select **Epic**.
+
+![Epics Swimlanes](img/epics_swimlanes_v13.6.png)
+
+You can also [drag issues](#drag-issues-between-lists) to change their position and epic assignment:
+
+- To reorder an issue, drag it to the new position within a list.
+- To assign an issue to another epic, drag it to the epic's horizontal lane.
+- To unassign an issue from an epic, drag it to the **Issues with no epic assigned** lane.
+- To move an issue to another epic _and_ another list, at the same time, drag the issue diagonally.
+
+![Drag issues between swimlanes](img/epics_swimlanes_drag_and_drop.png)
## Work In Progress limits **(STARTER)**
@@ -347,7 +361,7 @@ To set a WIP limit for a list:
If an issue is blocked by another issue, an icon appears next to its title to indicate its blocked
status.
-![Blocked issues](img/issue_boards_blocked_icon_v12_8.png)
+![Blocked issues](img/issue_boards_blocked_icon_v13_6.png)
## Actions you can take on an issue board
@@ -381,16 +395,16 @@ have that label.
### Create a new list
-Create a new list by clicking the **Add list** button in the upper right corner of the issue board.
+Create a new list by clicking the **Add list** dropdown button in the upper right corner of the issue board.
-![creating a new list in an issue board](img/issue_board_add_list.png)
+![creating a new list in an issue board](img/issue_board_add_list_v13_6.png)
-Then, choose the label or user to create the list from. The new list is inserted
-at the end of the lists, before **Done**. Moving and reordering lists is as
-easy as dragging them around.
+Then, choose the label or user to base the new list on. The new list is inserted
+at the end of the lists, before **Done**. To move and reorder lists, drag them around.
To create a list for a label that doesn't yet exist, create the label by
-choosing **Create new label**. This creates the label immediately and adds it to the dropdown.
+choosing **Create project label** or **Create group label**.
+This creates the label immediately and adds it to the dropdown.
You can now choose it to create a list.
### Delete a list
@@ -404,14 +418,14 @@ list view that's removed. You can always restore it later if you need.
### Add issues to a list
You can add issues to a list by clicking the **Add issues** button
-present in the upper right corner of the issue board. This opens up a modal
+in the top right corner of the issue board. This opens up a modal
window where you can see all the issues that do not belong to any list.
Select one or more issues by clicking the cards and then click **Add issues**
to add them to the selected list. You can limit the issues you want to add to
the list by filtering by author, assignee, milestone, and label.
-![Bulk adding issues to lists](img/issue_boards_add_issues_modal.png)
+![Bulk adding issues to lists](img/issue_boards_add_issues_modal_v13_6.png)
### Remove an issue from a list
@@ -419,13 +433,13 @@ Removing an issue from a list can be done by clicking the issue card and then
clicking the **Remove from board** button in the sidebar. The
respective label is removed.
-![Remove issue from list](img/issue_boards_remove_issue.png)
+![Remove issue from list](img/issue_boards_remove_issue_v13_6.png)
### Filter issues
You should be able to use the filters on top of your issue board to show only
-the results you want. It's similar to the filtering used in the issue tracker
-since the metadata from the issues and labels are re-used in the issue board.
+the results you want. It's similar to the filtering used in the issue tracker,
+as the metadata from the issues and labels is re-used in the issue board.
You can filter by author, assignee, milestone, and label.
@@ -435,13 +449,13 @@ By reordering your lists, you can create workflows. As lists in issue boards are
based on labels, it works out of the box with your existing issues.
So if you've already labeled things with **Backend** and **Frontend**, the issue appears in
-the lists as you create them. In addition, this means you can easily move
-something between lists by changing a label.
+the lists as you create them. In addition, this means you can move something between lists by
+changing a label.
A typical workflow of using an issue board would be:
1. You have [created](labels.md#label-management) and [prioritized](labels.md#label-priority)
- labels so that you can easily categorize your issues.
+ labels to categorize your issues.
1. You have a bunch of issues (ideally labeled).
1. You visit the issue board and start [creating lists](#create-a-new-list) to
create a workflow.
@@ -457,15 +471,15 @@ For example, you can create a list based on the label of **Frontend** and one fo
**Frontend** list. That way, everyone knows that this issue is now being
worked on by the designers.
-Then, once they're done, all they have to do is
+Then, when they're done, all they have to do is
drag it to the next list, **Backend**. Then, a backend developer can
-eventually pick it up. Once they’re done, they move it to **Done**, to close the
+eventually pick it up. When they’re done, they move it to **Done**, to close the
issue.
This process can be seen clearly when visiting an issue. With every move
to another list, the label changes and a system note is recorded.
-![issue board system notes](img/issue_board_system_notes.png)
+![issue board system notes](img/issue_board_system_notes_v13_6.png)
### Drag issues between lists
@@ -473,16 +487,17 @@ When dragging issues between lists, different behavior occurs depending on the s
| | To Open | To Closed | To label `B` list | To assignee `Bob` list |
|----------------------------|--------------------|--------------|------------------------------|---------------------------------------|
-| From Open | - | Issue closed | `B` added | `Bob` assigned |
-| From Closed | Issue reopened | - | Issue reopened<br/>`B` added | Issue reopened<br/>`Bob` assigned |
-| From label `A` list | `A` removed | Issue closed | `A` removed<br/>`B` added | `Bob` assigned |
-| From assignee `Alice` list | `Alice` unassigned | Issue closed | `B` added | `Alice` unassigned<br/>`Bob` assigned |
+| **From Open** | - | Issue closed | `B` added | `Bob` assigned |
+| **From Closed** | Issue reopened | - | Issue reopened<br/>`B` added | Issue reopened<br/>`Bob` assigned |
+| **From label `A` list** | `A` removed | Issue closed | `A` removed<br/>`B` added | `Bob` assigned |
+| **From assignee `Alice` list** | `Alice` unassigned | Issue closed | `B` added | `Alice` unassigned<br/>`Bob` assigned |
### Multi-select issue cards
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/18954) in GitLab 12.4.
-You can select multiple issue cards, then drag the group to another position within the list, or to another list. This makes it faster to reorder many issues at once.
+You can select multiple issue cards, then drag the group to another position within the list, or to
+another list. This makes it faster to reorder many issues at once.
To select and move multiple cards:
diff --git a/doc/user/project/issues/csv_export.md b/doc/user/project/issues/csv_export.md
index af01534a67f..af9a6401474 100644
--- a/doc/user/project/issues/csv_export.md
+++ b/doc/user/project/issues/csv_export.md
@@ -1,3 +1,9 @@
+---
+stage: none
+group: unassigned
+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/#designated-technical-writers
+---
+
# Export Issues to CSV
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1126) in [GitLab Starter 9.0](https://about.gitlab.com/releases/2017/03/22/gitlab-9-0-released/#export-issues-ees-eep).
diff --git a/doc/user/project/issues/csv_import.md b/doc/user/project/issues/csv_import.md
index 807f4fcffdf..2cac88b1b29 100644
--- a/doc/user/project/issues/csv_import.md
+++ b/doc/user/project/issues/csv_import.md
@@ -1,3 +1,9 @@
+---
+stage: none
+group: unassigned
+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/#designated-technical-writers
+---
+
# Importing issues from CSV
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23532) in GitLab 11.7.
diff --git a/doc/user/project/issues/design_management.md b/doc/user/project/issues/design_management.md
index 6f57487fccd..c19c9ca0615 100644
--- a/doc/user/project/issues/design_management.md
+++ b/doc/user/project/issues/design_management.md
@@ -228,7 +228,7 @@ available in the **Resolved Comment** area at the bottom of the right sidebar.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/198439) in GitLab 13.4.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/245074) in GitLab 13.5.
-Add a to do for a design by clicking **Add a To Do** on the design sidebar:
+Add a to-do item for a design by clicking **Add a to do** on the design sidebar:
![To-do button](img/design_todo_button_v13_5.png)
diff --git a/doc/user/project/issues/img/adding_note_to_design_1.png b/doc/user/project/issues/img/adding_note_to_design_1.png
index aa50bbb69ce..3c25fcb1241 100644
--- a/doc/user/project/issues/img/adding_note_to_design_1.png
+++ b/doc/user/project/issues/img/adding_note_to_design_1.png
Binary files differ
diff --git a/doc/user/project/issues/img/adding_note_to_design_2.png b/doc/user/project/issues/img/adding_note_to_design_2.png
index 37cefeb1a15..c418a0364c0 100644
--- a/doc/user/project/issues/img/adding_note_to_design_2.png
+++ b/doc/user/project/issues/img/adding_note_to_design_2.png
Binary files differ
diff --git a/doc/user/project/issues/img/button_close_issue.png b/doc/user/project/issues/img/button_close_issue.png
deleted file mode 100644
index 05d257ce9bf..00000000000
--- a/doc/user/project/issues/img/button_close_issue.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/button_close_issue_v13_6.png b/doc/user/project/issues/img/button_close_issue_v13_6.png
new file mode 100644
index 00000000000..6c7f8da496b
--- /dev/null
+++ b/doc/user/project/issues/img/button_close_issue_v13_6.png
Binary files differ
diff --git a/doc/user/project/issues/img/closing_and_related_issues.png b/doc/user/project/issues/img/closing_and_related_issues.png
deleted file mode 100644
index c6543e85fdb..00000000000
--- a/doc/user/project/issues/img/closing_and_related_issues.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/confirm_design_deletion_v12_4.png b/doc/user/project/issues/img/confirm_design_deletion_v12_4.png
index 447d3907122..5631b6ec98e 100644
--- a/doc/user/project/issues/img/confirm_design_deletion_v12_4.png
+++ b/doc/user/project/issues/img/confirm_design_deletion_v12_4.png
Binary files differ
diff --git a/doc/user/project/issues/img/delete_multiple_designs_v12_4.png b/doc/user/project/issues/img/delete_multiple_designs_v12_4.png
index 75cbdf77c24..40d449d5b39 100644
--- a/doc/user/project/issues/img/delete_multiple_designs_v12_4.png
+++ b/doc/user/project/issues/img/delete_multiple_designs_v12_4.png
Binary files differ
diff --git a/doc/user/project/issues/img/delete_single_design_v12_4.png b/doc/user/project/issues/img/delete_single_design_v12_4.png
deleted file mode 100644
index 158b4949ce4..00000000000
--- a/doc/user/project/issues/img/delete_single_design_v12_4.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/design_drag_and_drop_uploads_v12_9.png b/doc/user/project/issues/img/design_drag_and_drop_uploads_v12_9.png
deleted file mode 100644
index 6680c792063..00000000000
--- a/doc/user/project/issues/img/design_drag_and_drop_uploads_v12_9.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/design_drag_and_drop_uploads_v13_2.png b/doc/user/project/issues/img/design_drag_and_drop_uploads_v13_2.png
index 25a02eef406..4ab5e184905 100644
--- a/doc/user/project/issues/img/design_drag_and_drop_uploads_v13_2.png
+++ b/doc/user/project/issues/img/design_drag_and_drop_uploads_v13_2.png
Binary files differ
diff --git a/doc/user/project/issues/img/design_management_v12_3.png b/doc/user/project/issues/img/design_management_v12_3.png
deleted file mode 100644
index b3647aa97c1..00000000000
--- a/doc/user/project/issues/img/design_management_v12_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/design_management_v13_2.png b/doc/user/project/issues/img/design_management_v13_2.png
index 6d7e03d6f20..3da11c92514 100644
--- a/doc/user/project/issues/img/design_management_v13_2.png
+++ b/doc/user/project/issues/img/design_management_v13_2.png
Binary files differ
diff --git a/doc/user/project/issues/img/design_zooming_v12_7.png b/doc/user/project/issues/img/design_zooming_v12_7.png
index 4acb4e10913..4966af06e41 100644
--- a/doc/user/project/issues/img/design_zooming_v12_7.png
+++ b/doc/user/project/issues/img/design_zooming_v12_7.png
Binary files differ
diff --git a/doc/user/project/issues/img/epic_tree_health_status_v12_10.png b/doc/user/project/issues/img/epic_tree_health_status_v12_10.png
deleted file mode 100644
index 1a603656fd8..00000000000
--- a/doc/user/project/issues/img/epic_tree_health_status_v12_10.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/issue_health_status_v12_10.png b/doc/user/project/issues/img/issue_health_status_v12_10.png
deleted file mode 100644
index dd6becbb970..00000000000
--- a/doc/user/project/issues/img/issue_health_status_v12_10.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/issue_health_status_v12_9.png b/doc/user/project/issues/img/issue_health_status_v12_9.png
deleted file mode 100644
index f8922a74fc1..00000000000
--- a/doc/user/project/issues/img/issue_health_status_v12_9.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/new_issue_from_open_issue.png b/doc/user/project/issues/img/new_issue_from_open_issue.png
deleted file mode 100644
index c6f3f0617ab..00000000000
--- a/doc/user/project/issues/img/new_issue_from_open_issue.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/new_issue_from_open_issue_v13_6.png b/doc/user/project/issues/img/new_issue_from_open_issue_v13_6.png
new file mode 100644
index 00000000000..902aa40614a
--- /dev/null
+++ b/doc/user/project/issues/img/new_issue_from_open_issue_v13_6.png
Binary files differ
diff --git a/doc/user/project/issues/img/reopen-issue.png b/doc/user/project/issues/img/reopen-issue.png
deleted file mode 100644
index fc48742afe0..00000000000
--- a/doc/user/project/issues/img/reopen-issue.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/report-abuse.png b/doc/user/project/issues/img/report-abuse.png
deleted file mode 100644
index f8cef22da03..00000000000
--- a/doc/user/project/issues/img/report-abuse.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/select_designs_v12_4.png b/doc/user/project/issues/img/select_designs_v12_4.png
index 532a79fce65..fe1c55a4ae2 100644
--- a/doc/user/project/issues/img/select_designs_v12_4.png
+++ b/doc/user/project/issues/img/select_designs_v12_4.png
Binary files differ
diff --git a/doc/user/project/issues/index.md b/doc/user/project/issues/index.md
index 434af3a4a49..716377f2e45 100644
--- a/doc/user/project/issues/index.md
+++ b/doc/user/project/issues/index.md
@@ -95,12 +95,13 @@ While you can view and manage the full details of an issue on the [issue page](#
you can also work with multiple issues at a time using the [Issues List](#issues-list),
[Issue Boards](#issue-boards), Issue references, and [Epics](#epics)**(PREMIUM)**.
-Key actions for Issues include:
+Key actions for issues include:
- [Creating issues](managing_issues.md#create-a-new-issue)
- [Moving issues](managing_issues.md#moving-issues)
- [Closing issues](managing_issues.md#closing-issues)
- [Deleting issues](managing_issues.md#deleting-issues)
+- [Promoting issues](managing_issues.md#promote-an-issue-to-an-epic) **(PREMIUM)**
### Issue page
@@ -189,6 +190,8 @@ requires [GraphQL](../../../api/graphql/index.md) to be enabled.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/36427) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10.
> - Health status of closed issues [can't be edited](https://gitlab.com/gitlab-org/gitlab/-/issues/220867) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.4 and later.
+> - Issue health status visible in issue lists [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45141) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.6.
+
To help you track the status of your issues, you can assign a status to each issue to flag work
that's progressing as planned or needs attention to keep on schedule:
@@ -201,7 +204,7 @@ that's progressing as planned or needs attention to keep on schedule:
After an issue is closed, its health status can't be edited and the "Edit" button becomes disabled
until the issue is reopened.
-You can then see issue statuses on the
+You can then see issue statuses in the [issue list](#issues-list) and the
[Epic tree](../../group/epics/index.md#issue-health-status-in-epic-tree).
#### Disable issue health status
diff --git a/doc/user/project/issues/issue_data_and_actions.md b/doc/user/project/issues/issue_data_and_actions.md
index 003444e0ed8..a5f60fbd515 100644
--- a/doc/user/project/issues/issue_data_and_actions.md
+++ b/doc/user/project/issues/issue_data_and_actions.md
@@ -18,7 +18,7 @@ You can find all the information for that issue on one screen.
![Issue view](img/issues_main_view_numbered.png)
-- **1.** [New Issue, close issue (reopen issue, report issue)](#new-issue-close-issue-reopen-issue-report-issue)
+- **1.** [Issue actions](#issue-actions)
- **2.** [To Do](#to-do)
- **3.** [Assignee](#assignee)
- **3.1.** [Multiple Assignees **(STARTER)**](#multiple-assignees)
@@ -55,22 +55,21 @@ Many of the elements of the issue screen refresh automatically, such as the titl
description, when they are changed by another user. Comments and system notes also
update automatically in response to various actions and content updates.
-### New Issue, close issue (reopen issue, report issue)
+### Issue actions
-Clicking on **New issue** will open a new window to create a new issue in the same project.
-Clicking on **Close issue** will close this issue, but it will not be deleted. If the
-issue is already closed, you can still access it and the button will show **Reopen issue**, as shown below,
-which you can click to reopen the issue. A reopened issue is no different from any
-other issue.
+In an open issue, you can close it by selecting the **Close issue** button.
+The issue is marked as closed but is not deleted.
-![Reopen Issue](img/reopen-issue.png)
+To reopen a closed issue, select the **Reopen issue** button.
+A reopened issue is no different from any other open issue.
-If you do not have rights to modify the issue, the **close issue** button will be
-replaced with **report issue**, which you can click to [submit an abuse report](../../abuse_reports.md)
-about the issue. It will also appear if you have rights to modify the issue, but only
-after it is closed.
+To access additional actions, select the vertical ellipsis
+(**{ellipsis_v}**) button:
-![Report Abuse](img/report-abuse.png)
+- To create a new issue in the same project, select **New issue** in the dropdown menu.
+
+- If you are not the issue author, you can [submit an abuse report](../../abuse_reports.md).
+ Select **Report abuse** in the dropdown menu.
### To Do
diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md
index b033dc79dcc..62b388ec137 100644
--- a/doc/user/project/issues/managing_issues.md
+++ b/doc/user/project/issues/managing_issues.md
@@ -7,9 +7,15 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Managing issues
[GitLab Issues](index.md) are the fundamental medium for collaborating on ideas and
-planning work in GitLab. [Creating](#create-a-new-issue), [moving](#moving-issues),
-[closing](#closing-issues), and [deleting](#deleting-issues) are key actions that
-you can do with issues.
+planning work in GitLab.
+
+Key actions for issues include:
+
+- [Creating issues](#create-a-new-issue)
+- [Moving issues](#moving-issues)
+- [Closing issues](#closing-issues)
+- [Deleting issues](#deleting-issues)
+- [Promoting issues](#promote-an-issue-to-an-epic) **(PREMIUM)**
## Create a new issue
@@ -28,10 +34,10 @@ There are many ways to get to the New Issue form from within a project:
![New issue from the issue list view](img/new_issue_from_tracker_list.png)
-- From an **opened issue** in your project, click **New Issue** to create a new
- issue in the same project:
+- From an **open issue** in your project, click the vertical ellipsis (**{ellipsis_v}**) button
+ to open a dropdown menu, and then click **New Issue** to create a new issue in the same project:
- ![New issue from an open issue](img/new_issue_from_open_issue.png)
+ ![New issue from an open issue](img/new_issue_from_open_issue_v13_6.png)
- From your **Project's Dashboard**, click the plus sign (**+**) to open a dropdown
menu with a few options. Select **New Issue** to create an issue in that project:
@@ -178,7 +184,7 @@ end; nil
When you decide that an issue is resolved, or no longer needed, you can close the issue
using the close button:
-![close issue - button](img/button_close_issue.png)
+![close issue - button](img/button_close_issue_v13_6.png)
You can also close an issue from the [Issue Boards](../issue_board.md) by dragging an issue card
from its list and dropping it into the **Closed** list.
@@ -280,6 +286,23 @@ editing it and clicking on the delete button.
![delete issue - button](img/delete_issue.png)
+## Promote an issue to an epic **(PREMIUM)**
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3777) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.6.
+> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) to [GitLab Premium](https://about.gitlab.com/pricing/) in 12.8.
+> - Promoting issues to epics via the UI [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/233974) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.6.
+
+You can promote an issue to an epic in the immediate parent group.
+
+To promote an issue to an epic:
+
+1. In an issue, select the vertical ellipsis (**{ellipsis_v}**) button.
+1. Select **Promote to epic**.
+
+Alternatively, you can use the `/promote` [quick action](../quick_actions.md#quick-actions-for-issues-merge-requests-and-epics).
+
+Read more about promoting an issue to an epic on the [Manage epics page](../../group/epics/manage_epics.md#promote-an-issue-to-an-epic).
+
## Add an issue to an iteration **(STARTER)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216158) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.2.
diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md
index 4f0354f86af..c237f46b23a 100644
--- a/doc/user/project/labels.md
+++ b/doc/user/project/labels.md
@@ -95,6 +95,8 @@ If you delete a label, it is permanently deleted. All references to the label ar
#### Promote a project label to a group label
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/231472) in GitLab 13.6: promoting a project label keeps that label's ID and changes it into a group label. Previously, promoting a project label created a new group label with a new ID and deleted the old label.
+
If you previously created a project label and now want to make it available for other
projects within the same group, you can promote it to a group label.
@@ -105,6 +107,8 @@ also merged.
All issues, merge requests, issue board lists, issue board filters, and label subscriptions
with the old labels are assigned to the new group label.
+The new group label has the same ID as the previous project label.
+
CAUTION: **Caution:**
Promoting a label is a permanent action, and cannot be reversed.
diff --git a/doc/user/project/members/index.md b/doc/user/project/members/index.md
index d8579c4cd8e..c66103604ed 100644
--- a/doc/user/project/members/index.md
+++ b/doc/user/project/members/index.md
@@ -1,3 +1,9 @@
+---
+stage: none
+group: unassigned
+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/#designated-technical-writers
+---
+
# Members of a project
You can manage the groups and users and their access levels in all of your
diff --git a/doc/user/project/members/share_project_with_groups.md b/doc/user/project/members/share_project_with_groups.md
index 033d69cbbfa..395f4353f47 100644
--- a/doc/user/project/members/share_project_with_groups.md
+++ b/doc/user/project/members/share_project_with_groups.md
@@ -1,3 +1,9 @@
+---
+stage: none
+group: unassigned
+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/#designated-technical-writers
+---
+
# Share Projects with other Groups
You can share projects with other [groups](../../group/index.md). This makes it
diff --git a/doc/user/project/merge_requests/code_quality.md b/doc/user/project/merge_requests/code_quality.md
index e03d4e99b86..d50056c9450 100644
--- a/doc/user/project/merge_requests/code_quality.md
+++ b/doc/user/project/merge_requests/code_quality.md
@@ -265,6 +265,40 @@ Once the Code Quality job has completed:
[downloadable artifact](../../../ci/pipelines/job_artifacts.md#downloading-artifacts)
for the `code_quality` job.
+### Generating an HTML report
+
+In [GitLab 13.6 and later](https://gitlab.com/gitlab-org/ci-cd/codequality/-/issues/10),
+it is possible to generate an HTML report file by setting the `REPORT_FORMAT`
+variable to `html`. This is useful if you just want to view the report in a more
+human-readable format or to publish this artifact on GitLab Pages for even
+easier reviewing.
+
+```yaml
+include:
+ - template: Code-Quality.gitlab-ci.yml
+
+code_quality:
+ variables:
+ REPORT_FORMAT: html
+ artifacts:
+ paths: [gl-code-quality-report.html]
+```
+
+It's also possible to generate both JSON and HTML report files by defining
+another job and using `extends: code_quality`:
+
+```yaml
+include:
+ - template: Code-Quality.gitlab-ci.yml
+
+code_quality_html:
+ extends: code_quality
+ variables:
+ REPORT_FORMAT: html
+ artifacts:
+ paths: [gl-code-quality-report.html]
+```
+
## Extending functionality
### Using Analysis Plugins
@@ -314,7 +348,7 @@ This can be due to multiple reasons:
nothing will be displayed.
- The [`artifacts:expire_in`](../../../ci/yaml/README.md#artifactsexpire_in) CI/CD
setting can cause the Code Quality artifact(s) to expire faster than desired.
-- Large `codeclimate.json` files (esp. >10 MB) are [known to prevent the report from being displayed](https://gitlab.com/gitlab-org/gitlab/-/issues/2737).
+- Large `codeclimate.json` files (esp. >10 MB) are [known to prevent the report from being displayed](https://gitlab.com/gitlab-org/gitlab/-/issues/2737).
As a work-around, try removing [properties](https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types)
that are [ignored by GitLab](#implementing-a-custom-tool). You can:
- Configure the Code Quality tool to not output those types.
diff --git a/doc/user/project/merge_requests/csv_export.md b/doc/user/project/merge_requests/csv_export.md
new file mode 100644
index 00000000000..52c6f8a8d41
--- /dev/null
+++ b/doc/user/project/merge_requests/csv_export.md
@@ -0,0 +1,45 @@
+---
+stage: Manage
+group: Compliance
+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/#designated-technical-writers
+---
+
+# Export Merge Requests to CSV **(CORE)**
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3619) in GitLab 13.6.
+
+Exporting Merge Requests CSV enables you and your team to export all the data collected from merge requests into a comma-separated values (CSV) file, which stores tabular data in plain text.
+
+To export Merge Requests to CSV, navigate to your **Merge Requests** from the sidebar of a project and click **Export to CSV**.
+
+## CSV Output
+
+The following table shows what attributes will be present in the CSV.
+
+| Column | Description |
+|--------------------|--------------------------------------------------------------|
+| MR ID | MR iid |
+| URL | A link to the merge request on GitLab |
+| Title | Merge request title |
+| State | Opened, Closed, Locked, or Merged |
+| Description | Merge request description |
+| Source Branch | Source branch |
+| Target Branch | Target branch |
+| Source Project ID | ID of the source project |
+| Target Project ID | ID of the target project |
+| Author | Full name of the merge request author |
+| Author Username | Username of the author, with the @ symbol omitted |
+| Assignees | Full names of the merge request assignees, joined with a `,` |
+| Assignee Usernames | Username of the assignees, with the @ symbol omitted |
+| Approvers | Full names of the approvers, joined with a `,` |
+| Approver Usernames | Username of the approvers, with the @ symbol omitted |
+| Merged User | Full name of the merged user |
+| Merged Username | Username of the merge user, with the @ symbol omitted |
+| Milestone ID | ID of the merge request milestone |
+| Created At (UTC) | Formatted as YYYY-MM-DD HH:MM:SS |
+| Updated At (UTC) | Formatted as YYYY-MM-DD HH:MM:SS |
+
+## Limitations
+
+- Export merge requests to CSV is not available at the Group’s merge request list.
+- As the merge request CSV file is sent as an email attachment, the size is limited to 15MB to ensure successful delivery across a range of email providers. If you need to minimize the size of the file, you can narrow the search before export. For example, you can set up exports of open and closed merge requests in separate files.
diff --git a/doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_only_if_succeeds_settings.png b/doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_only_if_succeeds_settings.png
deleted file mode 100644
index ed374b11fbd..00000000000
--- a/doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_only_if_succeeds_settings.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/merge_requests/img/project_merge_requests_list_view.png b/doc/user/project/merge_requests/img/project_merge_requests_list_view.png
index 457716d811c..2c86a1ad839 100644
--- a/doc/user/project/merge_requests/img/project_merge_requests_list_view.png
+++ b/doc/user/project/merge_requests/img/project_merge_requests_list_view.png
Binary files differ
diff --git a/doc/user/project/merge_requests/load_performance_testing.md b/doc/user/project/merge_requests/load_performance_testing.md
index 2675f509eed..3ee88275aac 100644
--- a/doc/user/project/merge_requests/load_performance_testing.md
+++ b/doc/user/project/merge_requests/load_performance_testing.md
@@ -156,7 +156,7 @@ The best approach is to capture the dynamic URL in a [`.env` file](https://docs.
as a job artifact to be shared, then use a custom environment variable we've provided named `K6_DOCKER_OPTIONS`
to configure the k6 Docker container to use the file. With this, k6 can then use any
environment variables from the `.env` file in scripts using standard JavaScript,
-such as: ``http.get(`${__ENV.ENVIRONMENT_URL`})``.
+such as: ``http.get(`${__ENV.ENVIRONMENT_URL}`)``.
For example:
diff --git a/doc/user/project/merge_requests/test_coverage_visualization.md b/doc/user/project/merge_requests/test_coverage_visualization.md
index bded1839f97..039f0f7d5e1 100644
--- a/doc/user/project/merge_requests/test_coverage_visualization.md
+++ b/doc/user/project/merge_requests/test_coverage_visualization.md
@@ -73,11 +73,11 @@ test:
cobertura: coverage/cobertura-coverage.xml
```
-### Java examples
+### Java and Kotlin examples
#### Maven example
-The following [`gitlab-ci.yml`](../../../ci/yaml/README.md) example for Java uses [Maven](https://maven.apache.org/)
+The following [`gitlab-ci.yml`](../../../ci/yaml/README.md) example for Java or Kotlin uses [Maven](https://maven.apache.org/)
to build the project and [Jacoco](https://www.eclemma.org/jacoco/) coverage-tooling to
generate the coverage artifact.
You can check the [Docker image configuration and scripts](https://gitlab.com/haynes/jacoco2cobertura) if you want to build your own image.
@@ -101,7 +101,7 @@ coverage-jdk11:
# The `visualize` stage does not exist by default.
# Please define it first, or chose an existing stage like `deploy`.
stage: visualize
- image: haynes/jacoco2cobertura:1.0.3
+ image: haynes/jacoco2cobertura:1.0.4
script:
# convert report from jacoco to cobertura
- 'python /opt/cover2cover.py target/site/jacoco/jacoco.xml src/main/java > target/site/cobertura.xml'
@@ -117,7 +117,7 @@ coverage-jdk11:
#### Gradle example
-The following [`gitlab-ci.yml`](../../../ci/yaml/README.md) example for Java uses [Gradle](https://gradle.org/)
+The following [`gitlab-ci.yml`](../../../ci/yaml/README.md) example for Java or Kotlin uses [Gradle](https://gradle.org/)
to build the project and [Jacoco](https://www.eclemma.org/jacoco/) coverage-tooling to
generate the coverage artifact.
You can check the [Docker image configuration and scripts](https://gitlab.com/haynes/jacoco2cobertura) if you want to build your own image.
@@ -141,7 +141,7 @@ coverage-jdk11:
# The `visualize` stage does not exist by default.
# Please define it first, or chose an existing stage like `deploy`.
stage: visualize
- image: haynes/jacoco2cobertura:1.0.3
+ image: haynes/jacoco2cobertura:1.0.4
script:
# convert report from jacoco to cobertura
- 'python /opt/cover2cover.py build/jacoco/jacoco.xml src/main/java > build/cobertura.xml'
diff --git a/doc/user/project/merge_requests/versions.md b/doc/user/project/merge_requests/versions.md
index 9581c974414..0922ffb2943 100644
--- a/doc/user/project/merge_requests/versions.md
+++ b/doc/user/project/merge_requests/versions.md
@@ -1,4 +1,7 @@
---
+stage: none
+group: unassigned
+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/#designated-technical-writers
type: reference, concepts
---
diff --git a/doc/user/project/merge_requests/work_in_progress_merge_requests.md b/doc/user/project/merge_requests/work_in_progress_merge_requests.md
index e7abf6e5fb6..2218d38fdad 100644
--- a/doc/user/project/merge_requests/work_in_progress_merge_requests.md
+++ b/doc/user/project/merge_requests/work_in_progress_merge_requests.md
@@ -27,7 +27,7 @@ There are several ways to flag a merge request as a Draft:
description will have the same effect.
- **Deprecated** Add `[WIP]` or `WIP:` to the start of the merge request's title.
**WIP** still works but was deprecated in favor of **Draft**. It will be removed in the next major version (GitLab 14.0).
-- Add the `/wip` [quick action](../quick_actions.md#quick-actions-for-issues-merge-requests-and-epics)
+- Add the `/draft` (or `/wip`) [quick action](../quick_actions.md#quick-actions-for-issues-merge-requests-and-epics)
in a comment in the merge request. This is a toggle, and can be repeated
to change the status back. Note that any other text in the comment will be discarded.
- Add `draft:`, `Draft:`, `fixup!`, or `Fixup!` to the beginning of a commit message targeting the
@@ -43,7 +43,7 @@ Similar to above, when a Merge Request is ready to be merged, you can remove the
- Remove `[Draft]`, `Draft:` or `(Draft)` from the start of the merge request's title. Clicking on
**Remove the Draft: prefix from the title**, under the title box, when editing the merge
request's description, will have the same effect.
-- Add the `/wip` [quick action](../quick_actions.md#quick-actions-for-issues-merge-requests-and-epics)
+- Add the `/draft` (or `/wip`) [quick action](../quick_actions.md#quick-actions-for-issues-merge-requests-and-epics)
in a comment in the merge request. This is a toggle, and can be repeated
to change the status back. Note that any other text in the comment will be discarded.
- Click on the **Resolve Draft status** button near the bottom of the merge request description,
diff --git a/doc/user/project/milestones/burndown_and_burnup_charts.md b/doc/user/project/milestones/burndown_and_burnup_charts.md
index 327a52a05ab..ae03be5fa0f 100644
--- a/doc/user/project/milestones/burndown_and_burnup_charts.md
+++ b/doc/user/project/milestones/burndown_and_burnup_charts.md
@@ -9,18 +9,18 @@ info: To determine the technical writer assigned to the Stage/Group associated w
[Burndown](#burndown-charts) and [burnup](#burnup-charts) charts show the progress of completing a milestone.
-![burndown and burnup chart](img/burndown_and_burnup_charts_v13_5.png)
+![burndown and burnup chart](img/burndown_and_burnup_charts_v13_6.png)
## Burndown charts
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1540) in [GitLab Starter](https://about.gitlab.com/pricing/) 9.1 for project milestones.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5354) in [GitLab Premium](https://about.gitlab.com/pricing/) 10.8 for group milestones.
> - [Added](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6495) to [GitLab Starter](https://about.gitlab.com/pricing/) 11.2 for group milestones.
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6903) [fixed burndown charts](#fixed-burndown-charts) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.5.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6903) [fixed burndown charts](#fixed-burndown-charts) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.6.
Burndown charts show the number of issues over the course of a milestone.
-![burndown chart](img/burndown_chart_v13_5.png)
+![burndown chart](img/burndown_chart_v13_6.png)
At a glance, you see the current state for the completion a given milestone.
Without them, you would have to organize the data from the milestone and plot it
@@ -81,12 +81,12 @@ cumulative value.
### Fixed burndown charts
-For milestones created before GitLab 13.5, burndown charts have an additional toggle to
+For milestones created before GitLab 13.6, burndown charts have an additional toggle to
switch between Legacy and Fixed views.
| Legacy | Fixed |
| ----- | ----- |
-| ![Legacy burndown chart, ](img/burndown_chart_legacy_v13_5.png) | ![Fixed burndown chart, showing a jump when a lot of issues were added to the milestone](img/burndown_chart_fixed_v13_5.png) |
+| ![Legacy burndown chart](img/burndown_chart_legacy_v13_6.png) | ![Fixed burndown chart, showing a jump when a lot of issues were added to the milestone](img/burndown_chart_fixed_v13_6.png) |
**Fixed burndown** charts track the full history of milestone activity, from its creation until the
milestone expires. After the milestone due date passes, issues removed from the milestone no longer
@@ -103,11 +103,18 @@ Reopened issues are considered as having been opened on the day after they were
## Burnup charts
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6903) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.5.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6903) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.6.
+> - 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-burnup-charts). **(STARTER ONLY)**
+
+CAUTION: **Warning:**
+This feature might not be available to you. Check the **version history** note above for details.
Burnup charts show the assigned and completed work for a milestone.
-![burnup chart](img/burnup_chart_v13_5.png)
+![burnup chart](img/burnup_chart_v13_6.png)
To view a project's burnup chart:
@@ -129,6 +136,25 @@ Burnup charts can show either the total number of issues or total weight for eac
day of the milestone. Use the toggle above the charts to switch between total
and weight.
+### Enable or disable burnup charts **(STARTER ONLY)**
+
+Burnup charts 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 opt to disable it.
+
+To enable it:
+
+```ruby
+Feature.enable(:burnup_charts)
+```
+
+To disable it:
+
+```ruby
+Feature.disable(:burnup_charts)
+```
+
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
diff --git a/doc/user/project/milestones/burndown_charts.md b/doc/user/project/milestones/burndown_charts.md
index 5aa5534dd37..5d9e6b67bb8 100644
--- a/doc/user/project/milestones/burndown_charts.md
+++ b/doc/user/project/milestones/burndown_charts.md
@@ -2,4 +2,4 @@
redirect_to: './burndown_and_burnup_charts.md'
---
-This document was moved to [another location](./burndown_and_burnup_charts.md).
+This document was moved to [another location](burndown_and_burnup_charts.md).
diff --git a/doc/user/project/milestones/img/burndown_and_burnup_charts_v13_5.png b/doc/user/project/milestones/img/burndown_and_burnup_charts_v13_6.png
index 8d6ba1d4fa7..8d6ba1d4fa7 100644
--- a/doc/user/project/milestones/img/burndown_and_burnup_charts_v13_5.png
+++ b/doc/user/project/milestones/img/burndown_and_burnup_charts_v13_6.png
Binary files differ
diff --git a/doc/user/project/milestones/img/burndown_chart_fixed_v13_5.png b/doc/user/project/milestones/img/burndown_chart_fixed_v13_6.png
index a532bfeeca0..a532bfeeca0 100644
--- a/doc/user/project/milestones/img/burndown_chart_fixed_v13_5.png
+++ b/doc/user/project/milestones/img/burndown_chart_fixed_v13_6.png
Binary files differ
diff --git a/doc/user/project/milestones/img/burndown_chart_legacy_v13_5.png b/doc/user/project/milestones/img/burndown_chart_legacy_v13_6.png
index 5824fc59ce5..5824fc59ce5 100644
--- a/doc/user/project/milestones/img/burndown_chart_legacy_v13_5.png
+++ b/doc/user/project/milestones/img/burndown_chart_legacy_v13_6.png
Binary files differ
diff --git a/doc/user/project/milestones/img/burndown_chart_v13_5.png b/doc/user/project/milestones/img/burndown_chart_v13_6.png
index e06b24f9907..e06b24f9907 100644
--- a/doc/user/project/milestones/img/burndown_chart_v13_5.png
+++ b/doc/user/project/milestones/img/burndown_chart_v13_6.png
Binary files differ
diff --git a/doc/user/project/milestones/img/burnup_chart_v13_5.png b/doc/user/project/milestones/img/burnup_chart_v13_6.png
index a850caba348..a850caba348 100644
--- a/doc/user/project/milestones/img/burnup_chart_v13_5.png
+++ b/doc/user/project/milestones/img/burnup_chart_v13_6.png
Binary files differ
diff --git a/doc/user/project/milestones/img/milestones_new_group_milestone.png b/doc/user/project/milestones/img/milestones_new_group_milestone.png
index a517f0f7537..5bbe8e51f23 100644
--- a/doc/user/project/milestones/img/milestones_new_group_milestone.png
+++ b/doc/user/project/milestones/img/milestones_new_group_milestone.png
Binary files differ
diff --git a/doc/user/project/milestones/img/milestones_new_project_milestone.png b/doc/user/project/milestones/img/milestones_new_project_milestone.png
index 482c73f6568..2d0bdce542d 100644
--- a/doc/user/project/milestones/img/milestones_new_project_milestone.png
+++ b/doc/user/project/milestones/img/milestones_new_project_milestone.png
Binary files differ
diff --git a/doc/user/project/milestones/img/milestones_project_milestone_page.png b/doc/user/project/milestones/img/milestones_project_milestone_page.png
index c17bf350aeb..1faaf0b3979 100644
--- a/doc/user/project/milestones/img/milestones_project_milestone_page.png
+++ b/doc/user/project/milestones/img/milestones_project_milestone_page.png
Binary files differ
diff --git a/doc/user/project/milestones/index.md b/doc/user/project/milestones/index.md
index 8cbed3de1c6..9c47f15cb8f 100644
--- a/doc/user/project/milestones/index.md
+++ b/doc/user/project/milestones/index.md
@@ -150,7 +150,7 @@ There are also tabs below these that show the following:
For project milestones in [GitLab Starter](https://about.gitlab.com/pricing/), a [burndown chart](burndown_charts.md) is in the milestone view, showing the progress of completing a milestone.
-![burndown chart](img/burndown_chart_v13_5.png)
+![burndown chart](img/burndown_chart_v13_6.png)
### Group Burndown Charts **(STARTER)**
diff --git a/doc/user/project/operations/img/alert_issue_v13_1.png b/doc/user/project/operations/img/alert_issue_v13_1.png
deleted file mode 100644
index da79074aa2f..00000000000
--- a/doc/user/project/operations/img/alert_issue_v13_1.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/operations/img/error_details_v12_5.png b/doc/user/project/operations/img/error_details_v12_5.png
deleted file mode 100644
index f4866141948..00000000000
--- a/doc/user/project/operations/img/error_details_v12_5.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/operations/img/error_details_v12_6.png b/doc/user/project/operations/img/error_details_v12_6.png
deleted file mode 100644
index 3194d8284d7..00000000000
--- a/doc/user/project/operations/img/error_details_v12_6.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/operations/img/error_details_with_issue_v12_6.png b/doc/user/project/operations/img/error_details_with_issue_v12_6.png
deleted file mode 100644
index 963b70bd1e4..00000000000
--- a/doc/user/project/operations/img/error_details_with_issue_v12_6.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/operations/img/error_details_with_issue_v12_7.png b/doc/user/project/operations/img/error_details_with_issue_v12_7.png
deleted file mode 100644
index aa846ee7220..00000000000
--- a/doc/user/project/operations/img/error_details_with_issue_v12_7.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/operations/img/feature_flags_list_v12_7.png b/doc/user/project/operations/img/feature_flags_list_v12_7.png
deleted file mode 100644
index a28a844b46d..00000000000
--- a/doc/user/project/operations/img/feature_flags_list_v12_7.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/operations/img/specs_list_v12_6.png b/doc/user/project/operations/img/specs_list_v12_6.png
deleted file mode 100644
index ea429802a40..00000000000
--- a/doc/user/project/operations/img/specs_list_v12_6.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/packages/img/maven_package_view.png b/doc/user/project/packages/img/maven_package_view.png
deleted file mode 100644
index 2eb4b6f76b4..00000000000
--- a/doc/user/project/packages/img/maven_package_view.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/packages/img/npm_package_view.png b/doc/user/project/packages/img/npm_package_view.png
deleted file mode 100644
index e0634718c02..00000000000
--- a/doc/user/project/packages/img/npm_package_view.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/pages/getting_started/pages_from_scratch.md b/doc/user/project/pages/getting_started/pages_from_scratch.md
index a7eb4c4019f..e030326ac5f 100644
--- a/doc/user/project/pages/getting_started/pages_from_scratch.md
+++ b/doc/user/project/pages/getting_started/pages_from_scratch.md
@@ -158,9 +158,12 @@ When it succeeds, go to **Settings > Pages** to view the URL where your site
is now available.
If you want to do more advanced tasks, you can update your `.gitlab-ci.yml` file
-with [any of the available settings](../../../../ci/yaml/README.md). See
-[Validate the `.gitlab-ci.yml`](../../../../ci/yaml/README.md#validate-the-gitlab-ciyml)
-for instructions on validating your YAML file with the Lint tool included with GitLab.
+with [any of the available settings](../../../../ci/yaml/README.md). You can validate
+your `.gitlab-ci.yml` file with the [CI Lint](../../../../ci/lint.md) tool that's included with GitLab.
+
+After successful execution of this `pages` job, a special `pages:deploy` job appears in the
+pipeline view. It prepares the content of the website for GitLab Pages daemon. GitLab executes it in
+the background and doesn't use runner.
The following topics show other examples of other options you can add to your CI/CD file.
diff --git a/doc/user/project/pages/img/icons/click.png b/doc/user/project/pages/img/icons/click.png
deleted file mode 100644
index 62a997a7591..00000000000
--- a/doc/user/project/pages/img/icons/click.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/pages/img/icons/cogs.png b/doc/user/project/pages/img/icons/cogs.png
deleted file mode 100644
index f37f8f361d1..00000000000
--- a/doc/user/project/pages/img/icons/cogs.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/pages/img/icons/fork.png b/doc/user/project/pages/img/icons/fork.png
deleted file mode 100644
index 1ae8fa722b7..00000000000
--- a/doc/user/project/pages/img/icons/fork.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/pages/img/icons/free.png b/doc/user/project/pages/img/icons/free.png
deleted file mode 100644
index c74cd90fa1a..00000000000
--- a/doc/user/project/pages/img/icons/free.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/pages/img/icons/monitor.png b/doc/user/project/pages/img/icons/monitor.png
deleted file mode 100644
index ce27b7e177e..00000000000
--- a/doc/user/project/pages/img/icons/monitor.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/pages/img/pages_workflow_v12_5.png b/doc/user/project/pages/img/pages_workflow_v12_5.png
deleted file mode 100644
index ca5190fca79..00000000000
--- a/doc/user/project/pages/img/pages_workflow_v12_5.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/pages/index.md b/doc/user/project/pages/index.md
index 4f389716f08..f5cd6991869 100644
--- a/doc/user/project/pages/index.md
+++ b/doc/user/project/pages/index.md
@@ -29,7 +29,7 @@ directly from a repository in GitLab.
</ul>
</p>
</div>
-<div class="col-md-3"><img src="img/ssgs_pages.png" alt="Examples of SSGs supported by Pages" class="image-noshadow middle display-block"></div>
+<div class="col-md-3"><img src="img/ssgs_pages.png" alt="Examples of SSGs supported by Pages" class="middle display-block"></div>
</div>
To publish a website with Pages, you can use any SSG,
@@ -89,7 +89,7 @@ need admin access to your domain's registrar (or control panel) to set it up wit
The following diagrams show the workflows you might follow to get started with Pages.
-<img src="img/new_project_for_pages_v12_5.png" alt="New projects for GitLab Pages" class="image-noshadow">
+<img src="img/new_project_for_pages_v12_5.png" alt="New projects for GitLab Pages">
## Access to your Pages site
diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md
index b97d5328c07..6dbc12cc2ec 100644
--- a/doc/user/project/pages/introduction.md
+++ b/doc/user/project/pages/introduction.md
@@ -11,7 +11,7 @@ GitLab Pages offers.
To familiarize yourself with GitLab Pages first:
-- Read an [introduction to GitLab Pages](index.md#overview).
+- Read an [introduction to GitLab Pages](index.md).
- Learn [how to get started with Pages](index.md#getting-started).
- Learn how to enable GitLab Pages
across your GitLab instance on the [administrator documentation](../../../administration/pages/index.md).
diff --git a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md b/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
index 02d1dd7898a..13ea57939f8 100644
--- a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
+++ b/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
@@ -1,4 +1,7 @@
---
+stage: Release
+group: Release 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/#designated-technical-writers
description: "How to secure GitLab Pages websites with Let's Encrypt (manual process, deprecated)."
---
diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md
index 2f1b05f481e..46db7293711 100644
--- a/doc/user/project/quick_actions.md
+++ b/doc/user/project/quick_actions.md
@@ -40,6 +40,7 @@ The following quick actions are applicable to descriptions, discussions and thre
| `/copy_metadata <#issue>` | ✓ | ✓ | | Copy labels and milestone from another issue in the project. |
| `/create_merge_request <branch name>` | ✓ | | | Create a new merge request starting from the current issue. |
| `/done` | ✓ | ✓ | ✓ | Mark to do as done. |
+| `/draft` | | ✓ | | Toggle the draft status. |
| `/due <date>` | ✓ | | | Set due date. Examples of valid `<date>` include `in 2 days`, `this Friday` and `December 31st`. |
| `/duplicate <#issue>` | ✓ | | | Close this issue and mark as a duplicate of another issue. **(CORE)** Also, mark both as related. **(STARTER)** |
| `/epic <epic>` | ✓ | | | Add to epic `<epic>`. The `<epic>` value should be in the format of `&epic`, `group&epic`, or a URL to an epic. **(PREMIUM)** |
@@ -74,7 +75,7 @@ The following quick actions are applicable to descriptions, discussions and thre
| `/tableflip <comment>` | ✓ | ✓ | ✓ | Append the comment with `(╯°□°)╯︵ ┻━┻`. |
| `/target_branch <local branch name>` | | ✓ | | Set target branch. |
| `/title <new title>` | ✓ | ✓ | ✓ | Change title. |
-| `/todo` | ✓ | ✓ | ✓ | Add a to do. |
+| `/todo` | ✓ | ✓ | ✓ | Add a to-do item. |
| `/unassign @user1 @user2` | ✓ | ✓ | | Remove specific assignees. **(STARTER)** |
| `/unassign` | ✓ | ✓ | | Remove all assignees. |
| `/unlabel ~label1 ~label2` or `/remove_label ~label1 ~label2` | ✓ | ✓ | ✓ | Remove specified labels. |
@@ -82,7 +83,7 @@ The following quick actions are applicable to descriptions, discussions and thre
| `/unlock` | ✓ | ✓ | | Unlock the discussions. |
| `/unsubscribe` | ✓ | ✓ | ✓ | Unsubscribe from notifications. |
| `/weight <value>` | ✓ | | | Set weight. Valid options for `<value>` include `0`, `1`, `2`, and so on. **(STARTER)** |
-| `/wip` | | ✓ | | Toggle the Work In Progress status. |
+| `/wip` | | ✓ | | Toggle the draft status. |
| `/zoom <Zoom URL>` | ✓ | | | Add Zoom meeting to this issue ([introduced in GitLab 12.4](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16609)). |
## Autocomplete characters
diff --git a/doc/user/project/releases/img/edit_release_page_v12_10.png b/doc/user/project/releases/img/edit_release_page_v12_10.png
deleted file mode 100644
index ebb12a549b7..00000000000
--- a/doc/user/project/releases/img/edit_release_page_v12_10.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/releases/img/edit_release_page_v12_6.png b/doc/user/project/releases/img/edit_release_page_v12_6.png
deleted file mode 100644
index ae7641ac8a5..00000000000
--- a/doc/user/project/releases/img/edit_release_page_v12_6.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/releases/img/release_with_milestone_v12_5.png b/doc/user/project/releases/img/release_with_milestone_v12_5.png
deleted file mode 100644
index 2a7a2ee9754..00000000000
--- a/doc/user/project/releases/img/release_with_milestone_v12_5.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/releases/img/releases.png b/doc/user/project/releases/img/releases.png
deleted file mode 100644
index da5bcd9d913..00000000000
--- a/doc/user/project/releases/img/releases.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/releases/img/releases_count_v12_8.png b/doc/user/project/releases/img/releases_count_v12_8.png
deleted file mode 100644
index e70f623d508..00000000000
--- a/doc/user/project/releases/img/releases_count_v12_8.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/releases/img/releases_sort_v13_6.png b/doc/user/project/releases/img/releases_sort_v13_6.png
new file mode 100644
index 00000000000..e663e3cc7f3
--- /dev/null
+++ b/doc/user/project/releases/img/releases_sort_v13_6.png
Binary files differ
diff --git a/doc/user/project/releases/index.md b/doc/user/project/releases/index.md
index 962d612cac1..674fe8b22b8 100644
--- a/doc/user/project/releases/index.md
+++ b/doc/user/project/releases/index.md
@@ -43,6 +43,13 @@ To view a list of releases:
- On private projects, this number is visible to users with Reporter
[permissions](../../permissions.md#project-members-permissions) or higher.
+### Sort Releases
+
+On the top right of the **Releases** page, you can use the sorting button to order releases by
+**Released date** or **Created date**. You can sort releases in ascending or descending order.
+
+![Sort Releases dropdown button](img/releases_sort_v13_6.png)
+
## Create a release
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/32812) in GitLab 12.9. Releases can be created directly in the GitLab UI.
@@ -130,6 +137,8 @@ In the interface, to add release notes to an existing Git tag:
You can associate a release with one or more [project milestones](../milestones/index.md#project-milestones-and-group-milestones).
+[GitLab Premium](https://about.gitlab.com/pricing/) customers can specify [group milestones](../milestones/index.md#project-milestones-and-group-milestones) to associate with a release.
+
You can do this in the user interface, or by including a `milestones` array in your request to
the [Releases API](../../../api/releases/index.md#create-a-release).
@@ -446,17 +455,17 @@ In the API:
- If you do not specify a `released_at` date, release evidence is collected on the
date the release is created.
-## GitLab Releaser
+## Release Command Line
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-releaser/-/merge_requests/6) in GitLab 12.10.
+> [Introduced](https://gitlab.com/gitlab-org/release-cli/-/merge_requests/6) in GitLab 12.10.
-GitLab Releaser is a CLI tool for managing GitLab Releases from the command line or from
+The Release CLI is a command-line tool for managing GitLab Releases from the command line or from
GitLab's CI/CD configuration file, `.gitlab-ci.yml`.
With it, you can create, update, modify, and delete releases right through the
terminal.
-Read the [GitLab Releaser documentation](https://gitlab.com/gitlab-org/gitlab-releaser/-/tree/master/docs/index.md)
+Read the [Release CLI documentation](https://gitlab.com/gitlab-org/release-cli/-/blob/master/docs/index.md)
for details.
<!-- ## Troubleshooting
diff --git a/doc/user/project/repository/branches/img/compare_branches.png b/doc/user/project/repository/branches/img/compare_branches.png
index 52d5c518c45..e6f88da4989 100644
--- a/doc/user/project/repository/branches/img/compare_branches.png
+++ b/doc/user/project/repository/branches/img/compare_branches.png
Binary files differ
diff --git a/doc/user/project/repository/img/file_ext_icons_repo_v12_10.png b/doc/user/project/repository/img/file_ext_icons_repo_v12_10.png
index 346f0e58325..04a8f38871b 100644
--- a/doc/user/project/repository/img/file_ext_icons_repo_v12_10.png
+++ b/doc/user/project/repository/img/file_ext_icons_repo_v12_10.png
Binary files differ
diff --git a/doc/user/project/repository/img/repository_mirroring_push_settings.png b/doc/user/project/repository/img/repository_mirroring_push_settings.png
index 9fc25dd3b25..8916d21d515 100644
--- a/doc/user/project/repository/img/repository_mirroring_push_settings.png
+++ b/doc/user/project/repository/img/repository_mirroring_push_settings.png
Binary files differ
diff --git a/doc/user/project/repository/jupyter_notebooks/index.md b/doc/user/project/repository/jupyter_notebooks/index.md
index fe432e0d553..69a32841981 100644
--- a/doc/user/project/repository/jupyter_notebooks/index.md
+++ b/doc/user/project/repository/jupyter_notebooks/index.md
@@ -22,8 +22,8 @@ GitLab.
## Jupyter Hub as a GitLab Managed App
-You can deploy [Jupyter Hub as a GitLab managed app](./../../../clusters/applications.md#jupyterhub).
+You can deploy [Jupyter Hub as a GitLab managed app](../../../clusters/applications.md#jupyterhub).
## Jupyter Git integration
-Find out how to [leverage JupyterLab’s Git extension on your Kubernetes cluster](./../../../clusters/applications.md#jupyter-git-integration).
+Find out how to [leverage JupyterLab’s Git extension on your Kubernetes cluster](../../../clusters/applications.md#jupyter-git-integration).
diff --git a/doc/user/project/repository/reducing_the_repo_size_using_git.md b/doc/user/project/repository/reducing_the_repo_size_using_git.md
index ad79fd8a8f9..9f4dfe54c47 100644
--- a/doc/user/project/repository/reducing_the_repo_size_using_git.md
+++ b/doc/user/project/repository/reducing_the_repo_size_using_git.md
@@ -18,7 +18,7 @@ We **recommend [`git filter-repo`](https://github.com/newren/git-filter-repo/blo
over [`git filter-branch`](https://git-scm.com/docs/git-filter-branch) and
[BFG](https://rtyley.github.io/bfg-repo-cleaner/).
-DANGER: **Danger:**
+DANGER: **Warning:**
Rewriting repository history is a destructive operation. Make sure to back up your repository before
you begin. The best way back up a repository is to
[export the project](../settings/import_export.md#exporting-a-project-and-its-data).
@@ -202,6 +202,12 @@ To purge files from GitLab storage:
## Repository cleanup
+NOTE: **Note:**
+Safely cleaning the repository requires it to be made read-only for the duration
+of the operation. This happens automatically, but submitting the cleanup request
+will fail if any writes are ongoing, so cancel any outstanding `git push`
+operations before continuing.
+
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/19376) in GitLab 11.6.
Repository cleanup allows you to upload a text file of objects and GitLab will remove internal Git
diff --git a/doc/user/project/repository/repository_mirroring.md b/doc/user/project/repository/repository_mirroring.md
index 188699e0c77..1f9835f4f59 100644
--- a/doc/user/project/repository/repository_mirroring.md
+++ b/doc/user/project/repository/repository_mirroring.md
@@ -577,3 +577,7 @@ Should an error occur during a push, GitLab will display an "Error" highlight fo
### 13:Received RST_STREAM with error code 2 with GitHub
If you receive an "13:Received RST_STREAM with error code 2" while mirroring to a GitHub repository, your GitHub settings might be set to block pushes that expose your email address used in commits. Either set your email address on GitHub to be public, or disable the [Block command line pushes that expose my email](https://github.com/settings/emails) setting.
+
+### 4:Deadline Exceeded
+
+When upgrading to GitLab 11.11.8 or newer, a change in how usernames are represented means that you may need to update your mirroring username and password to ensure that `%40` characters are replaced with `@`.
diff --git a/doc/user/project/repository/web_editor.md b/doc/user/project/repository/web_editor.md
index af0daaaeca2..5b82cdbd9e9 100644
--- a/doc/user/project/repository/web_editor.md
+++ b/doc/user/project/repository/web_editor.md
@@ -29,6 +29,11 @@ When you are satisfied with your new file, click **Commit Changes** at the botto
![Create file editor](img/web_editor_new_file_editor.png)
+### Shortcuts
+
+You can use handy shortcuts when editing a file through the Web Editor, which are the same as
+the WEB IDE's. For details, see the documentation for [Command Palette](../web_ide/index.md#command-palette).
+
### Template dropdowns
When starting a new project, there are some common files that the new project
@@ -107,7 +112,7 @@ name or a referenced merge request or your project has an active
fork relationship.
If you would like to make this button appear, a possible workaround is to [remove your project's
fork relationship](../settings/index.md#removing-a-fork-relationship). Once removed, the fork
-relationship cannot be restored, and you will no longer be able to send merge requests to the source.
+relationship cannot be restored. This project will no longer be able to receive or send merge requests to the source project or other forks.
![Create Button](img/web_editor_new_branch_from_issue_create_button_v12_6.png)
diff --git a/doc/user/project/service_desk.md b/doc/user/project/service_desk.md
index 0a1b81a6359..34a075df990 100644
--- a/doc/user/project/service_desk.md
+++ b/doc/user/project/service_desk.md
@@ -76,7 +76,7 @@ Follow these steps to do so:
address's format. The older format is still supported, however, allowing existing aliases or
contacts to continue working.
- DANGER: **Danger:**
+ DANGER: **Warning:**
This email address can be used by anyone to create an issue on this project, whether or not they
have access to your GitLab instance. We recommend **putting this behind an alias** so it can be
changed if needed, and **[enabling Akismet](../../integration/akismet.md)** on your GitLab
@@ -99,7 +99,7 @@ navigation's **Issues** menu.
When a user submits a new issue using Service Desk, or when a new note is created on a Service Desk issue, an email is sent to the author.
-The body of these email messages can customized by using templates. To create a new customized template,
+The body of these email messages can be customized by using templates. To create a new customized template,
create a new Markdown (`.md`) file inside the `.gitlab/service_desk_templates/`
directory in your repository. Commit and push to your default branch.
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index 478d9b3b948..3e493f02392 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -1,6 +1,6 @@
---
-stage: Create
-group: Source Code
+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/#designated-technical-writers"
type: reference, howto
---
@@ -32,6 +32,9 @@ To set up a project import/export:
Note the following:
+- Before you can import a project, you need to export the data first.
+ See [Exporting a project and its data](#exporting-a-project-and-its-data)
+ for how you can export a project through the UI.
- Imports from a newer version of GitLab are not supported.
The Importing GitLab version must be greater than or equal to the Exporting GitLab version.
- Imports will fail unless the import and export GitLab instances are
@@ -41,7 +44,7 @@ Note the following:
- Group members are exported as project members, as long as the user has
maintainer or admin access to the group where the exported project lives.
- Project members with owner access will be imported as maintainers.
-- Using an admin account to import will map users by primary email address (self-managed only).
+- Imported users can be mapped by their primary email on self-managed instances, if an administrative user (not an owner) does the import.
Otherwise, a supplementary comment is left to mention that the original author and
the MRs, notes, or issues will be owned by the importer.
- If an imported project contains merge requests originating from forks,
@@ -129,6 +132,11 @@ For more details on the specific data persisted in a project export, see the
## Exporting a project and its data
+Full project export functionality is limited to project maintainers and owners.
+You can configure such functionality through [project settings](index.md):
+
+To export a project and its data, follow these steps:
+
1. Go to your project's homepage.
1. Click **Settings** in the sidebar.
diff --git a/doc/user/project/settings/index.md b/doc/user/project/settings/index.md
index 8fdcf58b5aa..4b368fc20d6 100644
--- a/doc/user/project/settings/index.md
+++ b/doc/user/project/settings/index.md
@@ -72,6 +72,7 @@ Use the switches to enable or disable the following features:
| **Snippets** | ✓ | Enables [sharing of code and text](../../snippets.md) |
| **Pages** | ✓ | Allows you to [publish static websites](../pages/) |
| **Metrics Dashboard** | ✓ | Control access to [metrics dashboard](../integrations/prometheus.md)
+| **Requirements** | ✓ | Control access to [Requirements Management](../requirements/index.md)
Some features depend on others:
diff --git a/doc/user/project/settings/project_access_tokens.md b/doc/user/project/settings/project_access_tokens.md
index b6ce21ebea6..9f8cf2ff41a 100644
--- a/doc/user/project/settings/project_access_tokens.md
+++ b/doc/user/project/settings/project_access_tokens.md
@@ -54,7 +54,7 @@ Furthermore, the bot user can not be added to any other project.
When the project access token is [revoked](#revoking-a-project-access-token) the bot user is then deleted and all records are moved to a system-wide user with the username "Ghost User". For more information, see [Associated Records](../../profile/account/delete_account.md#associated-records).
-Project bot users are [GitLab-created service accounts](../../../subscriptions/self_managed/index.md#choose-the-number-of-users) and do not count as licensed seats.
+Project bot users are [GitLab-created service accounts](../../../subscriptions/self_managed/index.md#billable-users) and do not count as licensed seats.
## Revoking a project access token
diff --git a/doc/user/project/static_site_editor/index.md b/doc/user/project/static_site_editor/index.md
index 8a2f62ec7a2..e58667c275c 100644
--- a/doc/user/project/static_site_editor/index.md
+++ b/doc/user/project/static_site_editor/index.md
@@ -80,6 +80,7 @@ codebase.
## Edit content
> - Support for modifying the default merge request title and description [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216861) in GitLab 13.5.
+> - Support for selecting a merge request template [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/263252) in GitLab 13.6.
After setting up your project, you can start editing content directly from the Static Site Editor.
@@ -91,7 +92,9 @@ To edit a file:
wish to edit the raw Markdown instead, you can toggle the **Markdown** mode
in the bottom-right corner.
1. When you're done, click **Submit changes...**.
-1. (Optional) Adjust the default title and description of the merge request that will be submitted with your changes.
+1. (Optional) Adjust the default title and description of the merge request that will be submitted
+ with your changes. Alternatively, select a [merge request template](../../../user/project/description_templates.md#creating-merge-request-templates)
+ from the dropdown menu and edit it accordingly.
1. Click **Submit changes**.
1. A new merge request is automatically created and you can assign a colleague for review.
@@ -104,13 +107,36 @@ The Static Site Editors supports Markdown files (`.md`, `.md.erb`) for editing t
### Images
> - Support for adding images through the WYSIWYG editor [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216640) in GitLab 13.1.
+> - Support for uploading images via the WYSIWYG editor [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/218529) in GitLab 13.6.
-You can add image files on the WYSIWYG mode by clicking the image icon (**{doc-image}**).
-From there, link to a URL, add optional [ALT text](https://moz.com/learn/seo/alt-text),
-and you're done. The link can reference images already hosted in your project, an asset hosted
+#### Upload an image
+
+You can upload image files via the WYSIWYG editor directly to the repository to default upload directory
+`source/images`. To do so:
+
+1. Click the image icon (**{doc-image}**).
+1. Choose the **Upload file** tab.
+1. Click **Choose file** to select a file from your computer.
+1. Optional: add a description to the image for SEO and accessibility ([ALT text](https://moz.com/learn/seo/alt-text)).
+1. Click **Insert image**.
+
+The selected file can be any supported image file (`.png`, `.jpg`, `.jpeg`, `.gif`). The editor renders
+thumbnail previews so you can verify the correct image is included and there aren't any references to
+missing images.
+
+#### Link to an image
+
+You can also link to an image if you'd like:
+
+1. Click the image icon (**{doc-image}**).
+1. Choose the **Link to an image** tab.
+1. Add the link to the image into the **Image URL** field (use the full path; relative paths are not supported yet).
+1. Optional: add a description to the image for SEO and accessibility ([ALT text](https://moz.com/learn/seo/alt-text)).
+1. Click **Insert image**.
+
+The link can reference images already hosted in your project, an asset hosted
externally on a content delivery network, or any other external URL. The editor renders thumbnail previews
so you can verify the correct image is included and there aren't any references to missing images.
-default directory (`source/images/`).
### Videos
diff --git a/doc/user/project/web_ide/img/command_palette_v13_6.png b/doc/user/project/web_ide/img/command_palette_v13_6.png
new file mode 100644
index 00000000000..54580a79ebd
--- /dev/null
+++ b/doc/user/project/web_ide/img/command_palette_v13_6.png
Binary files differ
diff --git a/doc/user/project/web_ide/img/commit_changes_v12_9.png b/doc/user/project/web_ide/img/commit_changes_v12_9.png
index d26c9cc82e1..9a8bb214b3d 100644
--- a/doc/user/project/web_ide/img/commit_changes_v12_9.png
+++ b/doc/user/project/web_ide/img/commit_changes_v12_9.png
Binary files differ
diff --git a/doc/user/project/web_ide/img/dark_theme_v13_0.png b/doc/user/project/web_ide/img/dark_theme_v13_0.png
index f1999363904..020578a9444 100644
--- a/doc/user/project/web_ide/img/dark_theme_v13_0.png
+++ b/doc/user/project/web_ide/img/dark_theme_v13_0.png
Binary files differ
diff --git a/doc/user/project/web_ide/img/solarized_light_theme_v13_0.png b/doc/user/project/web_ide/img/solarized_light_theme_v13_0.png
index adf6d3c6b02..b4b14f1fc7f 100644
--- a/doc/user/project/web_ide/img/solarized_light_theme_v13_0.png
+++ b/doc/user/project/web_ide/img/solarized_light_theme_v13_0.png
Binary files differ
diff --git a/doc/user/project/web_ide/index.md b/doc/user/project/web_ide/index.md
index 4da9b5f88ff..2b9db1c952d 100644
--- a/doc/user/project/web_ide/index.md
+++ b/doc/user/project/web_ide/index.md
@@ -5,7 +5,7 @@ info: "To determine the technical writer assigned to the Stage/Group associated
type: reference, how-to
---
-# Web IDE
+# Web IDE **(CORE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/4539) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.4.
> - [Moved](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/44157) to GitLab Core in 10.7.
@@ -25,9 +25,25 @@ and from merge requests.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18323) in [GitLab Core](https://about.gitlab.com/pricing/) 10.8.
The file finder allows you to quickly open files in the current branch by
-searching. The file finder is launched using the keyboard shortcut `Command-p`,
-`Control-p`, or `t` (when editor is not in focus). Type the filename or
-file path fragments to start seeing results.
+searching for fragments of the file path. The file finder is launched using the keyboard shortcut
+<kbd>Cmd</kbd>+<kbd>p</kbd>, <kbd>Ctrl</kbd>+<kbd>p</kbd>, or <kbd>t</kbd>
+(when editor is not in focus). Type the filename or file path fragments to
+start seeing results.
+
+## Command palette
+
+You can see all available commands for manipulating editor content by pressing
+the <kbd>F1</kbd> key when the editor is in focus. After that,
+you'll see a complete list of available commands for
+manipulating editor content. The editor supports commands for multi-cursor
+editing, code block folding, commenting, searching and replacing, navigating
+editor warnings and suggestions, and more.
+
+Some commands have a keyboard shortcut assigned to them. The command palette
+displays this shortcut next to each command. You can use this shortcut to invoke
+the command without having to select it in the command palette.
+
+![Command palette](img/command_palette_v13_6.png)
## Syntax highlighting
@@ -244,6 +260,8 @@ quickly share your project with others.
### Enabling Live Preview
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/268288) in GitLab 12.9, third-party assets and libraries required for Live Preview are hosted at `https://sandbox-prod.gitlab-static.net` when it is enabled. However, some libraries are still served from other third-party services which may or may not be desirable in your environment.
+
The Live Preview feature needs to be enabled in the GitLab instances
admin settings. Live Preview is enabled for all projects on
GitLab.com
diff --git a/doc/user/project/wiki/img/wiki_move_page_1.png b/doc/user/project/wiki/img/wiki_move_page_1.png
deleted file mode 100644
index 189fcc9a845..00000000000
--- a/doc/user/project/wiki/img/wiki_move_page_1.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/wiki/img/wiki_move_page_2.png b/doc/user/project/wiki/img/wiki_move_page_2.png
deleted file mode 100644
index 63e6ddb29c1..00000000000
--- a/doc/user/project/wiki/img/wiki_move_page_2.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/wiki/img/wiki_sidebar_v13_5.png b/doc/user/project/wiki/img/wiki_sidebar_v13_5.png
index 0f445d61d71..f22424749a5 100644
--- a/doc/user/project/wiki/img/wiki_sidebar_v13_5.png
+++ b/doc/user/project/wiki/img/wiki_sidebar_v13_5.png
Binary files differ
diff --git a/doc/user/project/wiki/index.md b/doc/user/project/wiki/index.md
index 64608b9a915..e082e091dec 100644
--- a/doc/user/project/wiki/index.md
+++ b/doc/user/project/wiki/index.md
@@ -96,12 +96,12 @@ Please note that:
## Editing a wiki page
-NOTE: **Note:**
-Requires Developer [permissions](../../permissions.md).
+You need Developer [permissions](../../permissions.md) or higher to edit a wiki page.
+To do so:
-To edit a page, simply click on the **Edit** button. From there on, you can
-change its content. When done, click **Save changes** for the changes to take
-effect.
+1. Click the edit icon (**{pencil}**).
+1. Edit the content.
+1. Click **Save changes**.
### Adding a table of contents
@@ -110,23 +110,34 @@ For an example, see [Table of contents](../../markdown.md#table-of-contents).
## Deleting a wiki page
-NOTE: **Note:**
-Requires Maintainer [permissions](../../permissions.md).
+You need Maintainer [permissions](../../permissions.md) or higher to delete a wiki page.
+To do so:
-You can find the **Delete** button only when editing a page. Click on it and
-confirm you want the page to be deleted.
+1. Open the page you want to delete.
+1. Click the **Delete page** button.
+1. Confirm the deletion.
## Moving a wiki page
-You can move a wiki page from one directory to another by specifying the full
-path in the wiki page title in the [edit](#editing-a-wiki-page) form.
+You need Developer [permissions](../../permissions.md) or higher to move a wiki page.
+To do so:
+
+1. Click the edit icon (**{pencil}**).
+1. Add the new path to the **Title** field.
+1. Click **Save changes**.
+
+For example, if you have a wiki page called `about` under `company` and you want to
+move it to the wiki's root:
-![Moving a page](img/wiki_move_page_1.png)
+1. Click the edit icon (**{pencil}**).
+1. Change the **Title** from `about` to `/about`.
+1. Click **Save changes**.
-![After moving a page](img/wiki_move_page_2.png)
+If you want to do the opposite:
-In order to move a wiki page to the root directory, the wiki page title must
-be preceded by the slash (`/`) character.
+1. Click the edit icon (**{pencil}**).
+1. Change the **Title** from `about` to `company/about`.
+1. Click **Save changes**.
## Viewing a list of all created wiki pages