Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-04-20 13:00:54 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-04-20 13:00:54 +0300
commit3cccd102ba543e02725d247893729e5c73b38295 (patch)
treef36a04ec38517f5deaaacb5acc7d949688d1e187 /doc/user/project
parent205943281328046ef7b4528031b90fbda70c75ac (diff)
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'doc/user/project')
-rw-r--r--doc/user/project/clusters/protect/container_host_security/index.md2
-rw-r--r--doc/user/project/clusters/protect/container_host_security/quick_start_guide.md2
-rw-r--r--doc/user/project/clusters/protect/container_network_security/index.md2
-rw-r--r--doc/user/project/clusters/protect/container_network_security/quick_start_guide.md2
-rw-r--r--doc/user/project/clusters/protect/index.md2
-rw-r--r--doc/user/project/code_intelligence.md4
-rw-r--r--doc/user/project/code_owners.md9
-rw-r--r--doc/user/project/deploy_keys/img/deploy_keys_v13_0.pngbin27295 -> 0 bytes
-rw-r--r--doc/user/project/deploy_keys/index.md4
-rw-r--r--doc/user/project/deploy_tokens/index.md4
-rw-r--r--doc/user/project/img/promote_to_parent_group_workaround_v14_10.pngbin0 -> 10991 bytes
-rw-r--r--doc/user/project/import/bitbucket.md4
-rw-r--r--doc/user/project/import/bitbucket_server.md28
-rw-r--r--doc/user/project/import/github.md2
-rw-r--r--doc/user/project/import/img/gitlab_import_history_page_v14_10.pngbin0 -> 103923 bytes
-rw-r--r--doc/user/project/import/index.md24
-rw-r--r--doc/user/project/index.md16
-rw-r--r--doc/user/project/integrations/asana.md4
-rw-r--r--doc/user/project/integrations/bugzilla.md3
-rw-r--r--doc/user/project/integrations/discord_notifications.md5
-rw-r--r--doc/user/project/integrations/emails_on_push.md19
-rw-r--r--doc/user/project/integrations/ewm.md3
-rw-r--r--doc/user/project/integrations/gitlab_slack_application.md2
-rw-r--r--doc/user/project/integrations/harbor.md4
-rw-r--r--doc/user/project/integrations/img/failed_badges.pngbin46485 -> 15999 bytes
-rw-r--r--doc/user/project/integrations/img/failed_banner.pngbin17440 -> 6783 bytes
-rw-r--r--doc/user/project/integrations/img/gitlab_slack_app_landing_page.pngbin32992 -> 0 bytes
-rw-r--r--doc/user/project/integrations/irker.md5
-rw-r--r--doc/user/project/integrations/mattermost.md46
-rw-r--r--doc/user/project/integrations/overview.md10
-rw-r--r--doc/user/project/integrations/pivotal_tracker.md4
-rw-r--r--doc/user/project/integrations/prometheus.md15
-rw-r--r--doc/user/project/integrations/prometheus_library/cloudwatch.md2
-rw-r--r--doc/user/project/integrations/prometheus_library/haproxy.md2
-rw-r--r--doc/user/project/integrations/prometheus_library/index.md2
-rw-r--r--doc/user/project/integrations/prometheus_library/kubernetes.md2
-rw-r--r--doc/user/project/integrations/prometheus_library/nginx.md2
-rw-r--r--doc/user/project/integrations/prometheus_library/nginx_ingress.md2
-rw-r--r--doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md2
-rw-r--r--doc/user/project/integrations/redmine.md3
-rw-r--r--doc/user/project/integrations/slack_slash_commands.md2
-rw-r--r--doc/user/project/integrations/unify_circuit.md3
-rw-r--r--doc/user/project/integrations/webhook_events.md28
-rw-r--r--doc/user/project/integrations/webhooks.md112
-rw-r--r--doc/user/project/integrations/youtrack.md3
-rw-r--r--doc/user/project/issues/design_management.md330
-rw-r--r--doc/user/project/issues/img/adding_note_to_design_1.pngbin98647 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/adding_note_to_design_2.pngbin99057 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/confirm_design_deletion_v12_4.pngbin120256 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/delete_multiple_designs_v12_4.pngbin108361 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_added_v12_3.pngbin99155 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_comments_v12_3.pngbin94900 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_drag_and_drop_uploads_v13_2.pngbin120300 -> 32258 bytes
-rw-r--r--doc/user/project/issues/img/design_management_upload_v13.3.pngbin15001 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_management_v13_2.pngbin106442 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_management_v14_10.pngbin0 -> 139386 bytes
-rw-r--r--doc/user/project/issues/img/design_modified_v12_3.pngbin61647 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_todo_button_v13_5.pngbin79978 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/design_zooming_v12_7.pngbin221570 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/resolve_design-discussion_checkbox_v13_1.pngbin15228 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/resolve_design-discussion_icon_v13_1.pngbin11426 -> 0 bytes
-rw-r--r--doc/user/project/issues/img/select_designs_v12_4.pngbin109286 -> 0 bytes
-rw-r--r--doc/user/project/issues/issue_data_and_actions.md11
-rw-r--r--doc/user/project/issues/managing_issues.md2
-rw-r--r--doc/user/project/issues/sorting_issue_lists.md21
-rw-r--r--doc/user/project/labels.md45
-rw-r--r--doc/user/project/members/index.md9
-rw-r--r--doc/user/project/merge_requests/approvals/settings.md2
-rw-r--r--doc/user/project/merge_requests/fast_forward_merge.md7
-rw-r--r--doc/user/project/merge_requests/img/attention_request_list_v14_10.pngbin0 -> 11932 bytes
-rw-r--r--doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.pngbin0 -> 20471 bytes
-rw-r--r--doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.pngbin17903 -> 6552 bytes
-rw-r--r--doc/user/project/merge_requests/index.md47
-rw-r--r--doc/user/project/merge_requests/reviews/index.md8
-rw-r--r--doc/user/project/merge_requests/reviews/suggestions.md2
-rw-r--r--doc/user/project/merge_requests/status_checks.md3
-rw-r--r--doc/user/project/merge_requests/test_coverage_visualization.md29
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md4
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/index.md4
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md6
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md4
-rw-r--r--doc/user/project/pages/getting_started/pages_ci_cd_template.md4
-rw-r--r--doc/user/project/pages/getting_started/pages_forked_sample_project.md4
-rw-r--r--doc/user/project/pages/getting_started/pages_from_scratch.md4
-rw-r--r--doc/user/project/pages/getting_started/pages_new_project_template.md4
-rw-r--r--doc/user/project/pages/getting_started_part_one.md4
-rw-r--r--doc/user/project/pages/index.md4
-rw-r--r--doc/user/project/pages/introduction.md4
-rw-r--r--doc/user/project/pages/lets_encrypt_for_gitlab_pages.md11
-rw-r--r--doc/user/project/pages/pages_access_control.md4
-rw-r--r--doc/user/project/pages/redirects.md4
-rw-r--r--doc/user/project/protected_branches.md4
-rw-r--r--doc/user/project/push_options.md2
-rw-r--r--doc/user/project/quick_actions.md1
-rw-r--r--doc/user/project/repository/forking_workflow.md2
-rw-r--r--doc/user/project/repository/jupyter_notebooks/index.md12
-rw-r--r--doc/user/project/repository/mirror/index.md16
-rw-r--r--doc/user/project/repository/repository_mirroring.md9
-rw-r--r--doc/user/project/repository/web_editor.md7
-rw-r--r--doc/user/project/repository/x509_signed_commits/index.md2
-rw-r--r--doc/user/project/requirements/index.md2
-rw-r--r--doc/user/project/service_desk.md33
-rw-r--r--doc/user/project/settings/import_export.md29
-rw-r--r--doc/user/project/settings/index.md17
-rw-r--r--doc/user/project/settings/project_access_tokens.md17
-rw-r--r--doc/user/project/static_site_editor/index.md2
-rw-r--r--doc/user/project/web_ide/index.md2
-rw-r--r--doc/user/project/wiki/index.md8
-rw-r--r--doc/user/project/working_with_projects.md42
109 files changed, 691 insertions, 487 deletions
diff --git a/doc/user/project/clusters/protect/container_host_security/index.md b/doc/user/project/clusters/protect/container_host_security/index.md
index f6f31ee8f36..c897100f14e 100644
--- a/doc/user/project/clusters/protect/container_host_security/index.md
+++ b/doc/user/project/clusters/protect/container_host_security/index.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
Container Host Security is in its end-of-life process. It's [deprecated](https://gitlab.com/groups/gitlab-org/-/epics/7476)
-for use in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
+in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
in GitLab 15.0.
Container Host Security in GitLab provides Intrusion Detection and Prevention capabilities that can
diff --git a/doc/user/project/clusters/protect/container_host_security/quick_start_guide.md b/doc/user/project/clusters/protect/container_host_security/quick_start_guide.md
index 25e2f6ddb91..af3128e3006 100644
--- a/doc/user/project/clusters/protect/container_host_security/quick_start_guide.md
+++ b/doc/user/project/clusters/protect/container_host_security/quick_start_guide.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
Container Host Security is in its end-of-life process. It's [deprecated](https://gitlab.com/groups/gitlab-org/-/epics/7476)
-for use in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
+in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
in GitLab 15.0.
The following steps are recommended for installing Container Host Security.
diff --git a/doc/user/project/clusters/protect/container_network_security/index.md b/doc/user/project/clusters/protect/container_network_security/index.md
index eeaf7e82ef4..b294859c660 100644
--- a/doc/user/project/clusters/protect/container_network_security/index.md
+++ b/doc/user/project/clusters/protect/container_network_security/index.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
Container Network Security is in its end-of-life process. It's [deprecated](https://gitlab.com/groups/gitlab-org/-/epics/7476)
-for use in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
+in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
in GitLab 15.0.
Container Network Security in GitLab provides basic firewall functionality by leveraging Cilium
diff --git a/doc/user/project/clusters/protect/container_network_security/quick_start_guide.md b/doc/user/project/clusters/protect/container_network_security/quick_start_guide.md
index 43f4ea6c326..7671ed7eb73 100644
--- a/doc/user/project/clusters/protect/container_network_security/quick_start_guide.md
+++ b/doc/user/project/clusters/protect/container_network_security/quick_start_guide.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
Container Network Security is in its end-of-life process. It's [deprecated](https://gitlab.com/groups/gitlab-org/-/epics/7476)
-for use in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
+in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
in GitLab 15.0.
The following steps are recommended for installing Container Network Security.
diff --git a/doc/user/project/clusters/protect/index.md b/doc/user/project/clusters/protect/index.md
index 3a80132fb50..6b89f7f1557 100644
--- a/doc/user/project/clusters/protect/index.md
+++ b/doc/user/project/clusters/protect/index.md
@@ -12,7 +12,7 @@ WARNING:
The Container Network Security and Container Host Security features are in their end-of-life
processes. They're
[deprecated](https://gitlab.com/groups/gitlab-org/-/epics/7476)
-for use in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
+in GitLab 14.8, and planned for [removal](https://gitlab.com/groups/gitlab-org/-/epics/7477)
in GitLab 15.0.
GitLab makes it straightforward to protect applications deployed in [connected Kubernetes clusters](index.md).
diff --git a/doc/user/project/code_intelligence.md b/doc/user/project/code_intelligence.md
index f1071af7c1f..7f35caf2a68 100644
--- a/doc/user/project/code_intelligence.md
+++ b/doc/user/project/code_intelligence.md
@@ -48,8 +48,8 @@ After the job succeeds, code intelligence data can be viewed while browsing the
## Find references
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/217392) in GitLab 13.2.
-> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/235735) in GitLab 13.4.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/217392) in GitLab 13.2 [with a flag](../../administration/feature_flags.md) named `code_navigation_references`. Disabled by default.
+> - [Enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/225621) in GitLab 13.3. Feature flag `code_navigation_references` removed.
To find where a particular object is being used, you can see links to specific lines of code
under the **References** tab:
diff --git a/doc/user/project/code_owners.md b/doc/user/project/code_owners.md
index fefc27063a6..e37ff560080 100644
--- a/doc/user/project/code_owners.md
+++ b/doc/user/project/code_owners.md
@@ -124,8 +124,8 @@ Only one CODEOWNERS pattern can match per file path.
### Organize Code Owners by putting them into sections
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12137) in GitLab 13.2 behind a feature flag, enabled by default.
-> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42389) in GitLab 13.4.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12137) in GitLab 13.2 [with a flag](../../administration/feature_flags.md) named `sectional_codeowners`. Disabled by default.
+> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42389) in GitLab 13.4. Feature flag `sectional_codeowners` removed.
You can organize Code Owners by putting them into named sections.
@@ -254,6 +254,11 @@ README @group @group/with-nested/subgroup
# `docs/index.md` but not `docs/projects/index.md`:
/docs/* @root-docs
+# Include `/**` to specify Code Owners for all subdirectories
+# in a directory. This rule matches `docs/projects/index.md` or
+# `docs/development/index.md`
+/docs/**/*.md @root-docs
+
# This code makes matches a `lib` directory nested anywhere in the repository:
lib/ @lib-owner
diff --git a/doc/user/project/deploy_keys/img/deploy_keys_v13_0.png b/doc/user/project/deploy_keys/img/deploy_keys_v13_0.png
deleted file mode 100644
index 15e6e71803c..00000000000
--- a/doc/user/project/deploy_keys/img/deploy_keys_v13_0.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/deploy_keys/index.md b/doc/user/project/deploy_keys/index.md
index b7674be2fa0..8f1da4b278a 100644
--- a/doc/user/project/deploy_keys/index.md
+++ b/doc/user/project/deploy_keys/index.md
@@ -69,7 +69,7 @@ The deploy keys available are listed:
Prerequisites:
- You must have at least the Maintainer role for the project.
-- [Generate an SSH key pair](../../../ssh/index.md#generate-an-ssh-key-pair). Put the private SSH
+- [Generate an SSH key pair](../../ssh.md#generate-an-ssh-key-pair). Put the private SSH
key on the host that requires access to the repository.
1. On the top bar, select **Menu > Projects** and find your project.
@@ -87,7 +87,7 @@ name and permissions.
Prerequisites:
- You must have administrator access.
-- [Generate an SSH key pair](../../../ssh/index.md#generate-an-ssh-key-pair). Put the private SSH
+- [Generate an SSH key pair](../../ssh.md#generate-an-ssh-key-pair). Put the private SSH
key on the host that requires access to the repository.
To create a public deploy key:
diff --git a/doc/user/project/deploy_tokens/index.md b/doc/user/project/deploy_tokens/index.md
index 4d69209aafa..64c18ab6f3b 100644
--- a/doc/user/project/deploy_tokens/index.md
+++ b/doc/user/project/deploy_tokens/index.md
@@ -16,7 +16,9 @@ container registry images of a project without having a user and a password.
Deploy tokens can be managed only by users with the Maintainer role.
-Deploy tokens cannot be used with the GitLab API.
+Deploy tokens can't be used with the GitLab public API. However, you can use deploy tokens with some
+endpoints, such as those from the Package Registry. For details, see
+[Authenticate with the registry](../../packages/package_registry/index.md#authenticate-with-the-registry).
Deploy tokens are tied to the project and stay enabled even when the user who created the token is removed from the project.
diff --git a/doc/user/project/img/promote_to_parent_group_workaround_v14_10.png b/doc/user/project/img/promote_to_parent_group_workaround_v14_10.png
new file mode 100644
index 00000000000..ed4ac9ba234
--- /dev/null
+++ b/doc/user/project/img/promote_to_parent_group_workaround_v14_10.png
Binary files differ
diff --git a/doc/user/project/import/bitbucket.md b/doc/user/project/import/bitbucket.md
index 8c0d9fc422b..b2425686024 100644
--- a/doc/user/project/import/bitbucket.md
+++ b/doc/user/project/import/bitbucket.md
@@ -49,7 +49,7 @@ The importer will create any new namespaces (groups) if they don't exist or in
the case the namespace is taken, the repository will be imported under the user's
namespace that started the import process.
-## Requirements for user-mapped contributions
+## Requirements for user-mapped contributions
For user contributions to be mapped, each user must complete the following before the project import:
@@ -83,7 +83,7 @@ For user contributions to be mapped, each user must complete the following befor
### If you have more than one Bitbucket account
-Be sure to sign in to the correct account.
+Be sure to sign in to the correct account.
If you've accidentally started the import process with the wrong account, follow these steps:
diff --git a/doc/user/project/import/bitbucket_server.md b/doc/user/project/import/bitbucket_server.md
index 4e3642eb3bd..b6241dbbdb0 100644
--- a/doc/user/project/import/bitbucket_server.md
+++ b/doc/user/project/import/bitbucket_server.md
@@ -24,11 +24,10 @@ created as private in GitLab as well.
## Import your Bitbucket repositories
-Prerequisites:
+Prerequisite:
- An administrator must have enabled the **Bitbucket Server** in
**Admin > Settings > General > Visibility and access controls > Import sources**.
-- Review the importer's [limitations](#limitations).
To import your Bitbucket repositories:
@@ -41,24 +40,27 @@ To import your Bitbucket repositories:
1. Select the projects to import, or import all projects. You can filter projects by name and select
the namespace for which to import each project.
-## Limitations
+### Items that are not imported
-- GitLab doesn't allow comments on arbitrary lines of code. Any out-of-bounds Bitbucket comments are
- inserted as comments in the merge request.
-- Bitbucket Server allows multiple threading levels. The importer collapses this into one thread and
- quotes part of the original comment.
-- Declined pull requests have unreachable commits. This prevents the importer from generating a
- proper diff. These pull requests show up as empty changes.
-- Project filtering doesn't support fuzzy search. Only starts with or full match strings are
- supported.
-
-The following aren't imported:
+The following items aren't imported:
- Pull request approvals
- Attachments in Markdown
- Task lists
- Emoji reactions
+### Items that are imported but changed
+
+The following items are changed when they are imported:
+
+- GitLab doesn't allow comments on arbitrary lines of code. Any out-of-bounds Bitbucket comments are
+ inserted as comments in the merge request.
+- Multiple threading levels are collapsed into one thread and
+ quotes are added as part of the original comment.
+- Declined pull requests have unreachable commits. These pull requests show up as empty changes.
+- Project filtering doesn't support fuzzy search. Only **starts with** or **full match** strings are
+ supported.
+
## User assignment
When issues and pull requests are importing, the importer tries to find the author's email address
diff --git a/doc/user/project/import/github.md b/doc/user/project/import/github.md
index 9f1c049045c..329d91916e8 100644
--- a/doc/user/project/import/github.md
+++ b/doc/user/project/import/github.md
@@ -30,7 +30,7 @@ The following aspects of a project are imported:
References to pull requests and issues are preserved (GitLab.com & 8.7+), and
each imported repository maintains visibility level unless that [visibility
-level is restricted](../../../public_access/public_access.md#restrict-use-of-public-or-internal-projects),
+level is restricted](../../public_access.md#restrict-use-of-public-or-internal-projects),
in which case it defaults to the default project visibility.
The namespace is a user or group in GitLab, such as `gitlab.com/janedoe` or
diff --git a/doc/user/project/import/img/gitlab_import_history_page_v14_10.png b/doc/user/project/import/img/gitlab_import_history_page_v14_10.png
new file mode 100644
index 00000000000..c93b5ed2b27
--- /dev/null
+++ b/doc/user/project/import/img/gitlab_import_history_page_v14_10.png
Binary files differ
diff --git a/doc/user/project/import/index.md b/doc/user/project/import/index.md
index 41ef15108ec..432f043f945 100644
--- a/doc/user/project/import/index.md
+++ b/doc/user/project/import/index.md
@@ -30,6 +30,30 @@ repository is too large, the import can timeout.
You can also [connect your external repository to get CI/CD benefits](../../../ci/ci_cd_for_external_repos/index.md).
+## Project import history
+
+You can view all project imports created by you. This list includes the following:
+
+- Source (without credentials for security reasons)
+- Destination
+- Status
+- Error details if the import failed
+
+To view project import history:
+
+1. Sign in to GitLab.
+1. On the top bar, select **New** (**{plus}**).
+1. Select **New project/repository**.
+1. Select **Import project**.
+1. Select **History**.
+
+![Project import history page](img/gitlab_import_history_page_v14_10.png)
+
+The history also includes projects created from [built-in](../working_with_projects.md#create-a-project-from-a-built-in-template)
+or [custom](../working_with_projects.md#create-a-project-from-a-built-in-template)
+templates. GitLab uses [import repository by URL](repo_by_url.md)
+to create a new project from a template.
+
## 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)
diff --git a/doc/user/project/index.md b/doc/user/project/index.md
index 801c2520bda..60a4ca5c0ea 100644
--- a/doc/user/project/index.md
+++ b/doc/user/project/index.md
@@ -11,7 +11,7 @@ your codebase. You can also use projects to track issues, plan work,
collaborate on code, and continuously build, test, and use
built-in CI/CD to deploy your app.
-Projects can be available [publicly, internally, or privately](../../public_access/public_access.md).
+Projects can be available [publicly, internally, or privately](../public_access.md).
GitLab does not limit the number of private projects you can create.
## Project features
@@ -35,7 +35,7 @@ Projects include the following [features](https://about.gitlab.com/features/):
- [Deploy tokens](deploy_tokens/index.md): Manage access to the repository and Container Registry.
- [Web IDE](web_ide/index.md)
- [CVE ID Requests](../application_security/cve_id_request.md): Request a CVE identifier to track a
- vulnerability in your project. **(FREE SAAS)**
+ vulnerability in your project.
**Issues and merge requests:**
@@ -83,7 +83,7 @@ Projects include the following [features](https://about.gitlab.com/features/):
- [Kubernetes cluster integration](../infrastructure/clusters/index.md): Connect your GitLab project
with a Kubernetes cluster.
- [Feature Flags](../../operations/feature_flags.md): Ship different features
- by dynamically toggling functionality. **(PREMIUM)**
+ by dynamically toggling functionality.
- [GitLab Pages](pages/index.md): Build, test, and deploy your static
website.
@@ -92,8 +92,8 @@ Projects include the following [features](https://about.gitlab.com/features/):
- [Wiki](wiki/index.md): Document your GitLab project in an integrated Wiki.
- [Snippets](../snippets.md): Store, share and collaborate on code snippets.
- [Value Stream Analytics](../analytics/value_stream_analytics.md): Review your development lifecycle.
-- [Insights](insights/index.md): Configure the insights that matter for your projects. **(ULTIMATE)**
-- [Security Dashboard](../application_security/security_dashboard/index.md) **(ULTIMATE)**
+- [Insights](insights/index.md): Configure the insights that matter for your projects.
+- [Security Dashboard](../application_security/security_dashboard/index.md)
- [Syntax highlighting](highlighting.md): Customize
your code blocks, overriding the default language choice.
- [Badges](badges.md): Add an image to the **Project information** page.
@@ -102,9 +102,9 @@ Projects include the following [features](https://about.gitlab.com/features/):
associated with a released version of your code.
- [Package Registry](../packages/package_registry/index.md): Publish and install packages.
- [Code owners](code_owners.md): Specify code owners for specific files.
-- [License Compliance](../compliance/license_compliance/index.md): Approve and deny licenses for projects. **(ULTIMATE)**
-- [Dependency List](../application_security/dependency_list/index.md): View project dependencies. **(ULTIMATE)**
-- [Requirements](requirements/index.md): Create criteria to check your products against. **(ULTIMATE)**
+- [License Compliance](../compliance/license_compliance/index.md): Approve and deny licenses for projects.
+- [Dependency List](../application_security/dependency_list/index.md): View project dependencies.
+- [Requirements](requirements/index.md): Create criteria to check your products against.
- [Code Intelligence](code_intelligence.md): Navigate code.
## Project integrations
diff --git a/doc/user/project/integrations/asana.md b/doc/user/project/integrations/asana.md
index b4d7790df1d..a10e261f10e 100644
--- a/doc/user/project/integrations/asana.md
+++ b/doc/user/project/integrations/asana.md
@@ -32,8 +32,8 @@ In Asana, create a Personal Access Token.
Complete these steps in GitLab:
-1. Go to the project you want to configure.
-1. Go to the [Integrations page](overview.md#accessing-integrations).
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **Asana**.
1. Ensure that the **Active** toggle is enabled.
1. Paste the token you generated in Asana.
diff --git a/doc/user/project/integrations/bugzilla.md b/doc/user/project/integrations/bugzilla.md
index a54a3adc408..4a9a8d62098 100644
--- a/doc/user/project/integrations/bugzilla.md
+++ b/doc/user/project/integrations/bugzilla.md
@@ -14,7 +14,8 @@ You can configure Bugzilla as an
To enable the Bugzilla integration in a project:
-1. Go to the [Integrations page](overview.md#accessing-integrations).
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **Bugzilla**.
1. Select the checkbox under **Enable integration**.
1. Fill in the required fields:
diff --git a/doc/user/project/integrations/discord_notifications.md b/doc/user/project/integrations/discord_notifications.md
index ad7719f0e5b..b7e25b815fc 100644
--- a/doc/user/project/integrations/discord_notifications.md
+++ b/doc/user/project/integrations/discord_notifications.md
@@ -26,8 +26,9 @@ and configure it in GitLab.
With the webhook URL created in the Discord channel, you can set up the Discord Notifications service in GitLab.
-1. Navigate to the [Integrations page](overview.md#accessing-integrations) in your project's settings. That is, **Project > Settings > Integrations**.
-1. Select the **Discord Notifications** integration to configure it.
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
+1. Select **Discord Notifications**.
1. Ensure that the **Active** toggle is enabled.
1. Check the checkboxes corresponding to the GitLab events for which you want to send notifications to Discord.
1. Paste the webhook URL that you copied from the create Discord webhook step.
diff --git a/doc/user/project/integrations/emails_on_push.md b/doc/user/project/integrations/emails_on_push.md
index 33c197b962e..c1c48c7fb12 100644
--- a/doc/user/project/integrations/emails_on_push.md
+++ b/doc/user/project/integrations/emails_on_push.md
@@ -9,17 +9,18 @@ info: To determine the technical writer assigned to the Stage/Group associated w
By enabling this service, you receive email notifications for every change
that is pushed to your project.
-From the [Integrations page](overview.md#accessing-integrations)
-select **Emails on push** service to activate and configure it.
+To enable emails on push:
-In the _Recipients_ area, provide a list of emails separated by spaces or newlines.
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
+1. Select **Emails on push**.
+1. In the **Recipients** section, provide a list of emails separated by spaces or newlines.
+1. Configure the following options:
-The following options are available:
-
-- **Push events** - Email is triggered when a push event is received.
-- **Tag push events** - Email is triggered when a tag is created and pushed.
-- **Send from committer** - Send notifications from the committer's email address if the domain matches the domain used by your GitLab instance (such as `user@gitlab.com`).
-- **Disable code diffs** - Don't include possibly sensitive code diffs in notification body.
+ - **Push events** - Email is triggered when a push event is received.
+ - **Tag push events** - Email is triggered when a tag is created and pushed.
+ - **Send from committer** - Send notifications from the committer's email address if the domain matches the domain used by your GitLab instance (such as `user@gitlab.com`).
+ - **Disable code diffs** - Don't include possibly sensitive code diffs in notification body.
| Settings | Notification |
| --- | --- |
diff --git a/doc/user/project/integrations/ewm.md b/doc/user/project/integrations/ewm.md
index bc9b2d59db3..b02f1a06e96 100644
--- a/doc/user/project/integrations/ewm.md
+++ b/doc/user/project/integrations/ewm.md
@@ -14,7 +14,8 @@ This IBM product was [formerly named Rational Team Concert](https://jazz.net/blo
To enable the EWM integration, in a project:
-1. Go to the [Integrations page](overview.md#accessing-integrations).
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **EWM**.
1. Select the checkbox under **Enable integration**.
1. Fill in the required fields:
diff --git a/doc/user/project/integrations/gitlab_slack_application.md b/doc/user/project/integrations/gitlab_slack_application.md
index 7e8de776619..2dae02dc093 100644
--- a/doc/user/project/integrations/gitlab_slack_application.md
+++ b/doc/user/project/integrations/gitlab_slack_application.md
@@ -25,8 +25,6 @@ the [Slack App Directory](https://slack.com/apps).
Clicking install takes you to the [GitLab Slack application landing page](https://gitlab.com/-/profile/slack/edit)
where you can select a project to enable the GitLab Slack application for.
-![GitLab Slack application landing page](img/gitlab_slack_app_landing_page.png)
-
## Configuration
Alternatively, you can configure the Slack application with a project's
diff --git a/doc/user/project/integrations/harbor.md b/doc/user/project/integrations/harbor.md
index d66e2222538..2a1b12057aa 100644
--- a/doc/user/project/integrations/harbor.md
+++ b/doc/user/project/integrations/harbor.md
@@ -6,6 +6,8 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Harbor container registry integration **(FREE)**
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80999) in GitLab 14.9.
+
Use Harbor as the container registry for your GitLab project.
[Harbor](https://goharbor.io/) is an open source registry that can help you manage artifacts across cloud native compute platforms, like Kubernetes and Docker.
@@ -43,7 +45,7 @@ After the Harbor integration is activated:
## Secure your requests to the Harbor APIs
For each API request through the Harbor integration, the credentials for your connection to the Harbor API use
-the `username:password` combination. The following are suggestions for safe use:
+the `username:password` combination. The following are suggestions for safe use:
- Use TLS on the Harbor APIs you connect to.
- Follow the principle of least privilege (for access on Harbor) with your credentials.
diff --git a/doc/user/project/integrations/img/failed_badges.png b/doc/user/project/integrations/img/failed_badges.png
index d44415a8687..5a1f481e54c 100644
--- a/doc/user/project/integrations/img/failed_badges.png
+++ b/doc/user/project/integrations/img/failed_badges.png
Binary files differ
diff --git a/doc/user/project/integrations/img/failed_banner.png b/doc/user/project/integrations/img/failed_banner.png
index ba40c1301d6..4384ce07873 100644
--- a/doc/user/project/integrations/img/failed_banner.png
+++ b/doc/user/project/integrations/img/failed_banner.png
Binary files differ
diff --git a/doc/user/project/integrations/img/gitlab_slack_app_landing_page.png b/doc/user/project/integrations/img/gitlab_slack_app_landing_page.png
deleted file mode 100644
index 57cd35c9f5d..00000000000
--- a/doc/user/project/integrations/img/gitlab_slack_app_landing_page.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/integrations/irker.md b/doc/user/project/integrations/irker.md
index 279b139bacd..b2c2aea2c2b 100644
--- a/doc/user/project/integrations/irker.md
+++ b/doc/user/project/integrations/irker.md
@@ -39,9 +39,8 @@ network. For more details, read
## Complete these steps in GitLab
-1. On the top bar, select **Menu > Projects** and find the project you want to
- configure for notifications.
-1. Navigate to the [Integrations page](overview.md#accessing-integrations).
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **irker (IRC gateway)**.
1. Ensure that the **Active** toggle is enabled.
1. Optional. Under **Server host**, enter the server host address where `irkerd` runs. If empty,
diff --git a/doc/user/project/integrations/mattermost.md b/doc/user/project/integrations/mattermost.md
index f3f8d900e12..7dd4c1d1a8b 100644
--- a/doc/user/project/integrations/mattermost.md
+++ b/doc/user/project/integrations/mattermost.md
@@ -37,27 +37,25 @@ Display name override is not enabled by default, you need to ask your administra
## Configure GitLab to send notifications to Mattermost
After the Mattermost instance has an incoming webhook set up, you can set up GitLab
-to send the notifications.
-
-Navigate to the [Integrations page](overview.md#accessing-integrations)
-and select the **Mattermost notifications** service. Select the GitLab events
-you want to generate notifications for.
-
-For each event you select, input the Mattermost channel you want to receive the
-notification. You do not need to add the hash sign (`#`).
-
-Then fill in the integration configuration:
-
-- **Webhook**: The incoming webhook URL on Mattermost, similar to
- `http://mattermost.example/hooks/5xo…`.
-- **Username**: Optional. The username shown in messages sent to Mattermost.
- To change the bot's username, provide a value.
-- **Notify only broken pipelines**: If you enable the **Pipeline** event, and you want
- notifications about failed pipelines only.
-- **Branches for which notifications are to be sent**: The branches to send notifications for.
-- **Labels to be notified**: Optional. Labels required for the issue or merge request
- to trigger a notification. Leave blank to notify for all issues and merge requests.
-- **Labels to be notified behavior**: When you use the **Labels to be notified** filter,
- messages are sent when an issue or merge request contains _any_ of the labels specified
- in the filter. You can also choose to trigger messages only when the issue or merge request
- contains _all_ the labels defined in the filter.
+to send the notifications:
+
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
+1. Select **Mattermost notifications**.
+1. Select the GitLab events to generate notifications for. For each event you select, input the Mattermost channel
+ to receive the notification. You do not need to add the hash sign (`#`).
+1. Fill in the integration configuration:
+
+ - **Webhook**: The incoming webhook URL on Mattermost, similar to
+ `http://mattermost.example/hooks/5xo…`.
+ - **Username**: Optional. The username shown in messages sent to Mattermost.
+ To change the bot's username, provide a value.
+ - **Notify only broken pipelines**: If you enable the **Pipeline** event, and you want
+ notifications about failed pipelines only.
+ - **Branches for which notifications are to be sent**: The branches to send notifications for.
+ - **Labels to be notified**: Optional. Labels required for the issue or merge request
+ to trigger a notification. Leave blank to notify for all issues and merge requests.
+ - **Labels to be notified behavior**: When you use the **Labels to be notified** filter,
+ messages are sent when an issue or merge request contains _any_ of the labels specified
+ in the filter. You can also choose to trigger messages only when the issue or merge request
+ contains _all_ the labels defined in the filter.
diff --git a/doc/user/project/integrations/overview.md b/doc/user/project/integrations/overview.md
index 2cb62b8924e..081780e6277 100644
--- a/doc/user/project/integrations/overview.md
+++ b/doc/user/project/integrations/overview.md
@@ -22,9 +22,9 @@ want to configure.
## Integrations listing
-Click on the service links to see further configuration instructions and details.
+Click on the integration links to see further configuration instructions and details.
-| Service | Description | Service hooks |
+| Integration | Description | Integration hooks |
| --------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------- |
| [Asana](asana.md) | Add commit messages as comments to Asana tasks. | **{dotted-circle}** No |
| Assembla | Manage projects. | **{dotted-circle}** No |
@@ -69,7 +69,7 @@ Click on the service links to see further configuration instructions and details
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17874) in GitLab 12.4.
-If a single push includes changes to more than three branches or tags, services
+If a single push includes changes to more than three branches or tags, integrations
supported by `push_hooks` and `tag_push_hooks` events aren't executed.
The number of branches or tags supported can be changed via
@@ -89,12 +89,12 @@ By default, the SSL certificate for outgoing HTTP requests is verified based on
an internal list of Certificate Authorities. This means the certificate cannot
be self-signed.
-You can turn off SSL verification in the configuration settings for [webhooks](webhooks.md#configure-a-webhook)
+You can turn off SSL verification in the configuration settings for [webhooks](webhooks.md#configure-a-webhook-in-gitlab)
and some integrations.
## Troubleshooting integrations
-Some integrations use service hooks for integration with external applications. To confirm which ones use service hooks, see the [integrations listing](#integrations-listing) above. Learn more about [troubleshooting service hooks](webhooks.md#troubleshoot-webhooks).
+Some integrations use hooks for integration with external applications. To confirm which ones use integration hooks, see the [integrations listing](#integrations-listing) above. Learn more about [troubleshooting integration hooks](webhooks.md#troubleshoot-webhooks).
### Uninitialized repositories
diff --git a/doc/user/project/integrations/pivotal_tracker.md b/doc/user/project/integrations/pivotal_tracker.md
index 8b17f4afaa8..7f5414b86de 100644
--- a/doc/user/project/integrations/pivotal_tracker.md
+++ b/doc/user/project/integrations/pivotal_tracker.md
@@ -37,8 +37,8 @@ In Pivotal Tracker, [create an API token](https://www.pivotaltracker.com/help/ar
Complete these steps in GitLab:
-1. Go to the project you want to configure.
-1. Go to the [Integrations page](overview.md#accessing-integrations).
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **Pivotal Tracker**.
1. Ensure that the **Active** toggle is enabled.
1. Paste the token you generated in Pivotal Tracker.
diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md
index 760b5030416..068a2810a53 100644
--- a/doc/user/project/integrations/prometheus.md
+++ b/doc/user/project/integrations/prometheus.md
@@ -62,9 +62,9 @@ GitLab can use these to access the resource. More information about authenticati
service account can be found at Google's documentation for
[Authenticating from a service account](https://cloud.google.com/iap/docs/authentication-howto#authenticating_from_a_service_account).
-1. Navigate to the [Integrations page](overview.md#accessing-integrations) at
- **Settings > Integrations**.
-1. Click the **Prometheus** service.
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
+1. Select **Prometheus**.
1. For **API URL**, provide the domain name or IP address of your server, such as
`http://prometheus.example.com/` or `http://192.0.2.1/`.
1. (Optional) In **Google IAP Audience Client ID**, provide the Client ID of the
@@ -73,7 +73,7 @@ service account can be found at Google's documentation for
Service Account credentials file that is authorized to access the Prometheus resource.
The JSON key `token_credential_uri` is discarded to prevent
[Server-side Request Forgery (SSRF)](https://www.hackerone.com/application-security/how-server-side-request-forgery-ssrf).
-1. Click **Save changes**.
+1. Select **Save changes**.
![Configure Prometheus Service](img/prometheus_manual_configuration_v13_2.png)
@@ -83,11 +83,12 @@ You can configure [Thanos](https://thanos.io/) as a drop-in replacement for Prom
with GitLab. Use the domain name or IP address of the Thanos server you'd like
to integrate with.
-1. Navigate to the [Integrations page](overview.md#accessing-integrations).
-1. Click the **Prometheus** service.
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
+1. Select **Prometheus**.
1. Provide the domain name or IP address of your server, for example
`http://thanos.example.com/` or `http://192.0.2.1/`.
-1. Click **Save changes**.
+1. Select **Save changes**.
### Precedence with multiple Prometheus configurations
diff --git a/doc/user/project/integrations/prometheus_library/cloudwatch.md b/doc/user/project/integrations/prometheus_library/cloudwatch.md
index e8d611af30d..08488c33ac7 100644
--- a/doc/user/project/integrations/prometheus_library/cloudwatch.md
+++ b/doc/user/project/integrations/prometheus_library/cloudwatch.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
-for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
+in GitLab 14.7, and is planned for removal in GitLab 16.0.
GitLab supports automatically detecting and monitoring AWS resources, starting
with the [Elastic Load Balancer](https://aws.amazon.com/elasticloadbalancing/) (ELB).
diff --git a/doc/user/project/integrations/prometheus_library/haproxy.md b/doc/user/project/integrations/prometheus_library/haproxy.md
index 76d13d5487c..ad2cb2681b9 100644
--- a/doc/user/project/integrations/prometheus_library/haproxy.md
+++ b/doc/user/project/integrations/prometheus_library/haproxy.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
-for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
+in GitLab 14.7, and is planned for removal in GitLab 16.0.
GitLab has support for automatically detecting and monitoring HAProxy. This is provided by leveraging the [HAProxy Exporter](https://github.com/prometheus/haproxy_exporter), which translates HAProxy statistics into a Prometheus readable form.
diff --git a/doc/user/project/integrations/prometheus_library/index.md b/doc/user/project/integrations/prometheus_library/index.md
index 9bdd4945f5d..aba14e1f3e9 100644
--- a/doc/user/project/integrations/prometheus_library/index.md
+++ b/doc/user/project/integrations/prometheus_library/index.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
-for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
+in GitLab 14.7, and is planned for removal in GitLab 16.0.
GitLab offers automatic detection of select [Prometheus exporters](https://prometheus.io/docs/instrumenting/exporters/).
diff --git a/doc/user/project/integrations/prometheus_library/kubernetes.md b/doc/user/project/integrations/prometheus_library/kubernetes.md
index 33a06958e0c..9a9880a0cb6 100644
--- a/doc/user/project/integrations/prometheus_library/kubernetes.md
+++ b/doc/user/project/integrations/prometheus_library/kubernetes.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
-for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
+in GitLab 14.7, and is planned for removal in GitLab 16.0.
GitLab has support for automatically detecting and monitoring Kubernetes metrics.
diff --git a/doc/user/project/integrations/prometheus_library/nginx.md b/doc/user/project/integrations/prometheus_library/nginx.md
index ecf75d7b17a..2825066b8b0 100644
--- a/doc/user/project/integrations/prometheus_library/nginx.md
+++ b/doc/user/project/integrations/prometheus_library/nginx.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
-for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
+in GitLab 14.7, and is planned for removal in GitLab 16.0.
GitLab has support for automatically detecting and monitoring NGINX. This is provided by leveraging the [NGINX VTS exporter](https://github.com/hnlq715/nginx-vts-exporter), which translates [VTS statistics](https://github.com/vozlt/nginx-module-vts) into a Prometheus readable form.
diff --git a/doc/user/project/integrations/prometheus_library/nginx_ingress.md b/doc/user/project/integrations/prometheus_library/nginx_ingress.md
index e123000e0c5..6e751b907eb 100644
--- a/doc/user/project/integrations/prometheus_library/nginx_ingress.md
+++ b/doc/user/project/integrations/prometheus_library/nginx_ingress.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
-for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
+in GitLab 14.7, and is planned for removal in GitLab 16.0.
GitLab has support for automatically detecting and monitoring the Kubernetes NGINX Ingress controller. This is provided by leveraging the built-in Prometheus metrics included with Kubernetes NGINX Ingress controller [version 0.16.0](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0160) onward.
diff --git a/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md b/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md
index fda7744e847..e1eee649f0a 100644
--- a/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md
+++ b/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
-for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
+in GitLab 14.7, and is planned for removal in GitLab 16.0.
NOTE:
[NGINX Ingress version 0.16](nginx_ingress.md) and above have built-in Prometheus metrics, which are different than the VTS based metrics.
diff --git a/doc/user/project/integrations/redmine.md b/doc/user/project/integrations/redmine.md
index 05d7c31a288..bcab8d05f69 100644
--- a/doc/user/project/integrations/redmine.md
+++ b/doc/user/project/integrations/redmine.md
@@ -10,7 +10,8 @@ Use [Redmine](https://www.redmine.org/) as the issue tracker.
To enable the Redmine integration in a project:
-1. Go to the [Integrations page](overview.md#accessing-integrations).
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **Redmine**.
1. Select the checkbox under **Enable integration**.
1. Fill in the required fields:
diff --git a/doc/user/project/integrations/slack_slash_commands.md b/doc/user/project/integrations/slack_slash_commands.md
index cddb72a83b2..5ad344a7d8e 100644
--- a/doc/user/project/integrations/slack_slash_commands.md
+++ b/doc/user/project/integrations/slack_slash_commands.md
@@ -18,7 +18,7 @@ For GitLab.com, use the [GitLab Slack app](gitlab_slack_application.md) instead.
## Configure GitLab and Slack
-Slack slash command [integrations](overview.md#accessing-integrations)
+Slack slash command integrations
are scoped to a project.
1. In GitLab, on the top bar, select **Menu > Projects** and find your project.
diff --git a/doc/user/project/integrations/unify_circuit.md b/doc/user/project/integrations/unify_circuit.md
index daab24a8ab9..1e607d89e80 100644
--- a/doc/user/project/integrations/unify_circuit.md
+++ b/doc/user/project/integrations/unify_circuit.md
@@ -15,7 +15,8 @@ copy its URL.
In GitLab:
-1. Go to the [Integrations page](overview.md#accessing-integrations) in your project's settings.
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **Unify Circuit**.
1. Turn on the **Active** toggle.
1. Select the checkboxes corresponding to the GitLab events you want to receive in Unify Circuit.
diff --git a/doc/user/project/integrations/webhook_events.md b/doc/user/project/integrations/webhook_events.md
index d37196ec114..2bf6b4bbe01 100644
--- a/doc/user/project/integrations/webhook_events.md
+++ b/doc/user/project/integrations/webhook_events.md
@@ -203,7 +203,7 @@ The `assignee` and `assignee_id` keys are deprecated
and contain the first assignee only.
The `escalation_status` and `escalation_policy` fields are
-only available for issue types which support escalations,
+only available for issue types which [support escalations](../../../operations/incident_management/paging.md#paging),
such as incidents.
Request header:
@@ -538,6 +538,32 @@ Payload example:
"iid": 1,
"description": "Et voluptas corrupti assumenda temporibus. Architecto cum animi eveniet amet asperiores. Vitae numquam voluptate est natus sit et ad id.",
"position": 0,
+ "labels": [
+ {
+ "id": 25,
+ "title": "Afterpod",
+ "color": "#3e8068",
+ "project_id": null,
+ "created_at": "2019-06-05T14:32:20.211Z",
+ "updated_at": "2019-06-05T14:32:20.211Z",
+ "template": false,
+ "description": null,
+ "type": "GroupLabel",
+ "group_id": 4
+ },
+ {
+ "id": 86,
+ "title": "Element",
+ "color": "#231afe",
+ "project_id": 4,
+ "created_at": "2019-06-05T14:32:20.637Z",
+ "updated_at": "2019-06-05T14:32:20.637Z",
+ "template": false,
+ "description": null,
+ "type": "ProjectLabel",
+ "group_id": null
+ }
+ ],
"source":{
"name":"Gitlab Test",
"description":"Aut reprehenderit ut est.",
diff --git a/doc/user/project/integrations/webhooks.md b/doc/user/project/integrations/webhooks.md
index e823391401d..f4f5b3f545b 100644
--- a/doc/user/project/integrations/webhooks.md
+++ b/doc/user/project/integrations/webhooks.md
@@ -48,7 +48,7 @@ specific to a group, including:
- [Group member events](webhook_events.md#group-member-events)
- [Subgroup events](webhook_events.md#subgroup-events)
-## Configure a webhook
+## Configure a webhook in GitLab
You can configure a webhook for a group or a project.
@@ -60,6 +60,72 @@ You can configure a webhook for a group or a project.
1. Optional. Clear the **Enable SSL verification** checkbox to disable [SSL verification](overview.md#ssl-verification).
1. Select **Add webhook**.
+## Configure your webhook receiver endpoint
+
+Webhook receivers should be *fast* and *stable*.
+Slow and unstable receivers may be disabled temporarily to ensure system reliability.
+If you are writing your own endpoint (web server) to receive GitLab webhooks, keep in mind the following:
+
+- Your endpoint should send its HTTP response as fast as possible.
+ You should aim for sub-second response times in all circumstances.
+ If the response takes longer than the configured timeout, GitLab assumes the
+ hook failed, which can lead to retries and potentially cause duplicate
+ events.
+ To customize the timeout, see
+ [Webhook fails or multiple webhook requests are triggered](#webhook-fails-or-multiple-webhook-requests-are-triggered).
+- Your endpoint should ALWAYS return a valid HTTP response. If not,
+ GitLab assumes the hook failed and retries it.
+ Most HTTP libraries take care of the response for you automatically but if
+ you are writing a low-level hook, this is important to remember.
+- GitLab usually ignores the HTTP status code returned by your endpoint,
+ unless the [`web_hooks_disable_failed` feature flag is set](#failing-webhooks).
+
+Best practices for a webhook receiver:
+
+- Prefer to return `200` or `201` status responses.
+ Only return error statuses (in the `4xx` range) to
+ indicate that the webhook has been misconfigured. For example, if your receiver
+ only supports push events, it is acceptable to return `400` if sent an issue
+ payload, since that is an indication that the hook has been set up
+ incorrectly. Alternatively, it is acceptable to ignore unrecognized event
+ payloads. Never return `500` status responses if the event has been handled.
+- Your service should be idempotent. In some circumstances (including
+ timeouts), the same event may be sent twice. Be prepared to handle duplicate
+ events. You can reduce the chances of this by ensuring that your endpoint is
+ reliably fast and stable.
+- Keep response payloads as short as possible. Empty responses are
+ fine. GitLab does not examine the response body, and it is only
+ stored so you can examine it later in the logs.
+- Limit the number and size of response headers. Only send headers that would
+ help you diagnose problems when examining the web hook logs.
+- To support fast response times, perform I/O or computationally intensive
+ operations asynchronously. You may indicate that the webhook is
+ asynchronous by returning `201`.
+
+### Failing webhooks
+
+> - Introduced in GitLab 13.12 [with a flag](../../../administration/feature_flags.md) named `web_hooks_disable_failed`. Disabled by default.
+> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/329849) in GitLab 14.9.
+
+FLAG:
+On self-managed GitLab, by default this feature is not available. To make it available,
+ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `web_hooks_disable_failed`.
+The feature is not ready for production use.
+
+If a webhook fails repeatedly, it may be disabled automatically.
+
+Webhooks that return response codes in the `5xx` range are understood to be failing
+intermittently, and are temporarily disabled. This lasts initially
+for 10 minutes. If the hook continues to fail, the back-off period is
+extended on each retry, up to a maximum disabled period of 24 hours.
+
+Webhooks that return failure codes in the `4xx` range are understood to be
+misconfigured, and these are disabled until you manually re-enable
+them. These webhooks are not automatically retried.
+
+See [troubleshooting](#troubleshoot-webhooks) for information on
+how to see if a webhook is disabled, and how to re-enable it.
+
## Test a webhook
You can trigger a webhook manually, to ensure it's working properly. You can also send
@@ -131,47 +197,7 @@ that the request is legitimate.
Push events can be filtered by branch using a branch name or wildcard pattern
to limit which push events are sent to your webhook endpoint. By default,
all push events are sent to your webhook endpoint. You can configure branch filtering
-in the [webhook settings](#configure-a-webhook) in your project.
-
-## HTTP responses for your endpoint
-
-If you are writing your own endpoint (web server) to receive
-GitLab webhooks, keep in mind the following:
-
-- Your endpoint should send its HTTP response as fast as possible. If the response
- takes longer than the configured timeout, GitLab assumes the hook failed and retries it.
- To customize the timeout, see
- [Webhook fails or multiple webhook requests are triggered](#webhook-fails-or-multiple-webhook-requests-are-triggered).
-- Your endpoint should ALWAYS return a valid HTTP response. If not,
- GitLab assumes the hook failed and retries it.
- Most HTTP libraries take care of the response for you automatically but if
- you are writing a low-level hook, this is important to remember.
-- GitLab usually ignores the HTTP status code returned by your endpoint,
- unless the [`web_hooks_disable_failed` feature flag is set](#failing-webhooks).
-
-### Failing webhooks
-
-> - Introduced in GitLab 13.12 [with a flag](../../../administration/feature_flags.md) named `web_hooks_disable_failed`. Disabled by default.
-> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/329849) in GitLab 14.9.
-
-FLAG:
-On self-managed GitLab, by default this feature is not available. To make it available,
-ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `web_hooks_disable_failed`.
-The feature is not ready for production use.
-
-If a webhook fails repeatedly, it may be disabled automatically.
-
-Webhooks that return response codes in the `5xx` range are understood to be failing
-intermittently, and are temporarily disabled. This lasts initially
-for 10 minutes. If the hook continues to fail, the back-off period is
-extended on each retry, up to a maximum disabled period of 24 hours.
-
-Webhooks that return failure codes in the `4xx` range are understood to be
-misconfigured, and these are disabled until you manually re-enable
-them. These webhooks are not automatically retried.
-
-See [troubleshooting](#troubleshoot-webhooks) for information on
-how to see if a webhook is disabled, and how to re-enable it.
+in the [webhook settings](#configure-a-webhook-in-gitlab) in your project.
## How image URLs are displayed in the webhook body
@@ -220,7 +246,7 @@ To view the table:
- **Fails to connect** if it is temporarily disabled and will retry later.
![Badges on failing webhooks](img/failed_badges.png)
-
+
1. Select **Edit** for the webhook you want to view.
The table includes the following details about each request:
diff --git a/doc/user/project/integrations/youtrack.md b/doc/user/project/integrations/youtrack.md
index eda0874ac08..6c70a5e679b 100644
--- a/doc/user/project/integrations/youtrack.md
+++ b/doc/user/project/integrations/youtrack.md
@@ -14,7 +14,8 @@ You can configure YouTrack as an
To enable the YouTrack integration in a project:
-1. Go to the [Integrations page](overview.md#accessing-integrations).
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Integrations**.
1. Select **YouTrack**.
1. Select the checkbox under **Enable integration**.
1. Fill in the required fields:
diff --git a/doc/user/project/issues/design_management.md b/doc/user/project/issues/design_management.md
index e7bb5ad4eeb..e5dde0ed451 100644
--- a/doc/user/project/issues/design_management.md
+++ b/doc/user/project/issues/design_management.md
@@ -9,259 +9,265 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/660) in GitLab 12.2.
> - Support for SVGs [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12771) in GitLab 12.4.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212566) from GitLab Premium to GitLab Free in 13.0.
+> - Design Management section in issues [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/223193) in GitLab 13.2, with a feature flag named `design_management_moved`. In earlier versions, designs were displayed in a separate tab.
+> - Design Management section in issues [feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/223197) for new displays in GitLab 13.4.
-Design Management allows you to upload design assets (including wireframes and mockups)
-to GitLab issues and keep them stored in a single place, accessed by the Design
-Management's page within an issue, giving product designers, product managers, and engineers a
-way to collaborate on designs over a single source of truth.
+With Design Management you can upload design assets (including wireframes and mockups)
+to GitLab issues and keep them stored in a single place. Product designers, product managers, and
+engineers can collaborate on designs with a single source of truth.
-You can share mock-ups of designs with your team, or visual regressions can be
+You can share mockups of designs with your team, or visual regressions can be
viewed and addressed.
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
-For an overview, see the video [Design Management (GitLab 12.2)](https://www.youtube.com/watch?v=CCMtCqdK_aM).
+For a video overview, see [Design Management (GitLab 12.2)](https://www.youtube.com/watch?v=CCMtCqdK_aM).
## Requirements
-Design Management requires
-[Large File Storage (LFS)](../../../topics/git/lfs/index.md)
-to be enabled:
+- [Git Large File Storage (LFS)](../../../topics/git/lfs/index.md) must be enabled:
+ - On GitLab.com, LFS is already enabled.
+ - On self-managed instances, a GitLab administrator must
+ [enable LFS globally](../../../administration/lfs/index.md).
+ - On both GitLab.com and self-managed instances, LFS must be
+ [enabled for the project itself](../settings/index.md#sharing-and-permissions).
+ If enabled globally, LFS is enabled by default for all projects. If you have
+ disabled it for your project, you must enable it again.
-- For GitLab.com, LFS is already enabled.
-- For self-managed instances, a GitLab administrator must have
- [enabled LFS globally](../../../administration/lfs/index.md).
-- For both GitLab.com and self-managed instances: LFS must be enabled for the project itself.
- If enabled globally, LFS is enabled by default to all projects. To enable LFS on the
- project level, navigate to your project's **Settings > General**, expand **Visibility, project features, permissions**
- and enable **Git Large File Storage**.
+ Designs are stored as LFS objects.
+ Image thumbnails are stored as other uploads, and are not associated with a project but rather
+ with a specific design model.
-Design Management also requires that projects are using
-[hashed storage](../../../administration/raketasks/storage.md#migrate-to-hashed-storage).
-Newly created projects use hashed storage by default. A GitLab administrator
-can verify the storage type of a project by going to **Admin Area > Projects**
-and then selecting the project in question. A project can be identified as
-hashed-stored if its *Gitaly relative path* contains `@hashed`.
+- Projects must use
+ [hashed storage](../../../administration/raketasks/storage.md#migrate-to-hashed-storage).
-If the requirements are not met, the **Designs** tab displays a message to the user.
+ Newly created projects use hashed storage by default.
-## Supported files
+ A GitLab administrator can verify the storage type of a project by going to **Admin Area > Projects**
+ and then selecting the project in question. A project can be identified as
+ hashed-stored if its **Gitaly relative path** contains `@hashed`.
-Files uploaded must have a file extension of either `png`, `jpg`, `jpeg`,
-`gif`, `bmp`, `tiff`, `ico`, `webp`, or `svg`.
+If the requirements are not met, you are notified in the **Designs** section.
-Support for PDF is tracked [in this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/32811).
+## Supported file types
-## Limitations
+You can upload files of the following types as designs:
-- Design uploads are limited to 10 files at a time.
-- From GitLab 13.1, Design filenames are limited to 255 characters.
-- Design Management data
- [isn't deleted when a project is destroyed](https://gitlab.com/gitlab-org/gitlab/-/issues/13429) yet.
-- Design Management data [isn't deleted](https://gitlab.com/gitlab-org/gitlab/-/issues/13427)
- when an issue is deleted.
-- From GitLab 12.7, Design Management data [can be replicated](../../../administration/geo/replication/datatypes.md#limitations-on-replicationverification)
+- BMP
+- GIF
+- ICO
+- JPEG
+- JPG
+- PNG
+- SVG
+- TIFF
+- WEBP
+
+Support for PDF files is tracked in [issue 32811](https://gitlab.com/gitlab-org/gitlab/-/issues/32811).
+
+## Known issues
+
+- Design Management data isn't deleted when:
+ - [A project is destroyed](https://gitlab.com/gitlab-org/gitlab/-/issues/13429).
+ - [An issue is deleted](https://gitlab.com/gitlab-org/gitlab/-/issues/13427).
+- In GitLab 12.7 and later, Design Management data [can be replicated](../../../administration/geo/replication/datatypes.md#limitations-on-replicationverification)
by Geo but [not verified](https://gitlab.com/gitlab-org/gitlab/-/issues/32467).
-- Only the latest version of the designs can be deleted.
-- Deleted designs cannot be recovered but you can see them on previous designs versions.
-## GitLab-Figma plugin
+## View a design
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-figma-plugin/-/issues/2) in GitLab 13.2.
+The **Designs** section is in the issue description.
+
+Prerequisites:
+
+- You must have at least the Guest role for the project.
+
+To view a design:
+
+1. Go to an issue.
+1. In the **Designs** section, select the design image you want to view.
+
+The design you selected opens. You can then [zoom in](#zoom-in-on-a-design) on it or
+[create a comment](#add-a-comment-to-a-design).
-Connect your design environment with your source code management in a seamless workflow. The GitLab-Figma plugin makes it quick and easy to collaborate in GitLab by bringing the work of product designers directly from Figma to GitLab Issues as uploaded Designs.
+![Designs section](img/design_management_v14_10.png)
-To use the plugin, install it from the [Figma Directory](https://www.figma.com/community/plugin/860845891704482356)
-and connect to GitLab through a personal access token. The details are explained in the [plugin documentation](https://gitlab.com/gitlab-org/gitlab-figma-plugin/-/wikis/home).
+When viewing a design, you can move to other designs. To do so, either:
-## The Design Management section
+- In the top-right corner, select **Go to previous design** (**{angle-left}**) or **Go to next design** (**{angle-right}**).
+- Press <kbd>Left</kbd> or <kbd>Right</kbd> on your keyboard.
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/223193) in GitLab 13.2. Designs are displayed directly in the issue description instead of a separate tab.
-> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/223197) for new displays in GitLab 13.4.
+To return to the issue view, either:
-You can find to the **Design Management** section in the issue description:
+- In the top-left corner, select the close icon (**{close}**).
+- Press <kbd>Esc</kbd> on your keyboard.
-![Designs section](img/design_management_v13_2.png)
+When a design is added, a green icon (**{plus-square}**) is displayed on the image
+thumbnail. When a design has been [changed](#add-a-new-version-of-a-design) in the current version,
+a blue icon (**{file-modified-solid}**) is displayed.
-## Adding designs
+### Zoom in on a design
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13217) in GitLab 12.7.
+> - Ability to drag a zoomed image to move it [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/197324) in GitLab 12.10.
+
+You can explore a design in more detail by zooming in and out of the image:
+
+- To control the amount of zoom, select plus (`+`) and minus (`-`)
+ at the bottom of the image.
+- To reset the zoom level, select the redo icon (**{redo}**).
+
+To move around the image while zoomed in, drag the image.
+
+## Add a design to an issue
> - Drag and drop uploads [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34353) in GitLab 12.9.
> - New version creation on upload [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34353) in GitLab 12.9.
> - Copy and paste uploads [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/202634) in GitLab 12.10.
-> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212566) from GitLab Premium to GitLab Free in 13.0.
-To upload Design images, drag files from your computer and drop them in the Design Management section,
-or select **click to upload** to select images from your file browser:
+Prerequisites:
-![Designs empty state](img/design_management_upload_v13.3.png)
+- You must have at least the Developer role for the project.
+- In GitLab 13.1 and later, the names of the uploaded files must be no longer than 255 characters.
-You can drag and drop designs onto the dedicated drop zone to upload them.
+To add a design to an issue:
-![Drag and drop design uploads](img/design_drag_and_drop_uploads_v13_2.png)
+1. Go to an issue.
+1. Either:
+ - Select **Upload designs** and then select images from your file browser. You can select up to
+ 10 files at once.
+ <!-- vale gitlab.SubstitutionWarning = NO -->
+ - Select **click to upload** and then select images from your file browser. You can select up to
+ 10 files at once.
+ <!-- vale gitlab.SubstitutionWarning = YES -->
-You can also copy images from your file system and paste them directly on the
-GitLab Design page as a new design.
+ - Drag a file from your file browser and drop it in the drop zone in the **Designs** section.
-On macOS, you can take a screenshot and immediately copy it to the clipboard
-by simultaneously pressing <kbd>Control</kbd> + <kbd>Command</kbd> + <kbd>Shift</kbd> + <kbd>3</kbd>,
-and then paste it as a design.
+ ![Drag and drop design uploads](img/design_drag_and_drop_uploads_v13_2.png)
-Copy-and-pasting has some limitations:
+ - Take a screenshot or copy a local image file into your clipboard, hover your cursor over the
+ drop zone, and press <kbd>Control</kbd> or <kbd>Cmd</kbd> + <kbd>V</kbd>.
-- You can paste only one image at a time. When copy/pasting multiple files, only the first one is uploaded.
-- All images are converted to `png` format under the hood, so when you want to copy/paste `gif` file, it results in broken animation.
-- If you are pasting a screenshot from the clipboard, it is renamed to `design_<timestamp>.png`
-- Copy/pasting designs is not supported on Internet Explorer.
+ When pasting images like this, keep the following in mind:
-Designs with the same filename as an existing uploaded design create a new version
-of the design, and replaces the previous version. Dropping a design on an
-existing uploaded design creates a new version if the filenames are the same.
-
-### Skipped designs
+ - You can paste only one image at a time. When you paste multiple copied files, only the first
+ one is uploaded.
+ - If you are pasting a screenshot, the image is added as a PNG file with a generated name of:
+ `design_<timestamp>.png`.
+ - It's not supported in Internet Explorer.
-Designs with the same filename as an existing uploaded design _and_ whose content has not changed are skipped.
-This means that no new version of the design is created. When designs are skipped, you are made aware by a warning
-message on the Issue.
+## Add a new version of a design
-## Viewing designs
+As discussion on a design continues, you might want to upload a new version of a design.
-Images on the Design Management page can be enlarged by selecting them.
-You can navigate through designs by selecting the navigation buttons on the
-top-right corner or with <kbd>Left</kbd>/<kbd>Right</kbd> keyboard buttons.
+Prerequisites:
-The number of discussions on a design — if any — is listed to the right
-of the design filename. Selecting this number enlarges the design,
-similar to clicking or tapping anywhere else in the design.
-When a design is added or modified, an icon is displayed on the item
-to help summarize changes between versions.
+- You must have at least the Developer role for the project.
-| Indicator | Example |
-| --------- | ------- |
-| Discussions | ![Discussions Icon](img/design_comments_v12_3.png) |
-| Modified (in the selected version) | ![Design Modified](img/design_modified_v12_3.png) |
-| Added (in the selected version) | ![Design Added](img/design_added_v12_3.png) |
+To do so, [add a design](#add-a-design-to-an-issue) with the same filename.
-### Exploring designs by zooming
+To browse all the design versions, use the dropdown list at the top of the **Designs** section.
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13217) in GitLab 12.7.
-> - Ability to drag a zoomed image to move it [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/197324) in GitLab 12.10.
-> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212566) from GitLab Premium to GitLab Free in 13.0.
-
-Designs can be explored in greater detail by zooming in and out of the image.
-Control the amount of zoom with the `+` and `-` buttons at the bottom of the image.
-While zoomed, you can still [start new discussions](#starting-discussions-on-designs) on the image, and see any existing ones.
-While zoomed in, you can drag the image to move around it.
+### Skipped designs
-![Design zooming](img/design_zooming_v12_7.png)
+When you upload an image with the same filename as an existing uploaded design _and_ that is the
+same, it's skipped. This means that no new version of the design is created.
+When designs are skipped, a warning message is displayed.
-## Deleting designs
+## Archive a design
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11089) in GitLab 12.4.
-> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212566) from GitLab Premium to GitLab Free in 13.0.
+> - [Renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/220964) the button from "Delete" to "Archive" in GitLab 13.3.
-There are two ways to delete designs: manually delete them
-individually, or select a few of them to delete at once,
-as shown below.
+You can archive individual designs or select a few of them to archive at once.
-To delete a single design, select it to view it enlarged,
-then select the trash icon on the top right corner and confirm
-the deletion by selecting **Delete** in the window:
+Prerequisites:
-![Confirm design deletion](img/confirm_design_deletion_v12_4.png)
+- You must have at least the Developer role for the project.
-To delete multiple designs at once, on the design's list view,
-first select the designs you want to delete:
+To archive a single design:
-![Select designs](img/select_designs_v12_4.png)
+1. Select the design to view it enlarged.
+1. In the top right corner, select **Archive design** (**{archive}**).
+1. Select **Archive designs**.
-Select **Delete selected** to confirm the deletion:
+To archive multiple designs at once:
-![Delete multiple designs](img/delete_multiple_designs_v12_4.png)
+1. Select the checkboxes on the designs you want to archive.
+1. Select **Archive selected**.
NOTE:
-Only the latest version of the designs can be deleted.
-Deleted designs are not permanently lost; they can be
-viewed by browsing previous versions.
+Only the latest version of the designs can be archived.
+Archived designs are not permanently lost. You can browse
+[previous versions](#add-a-new-version-of-a-design).
-## Reordering designs
+## Reorder designs
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34382) in GitLab 13.3.
You can change the order of designs by dragging them to a new position.
-## Starting discussions on designs
-
-> - Adjusting a pin's position [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34353) adjusting a pin's position in GitLab 12.8.
-> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212566) from GitLab Premium to GitLab Free in 13.0.
+## Add a comment to a design
-When a design is uploaded, you can start a discussion by selecting
-the image on the exact location you would like the discussion to be focused on.
-A pin is added to the image, identifying the discussion's location.
+> Adjusting a pin's position [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34353) in GitLab 12.8.
-![Starting a new discussion on design](img/adding_note_to_design_1.png)
+You can start [discussions](../../discussions/index.md) on uploaded designs. To do so:
-You can adjust a pin's position by dragging it around the image. This is useful
-for when your design layout has changed between revisions, or if you need to move an
-existing pin to add a new one in its place.
+<!-- vale gitlab.SubstitutionWarning = NO -->
+1. Go to an issue.
+1. Select the design.
+1. Click or tap the image. A pin is created in that spot, identifying the discussion's location.
+1. Enter your message.
+1. Select **Comment**.
+<!-- vale gitlab.SubstitutionWarning = YES -->
-Different discussions have different pin numbers:
+You can adjust a pin's position by dragging it around the image. You can use this when your design's
+layout has changed, or when you want to move a pin to add a new one in its place.
-![Discussions on designs](img/adding_note_to_design_2.png)
+New discussion threads get different pin numbers, which you can use to refer to them.
In GitLab 12.5 and later, new discussions are output to the issue activity,
so that everyone involved can participate in the discussion.
-## Resolve Design threads
+## Resolve a discussion thread on a design
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13049) in GitLab 13.1.
-Discussion threads can be resolved on Designs.
-
-There are two ways to resolve/unresolve a Design thread:
-
-1. You can mark a thread as resolved or unresolved by selecting the checkmark icon for **Resolve thread** in the top-right corner of the first comment of the discussion:
+When you're done discussing part of a design, you can resolve the discussion thread.
- ![Resolve thread icon](img/resolve_design-discussion_icon_v13_1.png)
+To mark a thread as resolved or unresolved, either:
-1. Design threads can also be resolved or unresolved in their threads by using a checkbox.
- When replying to a comment, you can select or clear a checkbox to resolve or unresolve
- the thread after publishing:
+- In the top-right corner of the first comment of the discussion, select **Resolve thread** or **Unresolve thread** (**{check-circle}**).
+- Add a new comment to the thread and select or clear the **Resolve thread** checkbox.
- ![Resolve checkbox](img/resolve_design-discussion_checkbox_v13_1.png)
+Resolving a discussion thread also marks any pending [to-do items](../../todos.md) related to notes
+inside the thread as done. Only to-do items for the user triggering the action are affected.
-Resolving a discussion thread also marks any pending to-do items related to notes
-inside the thread as done. This is applicable only for to-do items owned by the user triggering the action.
+Your resolved comment pins disappear from the design to free up space for new discussions.
+To revisit a resolved discussion, expand **Resolved Comments** below the visible threads.
-Your resolved comment pins disappear from the Design to free up space for new discussions.
-However, if you need to revisit or find a resolved discussion, all of your resolved threads are
-available in the **Resolved Comment** area at the bottom of the right sidebar.
-
-## Add to-do items for designs
+## Add a to-do item for a design
> - [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 item for a design by selecting **Add a to do** on the design sidebar:
-
-![To-do button](img/design_todo_button_v13_5.png)
+To add a [to-do item](../../todos.md) for a design, select **Add a to do** on the design sidebar.
-## Referring to designs in Markdown
+## Refer to a design in Markdown
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/217160) in GitLab 13.1.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/258662) in GitLab 13.5.
-We support referring to designs in [Markdown](../../markdown.md), which is available
-throughout the application, including in merge request and issue descriptions, in discussions and comments, and in wiki pages.
+To refer to a design in a [Markdown](../../markdown.md) text box in GitLab, for example, in
+a comment or description, paste its URL. It's then displayed as a short reference.
-Full URL references are supported. For example, if we refer to a design
-somewhere with:
+For example, if you refer to a design somewhere with:
```markdown
-See https://gitlab.com/your-group/your-project/-/issues/123/designs/homescreen.png
+See https://gitlab.com/gitlab-org/gitlab/-/issues/13195/designs/Group_view.png.
```
-This is rendered as:
+It's rendered as:
-> See [#123[homescreen.png]](https://gitlab.com/your-group/your-project/-/issues/123/designs/homescreen.png)
+> See [#13195[Group_view.png]](https://gitlab.com/gitlab-org/gitlab/-/issues/13195/designs/Group_view.png).
## Design activity records
@@ -272,3 +278,15 @@ User activity events on designs (creation, deletion, and updates) are tracked by
displayed on the [user profile](../../profile/index.md#access-your-user-profile),
[group](../../group/index.md#view-group-activity),
and [project](../working_with_projects.md#view-project-activity) activity pages.
+
+## GitLab-Figma plugin
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab-figma-plugin/-/issues/2) in GitLab 13.2.
+
+You can use the GitLab-Figma plugin to upload your designs from Figma directly to your issues
+in GitLab.
+
+To use the plugin in Figma, install it from the [Figma Directory](https://www.figma.com/community/plugin/860845891704482356)
+and connect to GitLab through a personal access token.
+
+For more information, see the [plugin documentation](https://gitlab.com/gitlab-org/gitlab-figma-plugin/-/wikis/home).
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
deleted file mode 100644
index 3c25fcb1241..00000000000
--- a/doc/user/project/issues/img/adding_note_to_design_1.png
+++ /dev/null
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
deleted file mode 100644
index c418a0364c0..00000000000
--- a/doc/user/project/issues/img/adding_note_to_design_2.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
deleted file mode 100644
index 5631b6ec98e..00000000000
--- a/doc/user/project/issues/img/confirm_design_deletion_v12_4.png
+++ /dev/null
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
deleted file mode 100644
index 40d449d5b39..00000000000
--- a/doc/user/project/issues/img/delete_multiple_designs_v12_4.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/design_added_v12_3.png b/doc/user/project/issues/img/design_added_v12_3.png
deleted file mode 100644
index 92aa953db8e..00000000000
--- a/doc/user/project/issues/img/design_added_v12_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/design_comments_v12_3.png b/doc/user/project/issues/img/design_comments_v12_3.png
deleted file mode 100644
index c01a8bb7ba7..00000000000
--- a/doc/user/project/issues/img/design_comments_v12_3.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 4ab5e184905..0225505e829 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_upload_v13.3.png b/doc/user/project/issues/img/design_management_upload_v13.3.png
deleted file mode 100644
index f7b3f79fb22..00000000000
--- a/doc/user/project/issues/img/design_management_upload_v13.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
deleted file mode 100644
index 3da11c92514..00000000000
--- a/doc/user/project/issues/img/design_management_v13_2.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/design_management_v14_10.png b/doc/user/project/issues/img/design_management_v14_10.png
new file mode 100644
index 00000000000..a10be15eafd
--- /dev/null
+++ b/doc/user/project/issues/img/design_management_v14_10.png
Binary files differ
diff --git a/doc/user/project/issues/img/design_modified_v12_3.png b/doc/user/project/issues/img/design_modified_v12_3.png
deleted file mode 100644
index 01b752fa531..00000000000
--- a/doc/user/project/issues/img/design_modified_v12_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/design_todo_button_v13_5.png b/doc/user/project/issues/img/design_todo_button_v13_5.png
deleted file mode 100644
index 970161a6097..00000000000
--- a/doc/user/project/issues/img/design_todo_button_v13_5.png
+++ /dev/null
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
deleted file mode 100644
index 4966af06e41..00000000000
--- a/doc/user/project/issues/img/design_zooming_v12_7.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/resolve_design-discussion_checkbox_v13_1.png b/doc/user/project/issues/img/resolve_design-discussion_checkbox_v13_1.png
deleted file mode 100644
index 8791419b919..00000000000
--- a/doc/user/project/issues/img/resolve_design-discussion_checkbox_v13_1.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/img/resolve_design-discussion_icon_v13_1.png b/doc/user/project/issues/img/resolve_design-discussion_icon_v13_1.png
deleted file mode 100644
index fc1fff321ba..00000000000
--- a/doc/user/project/issues/img/resolve_design-discussion_icon_v13_1.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
deleted file mode 100644
index fe1c55a4ae2..00000000000
--- a/doc/user/project/issues/img/select_designs_v12_4.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issues/issue_data_and_actions.md b/doc/user/project/issues/issue_data_and_actions.md
deleted file mode 100644
index e9f3f4be1c3..00000000000
--- a/doc/user/project/issues/issue_data_and_actions.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'index.md'
-remove_date: '2022-02-24'
----
-
-This file was moved to [another location](index.md).
-
-<!-- This redirect file can be deleted after <2022-02-24>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md
index 58591129d97..4508ef30ac5 100644
--- a/doc/user/project/issues/managing_issues.md
+++ b/doc/user/project/issues/managing_issues.md
@@ -342,7 +342,7 @@ To do it:
issues.each do |issue|
if issue.state != "closed" && issue.moved_to.nil?
- Issues::MoveService.new(project, admin_user).execute(issue, target_project)
+ Issues::MoveService.new(project: project, current_user: admin_user).execute(issue, target_project)
else
puts "issue with id: #{issue.id} and title: #{issue.title} was not moved"
end
diff --git a/doc/user/project/issues/sorting_issue_lists.md b/doc/user/project/issues/sorting_issue_lists.md
index 9311ef590df..95a7e9387e8 100644
--- a/doc/user/project/issues/sorting_issue_lists.md
+++ b/doc/user/project/issues/sorting_issue_lists.md
@@ -6,20 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Sorting and ordering issue lists **(FREE)**
-You can sort a list of issues several ways, including by:
-
-- [Blocking issues](#sorting-by-blocking-issues)
-- [Created date](#sorting-by-created-date)
-- [Due date](#sorting-by-due-date)
-- [Label priority](#sorting-by-label-priority)
-- [Last updated](#sorting-by-last-updated)
-- [Manual sorting](#manual-sorting)
-- [Milestone due date](#sorting-by-milestone-due-date)
-- [Popularity](#sorting-by-popularity)
-- [Priority](#sorting-by-priority)
-- [Title](#sorting-by-title)
-- [Weight](#sorting-by-weight)
-
+You can sort a list of issues several ways.
The available sorting options can change based on the context of the list.
## Sorting by blocking issues **(PREMIUM)**
@@ -51,10 +38,10 @@ For more information, see [issue 14523](https://gitlab.com/gitlab-org/gitlab/-/i
To learn how to change label priority, see [Label priority](../labels.md#set-label-priority).
-## Sorting by last updated
+## Sorting by updated date
-When you sort by **Last updated**, the issue list changes to sort by the time of a last
-update. Issues changed the most recently are first.
+When you sort by **Updated date**, the issue list changes to sort by the time of a last
+update. Issues changed the most recently are shown first.
## Manual sorting
diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md
index 18197cd860f..2cc23b14857 100644
--- a/doc/user/project/labels.md
+++ b/doc/user/project/labels.md
@@ -253,6 +253,35 @@ with the old labels are assigned to the new group label.
The new group label has the same ID as the previous project label.
+## Promote a subgroup label to the parent group
+
+It's not possible to directly promote a group label to the parent group.
+To achieve this, use the following workaround.
+
+Prerequisites:
+
+- There must be a group that contains subgroups ("parent group").
+- There must be a subgroup in the parent group, that has a label you want to promote.
+- You must have at least the Reporter role for both groups.
+
+To "promote" the label to the parent group:
+
+1. In the parent group, [create a label](#create-a-group-label) with the same name as the original
+ one. We recommend making it a different color so you don't mistake the two while you're doing this.
+1. In the subgroup, [view its labels](#view-group-labels). You should see the two labels and where
+ they come from:
+
+ ![parent group and subgroup labels in the subgroup's label list](img/promote_to_parent_group_workaround_v14_10.png)
+
+1. Next to the subgroup label (the old one), select **Issues**, **Merge requests**, or **Epics**.
+1. Add the new label to issues, merge requests, and epics that have the old label.
+ To do it faster, use [bulk editing](issues/managing_issues.md#bulk-edit-issues-from-a-group).
+1. In the subgroup or the parent group, [delete the label](#delete-a-group-label) that belongs to
+ the lower-level group.
+
+You should now have a label in the parent group that is named the same as the old one, and added
+to the same issues, MRs, and epics.
+
## Generate default project labels
If a project or its parent group has no labels, you can generate a default set of project
@@ -420,6 +449,22 @@ The labels higher in the list get higher priority.
To learn what happens when you sort by priority or label priority, see
[Sorting and ordering issue lists](issues/sorting_issue_lists.md).
+## Real-time changes to labels
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241538) in GitLab 14.10 with a [feature flag](../../administration/feature_flags.md) named `realtime_labels`, disabled by default.
+
+FLAG:
+On self-managed GitLab, by default this feature is not available. To make it available, ask an
+administrator to [enable the feature flag](../../administration/feature_flags.md) named `realtime_labels`.
+On GitLab.com, this feature is unavailable.
+
+Changed labels are immediately visible to other users, without refreshing the page, on the following:
+
+- Epics
+- Incidents
+- Issues
+- Merge requests
+
## Troubleshooting
### Some label titles end with `_duplicate<number>`
diff --git a/doc/user/project/members/index.md b/doc/user/project/members/index.md
index c3d5dca0675..ff4677eddde 100644
--- a/doc/user/project/members/index.md
+++ b/doc/user/project/members/index.md
@@ -1,6 +1,6 @@
---
stage: Manage
-group: Authentication and Authorization
+group: Workspace
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
@@ -49,7 +49,7 @@ flowchart RL
[Feature flag `invite_members_group_modal`](https://gitlab.com/gitlab-org/gitlab/-/issues/352526) removed.
Add users to a project so they become members and have permission
-to perform actions.
+to perform actions. The Owner [role](../../permissions.md#project-members-permissions) can only be added at the group level.
Prerequisite:
@@ -145,7 +145,10 @@ In this example:
- **Administrator** is the [Owner](../../permissions.md) and member of all groups.
They have inherited their role from the **demo** group.
-If a user is a direct member of a project, the expiration date can be updated. If membership is inherited from a parent group, the expiration date can be updated only from the parent group itself.
+If a user is a:
+
+- Direct member of a project, the **Expiration** and **Max role** fields can be updated directly on the project.
+- Inherited member from a parent group, the **Expiration** and **Max role** fields must be updated on the parent group.
## Remove a member from a project
diff --git a/doc/user/project/merge_requests/approvals/settings.md b/doc/user/project/merge_requests/approvals/settings.md
index 0a7fbc9ee95..0ede9310393 100644
--- a/doc/user/project/merge_requests/approvals/settings.md
+++ b/doc/user/project/merge_requests/approvals/settings.md
@@ -146,7 +146,7 @@ You can also enforce merge request approval settings:
- At the [instance level](../../../admin_area/merge_requests_approvals.md), which apply to all groups
on an instance and, therefore, all projects.
-- On a [top-level group](../../../group/index.md#group-approval-rules), which apply to all subgroups
+- On a [top-level group](../../../group/index.md#group-approval-settings), which apply to all subgroups
and projects.
If the settings are inherited by a group or project, they cannot be changed in the group or project
diff --git a/doc/user/project/merge_requests/fast_forward_merge.md b/doc/user/project/merge_requests/fast_forward_merge.md
index dc13b270f17..77162aa0b83 100644
--- a/doc/user/project/merge_requests/fast_forward_merge.md
+++ b/doc/user/project/merge_requests/fast_forward_merge.md
@@ -13,8 +13,6 @@ merge commits. In such cases, the fast-forward merge is the perfect candidate.
With fast-forward merge requests, you can retain a linear Git history and a way
to accept merge requests without creating merge commits.
-## Overview
-
When the fast-forward merge
([`--ff-only`](https://git-scm.com/docs/git-merge#git-merge---ff-only)) setting
is enabled, no merge commits are created and all merges are fast-forwarded,
@@ -22,6 +20,11 @@ which means that merging is only allowed if the branch can be fast-forwarded.
When a fast-forward merge is not possible, the user is given the option to rebase.
+NOTE:
+Projects using the fast-forward merge strategy can't filter merge requests
+[by deployment date](../../search/index.md#filtering-merge-requests-by-environment-or-deployment-date),
+because no merge commit is created.
+
## Enabling fast-forward merges
1. On the top bar, select **Menu > Projects** and find your project.
diff --git a/doc/user/project/merge_requests/img/attention_request_list_v14_10.png b/doc/user/project/merge_requests/img/attention_request_list_v14_10.png
new file mode 100644
index 00000000000..00427a0aa40
--- /dev/null
+++ b/doc/user/project/merge_requests/img/attention_request_list_v14_10.png
Binary files differ
diff --git a/doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.png b/doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.png
new file mode 100644
index 00000000000..174cf01dbb0
--- /dev/null
+++ b/doc/user/project/merge_requests/img/attention_request_sidebar_v14_10.png
Binary files differ
diff --git a/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png b/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png
index f4330549a57..17ce42e7a69 100644
--- a/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png
+++ b/doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png
Binary files differ
diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md
index 9872bd2e936..a3b9fb52f0d 100644
--- a/doc/user/project/merge_requests/index.md
+++ b/doc/user/project/merge_requests/index.md
@@ -70,6 +70,53 @@ change and whether you need access to a development environment:
- [Push changes from the command line](../../../gitlab-basics/start-using-git.md), if you are
familiar with Git and the command line.
+## Request attention to a merge request
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/343528) in GitLab 14.10 [with a flag](../../../administration/feature_flags.md) named `mr_attention_requests`. Disabled by default.
+
+FLAG:
+On self-managed GitLab, by default this feature is not available. To make it available, ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `mr_attention_requests`.
+On GitLab.com, this feature is dependent on the enablement status of the feature flag. Refer to the [enablement issue](https://gitlab.com/gitlab-org/gitlab/-/issues/343528) for details.
+
+To tell a merge request's assignee or reviewer that their attention is
+needed on a merge request, you can request their attention. If an assignee or a
+reviewer has their attention requested on a merge request, the **Attention request**
+icon (**{attention}**) is displayed as a solid icon (**{attention-solid}**) on
+the merge request list page:
+
+![Attention request icon](img/attention_request_list_v14_10.png)
+
+To view a list of merge requests that need your attention:
+
+1. On the top bar, select **Merge requests** (**{merge-request}**).
+1. Select **Attention requests**.
+
+To request attention from another user, use the `/attention @user`
+[quick action](../quick_actions.md) or:
+
+1. Go to the merge request.
+1. On the right sidebar, identify the user you want to request attention from.
+1. Next to the user's name, select **Request attention** (**{attention}**), and the appearance
+ of the icon changes:
+
+ ![Attention request toggle](img/attention_request_sidebar_v14_10.png)
+
+### Remove an attention request
+
+If your attention was requested as an assignee or reviewer, it's removed when you:
+
+- Manually remove the attention request by selecting **Remove attention request** (**{attention-solid}**).
+- Approve the merge request.
+- Add a new user as an assignee or reviewer.
+- Request the attention of a different assignee or reviewer.
+- Remove yourself (or are removed by someone else) as an assignee or reviewer.
+- Merge or close the merge request.
+
+If you are both the assignee and a reviewer on a merge request, you receive
+only one attention request, which is synced across both duties. If the
+attention request is removed from you, either as an assignee or a reviewer,
+it is removed from both your duties.
+
## Close a merge request
If you decide to permanently stop work on a merge request,
diff --git a/doc/user/project/merge_requests/reviews/index.md b/doc/user/project/merge_requests/reviews/index.md
index 280ae07b401..512faae82a9 100644
--- a/doc/user/project/merge_requests/reviews/index.md
+++ b/doc/user/project/merge_requests/reviews/index.md
@@ -112,7 +112,13 @@ This example shows reviewers and approval rules in a merge request sidebar:
### Request a new review
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/293933) in GitLab 13.9.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/293933) in GitLab 13.9.
+> - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/357271) in GitLab 14.10.
+
+WARNING:
+This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/357271)
+in GitLab 14.10, and is planned for [removal](https://gitlab.com/gitlab-org/gitlab/-/issues/357271) in GitLab 15.0.
+Use [attention requests](../index.md#request-attention-to-a-merge-request) instead.
After a reviewer completes their [merge request reviews](../../../discussions/index.md),
the author of the merge request can request a new review from the reviewer:
diff --git a/doc/user/project/merge_requests/reviews/suggestions.md b/doc/user/project/merge_requests/reviews/suggestions.md
index 9868f2619ba..8e6794bcfa7 100644
--- a/doc/user/project/merge_requests/reviews/suggestions.md
+++ b/doc/user/project/merge_requests/reviews/suggestions.md
@@ -108,6 +108,8 @@ For example, to customize the commit message to output
**Addresses user_1's review**, set the custom text to
`Addresses %{username}'s review`.
+For merge requests created from forks, GitLab uses the template defined in target project.
+
NOTE:
Custom commit messages for each applied suggestion is
introduced by [#25381](https://gitlab.com/gitlab-org/gitlab/-/issues/25381).
diff --git a/doc/user/project/merge_requests/status_checks.md b/doc/user/project/merge_requests/status_checks.md
index a952c0550bc..76a67487881 100644
--- a/doc/user/project/merge_requests/status_checks.md
+++ b/doc/user/project/merge_requests/status_checks.md
@@ -54,6 +54,9 @@ External status checks have the following states:
Support for adding a `failed` state is tracked [in this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/338827).
+If something changes outside of GitLab, you can [set the status of an external status check](../../../api/status_checks.md#set-status-of-an-external-status-check)
+using the API. You don't need to wait for a merge request webhook payload to be sent first.
+
## View the status checks on a project
Within each project's settings, you can see a list of status checks added to the project:
diff --git a/doc/user/project/merge_requests/test_coverage_visualization.md b/doc/user/project/merge_requests/test_coverage_visualization.md
index d7177208a6e..9f1e5ae7046 100644
--- a/doc/user/project/merge_requests/test_coverage_visualization.md
+++ b/doc/user/project/merge_requests/test_coverage_visualization.md
@@ -28,7 +28,7 @@ between pipeline completion and the visualization loading on the page.
For the coverage analysis to work, you have to provide a properly formatted
[Cobertura XML](https://cobertura.github.io/cobertura/) report to
-[`artifacts:reports:cobertura`](../../../ci/yaml/artifacts_reports.md#artifactsreportscobertura).
+[`artifacts:reports:cobertura`](../../../ci/yaml/artifacts_reports.md#artifactsreportscobertura-deprecated).
This format was originally developed for Java, but most coverage analysis frameworks
for other languages have plugins to add support for it, like:
@@ -156,7 +156,9 @@ test:
- npx nyc --reporter cobertura mocha
artifacts:
reports:
- cobertura: coverage/cobertura-coverage.xml
+ coverage_report:
+ coverage_format: cobertura
+ path: coverage/cobertura-coverage.xml
```
### Java and Kotlin examples
@@ -324,18 +326,13 @@ run tests:
The following [`.gitlab-ci.yml`](../../../ci/yaml/index.md) example for Go uses:
- [`go test`](https://go.dev/doc/tutorial/add-a-test) to run tests.
-- [`gocover-cobertura`](https://github.com/t-yuki/gocover-cobertura) to convert Go's coverage profile into the Cobertura XML format.
+- [`gocover-cobertura`](https://github.com/boumenot/gocover-cobertura) to convert Go's coverage profile into the Cobertura XML format.
-This example assumes that [Go modules](https://go.dev/ref/mod) are being used.
-Using Go modules causes paths within the coverage profile to be prefixed with your
-project's module identifier, which can be found in the `go.mod` file. This
-prefix must be removed for GitLab to parse the Cobertura XML file correctly. You can use the following `sed` command to remove the prefix:
-
-```shell
-sed -i 's;filename=\"<YOUR_MODULE_ID>/;filename=\";g' coverage.xml
-```
-
-Replace the `gitlab.com/my-group/my-project` placeholder in the following example with your own module identifier to make it work.
+This example assumes that [Go modules](https://go.dev/ref/mod)
+are being used. Please note that the `-covermode count` option does not work with the `-race` flag.
+If you want to generate code coverage while also using the `-race` flag, you must switch to
+`-covermode atomic` which is slower than `-covermode count`. See [this blog post](https://go.dev/blog/cover)
+for more details.
```yaml
run tests:
@@ -343,9 +340,9 @@ run tests:
image: golang:1.17
script:
- go install
- - go test . -coverprofile=coverage.txt -covermode count
- - go run github.com/t-yuki/gocover-cobertura < coverage.txt > coverage.xml
- - sed -i 's;filename=\"gitlab.com/my-group/my-project/;filename=\";g' coverage.xml
+ - go test ./... -coverprofile=coverage.txt -covermode count
+ - go get github.com/boumenot/gocover-cobertura
+ - go run github.com/boumenot/gocover-cobertura < coverage.txt > coverage.xml
artifacts:
reports:
cobertura: coverage.xml
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
index 3491346f7d9..5433e02b210 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
@@ -1,7 +1,7 @@
---
type: concepts
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md
index 4d8919090a2..d970c0f9ef4 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md
@@ -1,7 +1,7 @@
---
disqus_identifier: 'https://docs.gitlab.com/ee/user/project/pages/getting_started_part_three.html'
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md
index f09aea3b02a..cb22a200514 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md
@@ -1,14 +1,14 @@
---
type: reference
description: "Automatic Let's Encrypt SSL certificates for GitLab Pages."
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
# GitLab Pages integration with Let's Encrypt **(FREE)**
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28996) in GitLab 12.1. For versions earlier than GitLab 12.1, see the [manual Let's Encrypt instructions](../lets_encrypt_for_gitlab_pages.md).
+> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28996) in GitLab 12.1.
The GitLab Pages integration with Let's Encrypt (LE) allows you
to use LE certificates for your Pages website with custom domains
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
index 21f2dd51f70..0c848a24dec 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
@@ -1,7 +1,7 @@
---
type: concepts
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/getting_started/pages_ci_cd_template.md b/doc/user/project/pages/getting_started/pages_ci_cd_template.md
index 25382778b1d..510f9332e7b 100644
--- a/doc/user/project/pages/getting_started/pages_ci_cd_template.md
+++ b/doc/user/project/pages/getting_started/pages_ci_cd_template.md
@@ -1,7 +1,7 @@
---
type: reference, howto
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/getting_started/pages_forked_sample_project.md b/doc/user/project/pages/getting_started/pages_forked_sample_project.md
index b43af2f0efe..71ed3134c1e 100644
--- a/doc/user/project/pages/getting_started/pages_forked_sample_project.md
+++ b/doc/user/project/pages/getting_started/pages_forked_sample_project.md
@@ -1,7 +1,7 @@
---
type: reference, howto
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
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 e0c10e27ec3..f08afc924f3 100644
--- a/doc/user/project/pages/getting_started/pages_from_scratch.md
+++ b/doc/user/project/pages/getting_started/pages_from_scratch.md
@@ -1,6 +1,6 @@
---
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/getting_started/pages_new_project_template.md b/doc/user/project/pages/getting_started/pages_new_project_template.md
index cee10675a62..b32d71a4887 100644
--- a/doc/user/project/pages/getting_started/pages_new_project_template.md
+++ b/doc/user/project/pages/getting_started/pages_new_project_template.md
@@ -1,6 +1,6 @@
---
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/getting_started_part_one.md b/doc/user/project/pages/getting_started_part_one.md
index 5773dd1f2c0..54b843945cd 100644
--- a/doc/user/project/pages/getting_started_part_one.md
+++ b/doc/user/project/pages/getting_started_part_one.md
@@ -1,6 +1,6 @@
---
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/index.md b/doc/user/project/pages/index.md
index 82b1a824f7a..af49522efe2 100644
--- a/doc/user/project/pages/index.md
+++ b/doc/user/project/pages/index.md
@@ -1,7 +1,7 @@
---
description: 'Learn how to use GitLab Pages to deploy a static website at no additional cost.'
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md
index e4bc58854ef..f274338c2fd 100644
--- a/doc/user/project/pages/introduction.md
+++ b/doc/user/project/pages/introduction.md
@@ -1,6 +1,6 @@
---
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md b/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
deleted file mode 100644
index 7779f87b459..00000000000
--- a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'custom_domains_ssl_tls_certification/lets_encrypt_integration.md'
-remove_date: '2022-03-14'
----
-
-This file was moved to [another location](custom_domains_ssl_tls_certification/lets_encrypt_integration.md).
-
-<!-- This redirect file can be deleted after <2022-03-14>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/project/pages/pages_access_control.md b/doc/user/project/pages/pages_access_control.md
index 002b234f561..9b747e04973 100644
--- a/doc/user/project/pages/pages_access_control.md
+++ b/doc/user/project/pages/pages_access_control.md
@@ -1,6 +1,6 @@
---
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/pages/redirects.md b/doc/user/project/pages/redirects.md
index cdae1d2f837..1db404f4888 100644
--- a/doc/user/project/pages/redirects.md
+++ b/doc/user/project/pages/redirects.md
@@ -1,6 +1,6 @@
---
-stage: Release
-group: Release
+stage: Create
+group: Editor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
diff --git a/doc/user/project/protected_branches.md b/doc/user/project/protected_branches.md
index 292530e6c9c..06396b5cd62 100644
--- a/doc/user/project/protected_branches.md
+++ b/doc/user/project/protected_branches.md
@@ -147,8 +147,8 @@ Deploy keys are not available in the **Allowed to merge** dropdown list.
## Allow force push on a protected branch
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/15611) in GitLab 13.10 behind a disabled feature flag.
-> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/323431) in GitLab 14.0.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/15611) in GitLab 13.10 [with a flag](../../administration/feature_flags.md) named `allow_force_push_to_protected_branches`. Disabled by default.
+> - [Enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/323431) in GitLab 14.0. Feature flag `allow_force_push_to_protected_branches` removed.
You can allow [force pushes](../../topics/git/git_rebase.md#force-push) to
protected branches.
diff --git a/doc/user/project/push_options.md b/doc/user/project/push_options.md
index 20dd37578fd..d04f79d11c7 100644
--- a/doc/user/project/push_options.md
+++ b/doc/user/project/push_options.md
@@ -35,7 +35,7 @@ You can use push options to skip a CI/CD pipeline, or pass CI/CD variables.
| Push option | Description | Introduced in version |
| ------------------------------ | ------------------------------------------------------------------------------------------- |---------------------- |
-| `ci.skip` | Do not create a CI pipeline for the latest push. | [11.7](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15643) |
+| `ci.skip` | Do not create a CI pipeline for the latest push. Only skips branch pipelines and not [merge request pipelines](../../ci/pipelines/merge_request_pipelines.md). | [11.7](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15643) |
| `ci.variable="<name>=<value>"` | Provide [CI/CD variables](../../ci/variables/index.md) to be used in a CI pipeline, if one is created due to the push. | [12.6](https://gitlab.com/gitlab-org/gitlab/-/issues/27983) |
An example of using `ci.skip`:
diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md
index ae42d90af06..b73b381ffcd 100644
--- a/doc/user/project/quick_actions.md
+++ b/doc/user/project/quick_actions.md
@@ -55,6 +55,7 @@ threads. Some quick actions might not be available to all subscription tiers.
| `/assign me` | **{check-circle}** Yes | **{check-circle}** Yes | **{dotted-circle}** No | Assign yourself. |
| `/assign_reviewer @user1 @user2` or `/reviewer @user1 @user2` or `/request_review @user1 @user2` | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No | Assign one or more users as reviewers. |
| `/assign_reviewer me` or `/reviewer me` or `/request_review me` | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No | Assign yourself as a reviewer. |
+| `/attention @user1` | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No | [Request attention](merge_requests/index.md#request-attention-to-a-merge-request) to a merge request from a user. |
| `/award :emoji:` | **{check-circle}** Yes | **{check-circle}** Yes | **{check-circle}** Yes | Toggle emoji award. |
| `/child_epic <epic>` | **{dotted-circle}** No | **{dotted-circle}** No | **{check-circle}** Yes | Add child epic to `<epic>`. The `<epic>` value should be in the format of `&epic`, `group&epic`, or a URL to an epic ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7330) in GitLab 12.0). |
| `/clear_health_status` | **{check-circle}** Yes | **{dotted-circle}** No | **{dotted-circle}** No | Clear [health status](issues/managing_issues.md#health-status) ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/213814) in GitLab 14.7). |
diff --git a/doc/user/project/repository/forking_workflow.md b/doc/user/project/repository/forking_workflow.md
index ddeef65a6b5..0e6c98457c7 100644
--- a/doc/user/project/repository/forking_workflow.md
+++ b/doc/user/project/repository/forking_workflow.md
@@ -32,7 +32,7 @@ To fork an existing project in GitLab:
It must be unique in the namespace.
1. Optional. Add a **Project description**.
1. Select the **Visibility level** for your fork. For more information about
- visibility levels, read [Project and group visibility](../../../public_access/public_access.md).
+ visibility levels, read [Project and group visibility](../../public_access.md).
1. Select **Fork project**.
GitLab creates your fork, and redirects you to the new fork's page.
diff --git a/doc/user/project/repository/jupyter_notebooks/index.md b/doc/user/project/repository/jupyter_notebooks/index.md
index cd0c6679d8d..39b57f89ceb 100644
--- a/doc/user/project/repository/jupyter_notebooks/index.md
+++ b/doc/user/project/repository/jupyter_notebooks/index.md
@@ -25,8 +25,14 @@ GitLab.
## Cleaner diffs
-> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/6589) in GitLab 14.5 [with a flag](../../../../administration/feature_flags.md) named `jupyter_clean_diffs`. Enabled by default.
+> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/6589) in GitLab 14.5 as an [Alpha](../../../../policy/alpha-beta-support.md#alpha-features) release [with a flag](../../../../administration/feature_flags.md) named `jupyter_clean_diffs`. Enabled by default.
> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75500) in GitLab 14.9. Feature flag `jupyter_clean_diffs` removed.
+> - [Reintroduced toggle](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85079) in GitLab 15.0 [with a flag](../../../../administration/feature_flags.md) named `ipynb_semantic_diff`. Enabled by default.
+
+FLAG:
+On self-managed GitLab, by default this feature is available. To hide the feature, ask an administrator to [disable the feature flag](../../../../administration/feature_flags.md) named `ipynb_semantic_diff`.
+On GitLab.com, this feature is available.
+This feature is ready for production use.
When commits include changes to Jupyter Notebook files, GitLab:
@@ -37,6 +43,10 @@ Code suggestions are not available on diffs and merge requests for `.ipynb` file
![Jupyter Notebook Clean Diff](img/jupyter_notebook_diff_v14_5.png)
+This feature is an [Alpha](../../../../policy/alpha-beta-support.md#alpha-features) release,
+and might lead to performance degradation. On self-managed GitLab, if unexpected issues
+arise, disable the feature.
+
## Jupyter Git integration
Jupyter can be configured as an OAuth application with repository access, acting
diff --git a/doc/user/project/repository/mirror/index.md b/doc/user/project/repository/mirror/index.md
index c9fa30e39a8..e1017e78437 100644
--- a/doc/user/project/repository/mirror/index.md
+++ b/doc/user/project/repository/mirror/index.md
@@ -7,9 +7,13 @@ disqus_identifier: 'https://docs.gitlab.com/ee/workflow/repository_mirroring.htm
# Repository mirroring **(FREE)**
-You can _mirror_ a repository to and from external sources. You can select which
-repository serves as the source, and modify which parts of the repository are copied.
-Branches, tags, and commits can be mirrored.
+You can _mirror_ a repository to and from external sources. You can select which repository
+serves as the source. Branches, tags, and commits can be mirrored.
+
+NOTE:
+SCP-style URLs are **not** supported. However, the work for implementing SCP-style URLs is tracked
+in [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/18993).
+Subscribe to the issue to follow its progress.
Several mirroring methods exist:
@@ -23,11 +27,7 @@ Mirror a repository when:
copy of your project at its previous home, configure your GitLab repository as a
[push mirror](push.md). Changes you make to your GitLab repository are copied to
the old location.
-- Your GitLab project is private, but some components can be shared publicly.
- Configure your primary repository as a [push mirror](push.md) and push the portions
- you want to make public. With this configuration, you can open-source specific
- projects, contribute back to the open-source community, and protect the sensitive
- parts of your project.
+- Your GitLab instance is private, but you want to open-source some projects.
- You migrated to GitLab, but the canonical version of your project is somewhere else.
Configure your GitLab repository as a [pull mirror](pull.md) of the other project.
Your GitLab repository pulls copies of the commits, tags, and branches of project.
diff --git a/doc/user/project/repository/repository_mirroring.md b/doc/user/project/repository/repository_mirroring.md
deleted file mode 100644
index 8fbe5aec6a3..00000000000
--- a/doc/user/project/repository/repository_mirroring.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: 'mirror/index.md'
-remove_date: '2022-03-22'
----
-
-This document was moved to [another location](mirror/index.md).
-
-<!-- This redirect file can be deleted after <2022-03-22>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> \ No newline at end of file
diff --git a/doc/user/project/repository/web_editor.md b/doc/user/project/repository/web_editor.md
index 4165c1828cc..6eed1717507 100644
--- a/doc/user/project/repository/web_editor.md
+++ b/doc/user/project/repository/web_editor.md
@@ -117,12 +117,19 @@ There are multiple ways to create a branch from the GitLab web interface.
### Create a new branch from an issue
+> The **Create merge request** button [changed](https://gitlab.com/gitlab-org/gitlab/-/issues/349566) to open the merge request creation form in GitLab 14.8.
+
If your development workflow requires an issue for every merge
request, you can create a branch directly from the issue to speed the process up.
The new branch, and later its merge request, are marked as related to this issue.
Once merged, the merge request closes the issue.
You can see a **Create merge request** dropdown below the issue description.
+NOTE:
+In GitLab 14.8 and later, selecting **Create merge request**
+[redirects to the merge request creation form](https://gitlab.com/gitlab-org/gitlab/-/issues/349566)
+instead of immediately creating the merge request.
+
The **Create merge request** button doesn't display if:
- A branch with the same name already exists.
diff --git a/doc/user/project/repository/x509_signed_commits/index.md b/doc/user/project/repository/x509_signed_commits/index.md
index c9cddad1a91..0259ff6ce30 100644
--- a/doc/user/project/repository/x509_signed_commits/index.md
+++ b/doc/user/project/repository/x509_signed_commits/index.md
@@ -88,7 +88,7 @@ If you have the correct version, you can proceed to configure Git.
Configure Git to use your key for signing:
```shell
-signingkey = $( gpgsm --list-secret-keys | egrep '(key usage|ID)' | grep -B 1 digitalSignature | awk '/ID/ {print $2}' )
+signingkey=$( gpgsm --list-secret-keys | egrep '(key usage|ID)' | grep -B 1 digitalSignature | awk '/ID/ {print $2}' )
git config --global user.signingkey $signingkey
git config --global gpg.format x509
```
diff --git a/doc/user/project/requirements/index.md b/doc/user/project/requirements/index.md
index 6abe9c08d28..8b80c494e2f 100644
--- a/doc/user/project/requirements/index.md
+++ b/doc/user/project/requirements/index.md
@@ -127,7 +127,7 @@ To search for a requirement:
You can also sort the requirements list by:
- Created date
-- Last updated
+- Updated date
## Allow requirements to be satisfied from a CI job
diff --git a/doc/user/project/service_desk.md b/doc/user/project/service_desk.md
index 90732ba4fe2..19c3218137f 100644
--- a/doc/user/project/service_desk.md
+++ b/doc/user/project/service_desk.md
@@ -241,7 +241,8 @@ The configuration options are the same as for configuring
##### Microsoft Graph
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/214900) in GitLab 13.11.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/214900) in GitLab 13.11.
+> - Alternative Azure deployments [introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/5978) in GitLab 14.9.
Service Desk can be configured to read Microsoft Exchange Online mailboxes with the Microsoft
Graph API instead of IMAP. Follow the [documentation in the incoming email section for setting up an OAuth2 application for Microsoft Graph](../../administration/incoming_email.md#microsoft-graph).
@@ -263,6 +264,22 @@ Graph API instead of IMAP. Follow the [documentation in the incoming email secti
}
```
+For Microsoft Cloud for US Government or [other Azure deployments](https://docs.microsoft.com/en-us/graph/deployments), configure the `azure_ad_endpoint` and `graph_endpoint` settings.
+
+- Example for Microsoft Cloud for US Government:
+
+```ruby
+ gitlab_rails['service_desk_email_inbox_options'] = {
+ 'azure_ad_endpoint': 'https://login.microsoftonline.us',
+ 'graph_endpoint': 'https://graph.microsoft.us',
+ 'tenant_id': '<YOUR-TENANT-ID>',
+ 'client_id': '<YOUR-CLIENT-ID>',
+ 'client_secret': '<YOUR-CLIENT-SECRET>',
+ 'poll_interval': 60 # Optional
+ }
+}
+```
+
The Microsoft Graph API is not yet supported in source installations. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/326169) for more details.
#### Configuring a custom email address suffix
@@ -330,20 +347,6 @@ Note that:
- The project's visibility (private, internal, public) does not affect Service Desk.
- The path to the project, including its group or namespace, is shown in emails.
-#### Issues created on someone's behalf
-
-To allow third party applications and ticketing systems to interface with Service Desk,
-when the email contains the `Reply-To` email header, this email address is used as the address of the
-issue author.
-
-Because the `Reply-To` header can be set to arbitrary values, do not blindly trust that an issue
-created on behalf of `someone@example.com` was indeed created by the real owner of such email address.
-
-For example, an email with headers `To: support@example.com` and `Reply-To:someone@example.com`
-creates an issue with the following note:
-
-> Created (…) by `support@example.com` (reply to: `someone@example.com`) (…)
-
#### Privacy considerations
Service Desk issues are confidential, but the project owner can
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index ae3decb8079..30261ed5082 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -72,13 +72,14 @@ The following items are exported:
The following items are **not** exported:
+- [Child pipeline history](https://gitlab.com/gitlab-org/gitlab/-/issues/221088)
- Build traces and artifacts
- Container registry images
- CI/CD variables
- Pipeline triggers
- Webhooks
- Any encrypted tokens
-- Merge Request Approvers
+- Merge Request Approvers and [the number of required approvals](https://gitlab.com/gitlab-org/gitlab/-/issues/221088)
- Repository size limits
- Deploy keys allowed to push to protected branches
@@ -127,7 +128,7 @@ The following items are imported but changed slightly:
associated with such merge requests are created in a project during the import/export. Thus, the
number of branches in the exported project might be bigger than in the original project.
- If use of the `Internal` visibility level
- [is restricted](../../../public_access/public_access.md#restrict-use-of-public-or-internal-projects),
+ [is restricted](../../public_access.md#restrict-use-of-public-or-internal-projects),
all imported projects are given `Private` visibility.
Deploy keys aren't imported. To use deploy keys, you must enable them in your imported project and update protected branches.
@@ -154,9 +155,9 @@ The default is `0` (unlimited).
Imported users can be mapped by their public email addresses on self-managed instances, if an administrator (not an owner) does the import.
-- Public email addresses are not set by default. Users must
-[set it in their profiles](../../profile/index.md#set-your-public-email)
-for mapping to work correctly.
+- The project must be exported by a project or group member with the Owner role.
+- Public email addresses are not set by default. Users must [set it in their profiles](../../profile/index.md#set-your-public-email)
+ for mapping to work correctly.
- For contributions to be mapped correctly, users must be an existing member of the namespace,
or they can be added as a member of the project. Otherwise, a supplementary comment is left to mention that the original author and the MRs, notes, or issues that are owned by the importer.
- Imported users are set as [direct members](../members/index.md)
@@ -237,7 +238,7 @@ and the exports between them are compatible.
### Project fails to import due to mismatch
-If the [shared runners enablement](../../../ci/runners/runners_scope.md#enable-shared-runners)
+If the [shared runners enablement](../../../ci/runners/runners_scope.md#enable-shared-runners-for-a-project)
does not match between the exported project, and the project import, the project fails to import.
Review [issue 276930](https://gitlab.com/gitlab-org/gitlab/-/issues/276930), and either:
@@ -306,7 +307,7 @@ reduce the repository size for another import attempt:
#### Workaround option 2
NOTE:
-This workaround requires access to the rails console, which isn't available to end-users on GitLab.com.
+This workaround does not account for LFS objects.
Rather than attempting to push all changes at once, this workaround:
@@ -383,3 +384,17 @@ s = Gitlab::ImportExport::Saver.new(exportable: p, shared:p.import_export_shared
s.send(:compress_and_save)
s.send(:save_upload)
```
+
+### Import using the REST API fails when using a group access token
+
+[Group access tokens](../../group/settings/group_access_tokens.md)
+don't work for project or group import operations. When a group access token initiates an import,
+the import fails with this message:
+
+```plaintext
+Error adding importer user to Project members.
+Validation failed: User project bots cannot be added to other groups / projects
+```
+
+To use [Import REST APIs](../../../api/project_import_export.md),
+pass regular user account credentials such as [personal access tokens](../../profile/personal_access_tokens.md).
diff --git a/doc/user/project/settings/index.md b/doc/user/project/settings/index.md
index 342b8d80bcf..31cda756a78 100644
--- a/doc/user/project/settings/index.md
+++ b/doc/user/project/settings/index.md
@@ -89,15 +89,11 @@ read-only view to discourage this behavior.
Compliance framework pipelines allow group owners to define
a compliance pipeline in a separate repository that gets
executed in place of the local project's `gitlab-ci.yml` file. As part of this pipeline, an
-`include` statement can reference the local project's `gitlab-ci.yml` file. This way, the two CI
-files are merged together any time the pipeline runs. Jobs and variables defined in the compliance
+`include` statement can reference the local project's `gitlab-ci.yml` file. This way, the compliance
+pipeline jobs can run alongside the project-specific jobs any time the pipeline runs.
+Jobs and variables defined in the compliance
pipeline can't be changed by variables in the local project's `gitlab-ci.yml` file.
-When used to enforce scan execution, this feature has some overlap with [scan execution policies](../../application_security/policies/scan-execution-policies.md),
-as we have not [unified the user experience for these two features](https://gitlab.com/groups/gitlab-org/-/epics/7312).
-For details on the similarities and differences between these features, see
-[Enforce scan execution](../../application_security/#enforce-scan-execution).
-
When you set up the compliance framework, use the **Compliance pipeline configuration** box to link
the compliance framework to specific CI/CD configuration. Use the
`path/file.y[a]ml@group-name/project-name` format. For example:
@@ -185,6 +181,11 @@ include: # Execute individual project's configuration (if project contains .git
ref: '$CI_COMMIT_REF_NAME' # Must be defined or MR pipelines always use the use default branch
```
+When used to enforce scan execution, this feature has some overlap with [scan execution policies](../../application_security/policies/scan-execution-policies.md),
+as we have not [unified the user experience for these two features](https://gitlab.com/groups/gitlab-org/-/epics/7312).
+For details on the similarities and differences between these features, see
+[Enforce scan execution](../../application_security/#enforce-scan-execution).
+
##### Ensure compliance jobs are always run
Compliance pipelines use GitLab CI/CD to give you an incredible amount of flexibility
@@ -242,7 +243,7 @@ documentation, access permissions, and more. To do so from your project,
go to **Settings** > **General**, and expand the **Visibility, project features, permissions**
section.
-You can now change the [Project visibility](../../../public_access/public_access.md).
+You can now change the [Project visibility](../../public_access.md).
If you set **Project Visibility** to public, you can limit access to some features
to **Only Project Members**. In addition, you can select the option to
[Allow users to request access](../members/index.md#request-access-to-a-project).
diff --git a/doc/user/project/settings/project_access_tokens.md b/doc/user/project/settings/project_access_tokens.md
index a78226ac2f8..b66913b7223 100644
--- a/doc/user/project/settings/project_access_tokens.md
+++ b/doc/user/project/settings/project_access_tokens.md
@@ -12,17 +12,18 @@ type: reference, howto
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/235765) in GitLab 13.5.
> - [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/342327) in GitLab 14.5. Default prefix added.
-You can use a project access token to authenticate:
+Project access tokens are similar to passwords, except you can [limit access to resources](#scopes-for-a-project-access-token),
+select a limited role, and provide an expiry date.
-- With the [GitLab API](../../../api/index.md#personalprojectgroup-access-tokens).
-- With Git, when using HTTP Basic Authentication.
+Use a project access token to authenticate:
-After you configure a project access token, you don't need a password when you authenticate.
-Instead, you can enter any non-blank value.
+- With the [GitLab API](../../../api/index.md#personalprojectgroup-access-tokens).
+- With Git, when using HTTP Basic Authentication, use:
+ - Any non-blank value as a username.
+ - The project access token as the password.
Project access tokens are similar to [group access tokens](../../group/settings/group_access_tokens.md)
-and [personal access tokens](../../profile/personal_access_tokens.md), except they are
-associated with a project rather than a group or user.
+and [personal access tokens](../../profile/personal_access_tokens.md).
In self-managed instances, project access tokens are subject to the same [maximum lifetime limits](../../admin_area/settings/account_and_limit_settings.md#limit-the-lifetime-of-personal-access-tokens) as personal access tokens if the limit is set.
@@ -35,6 +36,8 @@ You can use project access tokens:
- Consider [disabling project access tokens](#enable-or-disable-project-access-token-creation) to
lower potential abuse.
+You cannot use project access tokens to create other access tokens.
+
Project access tokens inherit the [default prefix setting](../../admin_area/settings/account_and_limit_settings.md#personal-access-token-prefix)
configured for personal access tokens.
diff --git a/doc/user/project/static_site_editor/index.md b/doc/user/project/static_site_editor/index.md
index 7c74a625b92..220623d0372 100644
--- a/doc/user/project/static_site_editor/index.md
+++ b/doc/user/project/static_site_editor/index.md
@@ -17,7 +17,7 @@ description: "The static site editor enables users to edit content on static web
WARNING:
This feature is in its end-of-life process. It is
[deprecated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77246)
-for use in GitLab 14.7, and is planned for
+in GitLab 14.7, and is planned for
[removal](https://gitlab.com/groups/gitlab-org/-/epics/7351) in GitLab 14.10.
Users should instead use the [Web Editor](../repository/web_editor.md) or [Web IDE](../web_ide/index.md). [Removal instructions](#remove-the-static-site-editor) for existing projects are included on this page.
diff --git a/doc/user/project/web_ide/index.md b/doc/user/project/web_ide/index.md
index ff8a076465d..8f9486633d5 100644
--- a/doc/user/project/web_ide/index.md
+++ b/doc/user/project/web_ide/index.md
@@ -222,7 +222,7 @@ To edit Markdown files in the Web IDE:
1. Go to your repository, and navigate to the Markdown page you want to edit.
1. Select **Open in Web IDE**, and GitLab loads the page in a tab in the editor.
-1. Make your changes to the file. GitLab supports [GitLab Flavored Markdown](../../markdown.md#gitlab-flavored-markdown).
+1. Make your changes to the file. GitLab supports [GitLab Flavored Markdown (GLFM)](../../markdown.md).
1. When your changes are complete, select **Commit** in the left sidebar.
1. Add a commit message, select the branch you want to commit to, and select **Commit**.
diff --git a/doc/user/project/wiki/index.md b/doc/user/project/wiki/index.md
index 33f6c32d334..7d155ea9b06 100644
--- a/doc/user/project/wiki/index.md
+++ b/doc/user/project/wiki/index.md
@@ -327,13 +327,7 @@ to disable the wiki but toggle it on (in blue).
> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5643) in GitLab 14.0.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/345398) switching between editing experiences in GitLab 14.7 [with a flag](../../../administration/feature_flags.md) named `wiki_switch_between_content_editor_raw_markdown`. Enabled by default.
-
-FLAG:
-On self-managed GitLab, by default this feature is available.
-To hide the feature, ask an administrator to
-[disable the feature flag](../../../administration/feature_flags.md) named
-`wiki_switch_between_content_editor_raw_markdown`.
-On GitLab.com, this feature is available.
+> - Switching between editing experiences generally available in GitLab 14.10. [Feature flag `wiki_switch_between_content_editor_raw_markdown`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83760) removed.
GitLab version 14.0 introduces a WYSIWYG editing experience for GitLab Flavored Markdown
in Wikis through the [Content Editor](../../../development/fe_guide/content_editor.md).
diff --git a/doc/user/project/working_with_projects.md b/doc/user/project/working_with_projects.md
index 19e77d18aca..03530b59e9b 100644
--- a/doc/user/project/working_with_projects.md
+++ b/doc/user/project/working_with_projects.md
@@ -76,13 +76,13 @@ To create a project in GitLab:
- [custom template](#create-a-project-from-a-custom-template).
- [HIPAA audit protocol template](#create-a-project-from-the-hipaa-audit-protocol-template).
- [Import a project](../../user/project/import/index.md)
- from a different repository. Contact your GitLab administrator if this option is not available.
+ from a different repository. Contact your GitLab administrator if this option is not available.
- [Connect an external repository to GitLab CI/CD](../../ci/ci_cd_for_external_repos/index.md).
-- For a list of words that you cannot use as project names, see
-[reserved project and group names](../../user/reserved_names.md).
-- For a list of characters that you cannot use in project and group names, see
-[limitations on project and group names](../../user/reserved_names.md#limitations-on-project-and-group-names).
+- For a list of words that you cannot use as project names, see
+ [reserved project and group names](../../user/reserved_names.md).
+- For a list of characters that you cannot use in project and group names, see
+ [limitations on project and group names](../../user/reserved_names.md#limitations-on-project-and-group-names).
## Create a blank project
@@ -99,12 +99,12 @@ To create a blank project:
- In the **Project description (optional)** field, enter the description of your project's dashboard.
- In the **Project target (optional)** field, select your project's deployment target.
This information helps GitLab better understand its users and their deployment requirements.
- - To modify the project's [viewing and access rights](../../public_access/public_access.md) for
- users, change the **Visibility Level**.
+ - To modify the project's [viewing and access rights](../public_access.md) for
+ users, change the **Visibility Level**.
- To create README file so that the Git repository is initialized, has a default branch, and
can be cloned, select **Initialize repository with a README**.
- To analyze the source code in the project for known security vulnerabilities,
- select **Enable Static Application Security Testing (SAST)**.
+ select **Enable Static Application Security Testing (SAST)**.
1. Select **Create project**.
## Create a project from a built-in template
@@ -132,13 +132,13 @@ To create a project from a built-in template:
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- In the **Project description (optional)** field, enter the description of your project's dashboard.
- - To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
- change the **Visibility Level**.
+ - To modify the project's [viewing and access rights](../public_access.md) for users,
+ change the **Visibility Level**.
1. Select **Create project**.
## Create a project from a custom template **(PREMIUM)**
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in GitLab 11.2.
Custom project templates are available at:
@@ -158,8 +158,8 @@ Custom project templates are available at:
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- The description of your project's dashboard in the **Project description (optional)** field.
- - To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
- change the **Visibility Level**.
+ - To modify the project's [viewing and access rights](../public_access.md) for users,
+ change the **Visibility Level**.
1. Select **Create project**.
## Create a project from the HIPAA Audit Protocol template **(ULTIMATE)**
@@ -184,8 +184,8 @@ To create a project from the HIPAA Audit Protocol template:
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- In the **Project description (optional)** field, enter the description of your project's dashboard.
- - To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
- change the **Visibility Level**.
+ - To modify the project's [viewing and access rights](../public_access.md) for users,
+ change the **Visibility Level**.
1. Select **Create project**.
## Create a new project with Git push
@@ -206,8 +206,8 @@ used or renamed project, use the [UI](#create-a-project) or the [Projects API](.
Prerequisites:
-- To push with SSH, you must have [an SSH key](../../ssh/index.md) that is
-[added to your GitLab account](../../ssh/index.md#add-an-ssh-key-to-your-gitlab-account).
+- To push with SSH, you must have [an SSH key](../ssh.md) that is
+ [added to your GitLab account](../ssh.md#add-an-ssh-key-to-your-gitlab-account).
- You must have permission to add new projects to a namespace. To check if you have permission:
1. On the top bar, select **Menu > Projects**.
@@ -250,7 +250,7 @@ remote: The private project namespace/myproject was created.
To view your new project, go to `https://gitlab.example.com/namespace/myproject`.
Your project's visibility is set to **Private** by default. To change project visibility, adjust your
-[project's settings](../../public_access/public_access.md#change-project-visibility).
+[project's settings](../public_access.md#change-project-visibility).
## Star a project
@@ -299,7 +299,7 @@ To delete a project:
> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/351556) in GitLab 14.9. [Feature flag `project_owners_list_project_pending_deletion`](https://gitlab.com/gitlab-org/gitlab/-/issues/351556) removed.
When delayed project deletion is [enabled for a group](../group/index.md#enable-delayed-project-deletion),
-projects within that group are not deleted immediately, but only after a delay.
+projects within that group are not deleted immediately, but only after a delay.
To view a list of all projects that are pending deletion:
@@ -409,9 +409,9 @@ To disable fetching:
1. Disable checksum queries in `GONOSUMDB`.
- If the module name or its prefix is in `GOPRIVATE` or `GONOPROXY`, Go does not query module
-proxies.
+ proxies.
- If the module name or its prefix is in `GONOPRIVATE` or `GONOSUMDB`, Go does not query
-Checksum databases.
+ Checksum databases.
### Fetch Go modules from Geo secondary sites