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
path: root/doc
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-06-23 18:07:50 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-06-23 18:07:50 +0300
commit676430584d388c5c1a59eec8ab0910ded09c1995 (patch)
tree58125a10ad92344b802424de7e6c33cfc59881cb /doc
parent71355c5f36964482ae303c906505dc7138e2c7d7 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r--doc/administration/geo/setup/database.md36
-rw-r--r--doc/api/award_emoji.md4
-rw-r--r--doc/api/boards.md4
-rw-r--r--doc/api/graphql/sample_issue_boards.md4
-rw-r--r--doc/api/group_boards.md6
-rw-r--r--doc/api/group_labels.md6
-rw-r--r--doc/api/group_milestones.md6
-rw-r--r--doc/api/issues.md4
-rw-r--r--doc/api/issues_statistics.md4
-rw-r--r--doc/api/labels.md4
-rw-r--r--doc/api/milestones.md4
-rw-r--r--doc/api/notification_settings.md18
-rw-r--r--doc/api/projects.md4
-rw-r--r--doc/api/resource_milestone_events.md6
-rw-r--r--doc/api/resource_state_events.md2
-rw-r--r--doc/api/resource_weight_events.md2
-rw-r--r--doc/api/todos.md18
-rw-r--r--doc/development/internal_api.md35
-rw-r--r--doc/development/usage_ping/index.md8
-rw-r--r--doc/user/application_security/configuration/index.md46
-rw-r--r--doc/user/group/epics/manage_epics.md2
-rw-r--r--doc/user/img/todos_add_todo_sidebar.pngbin17524 -> 0 bytes
-rw-r--r--doc/user/img/todos_add_todo_sidebar_v14_1.pngbin0 -> 6554 bytes
-rw-r--r--doc/user/img/todos_mark_done_sidebar.pngbin17619 -> 0 bytes
-rw-r--r--doc/user/img/todos_mark_done_sidebar_v14_1.pngbin0 -> 7055 bytes
-rw-r--r--doc/user/project/description_templates.md2
-rw-r--r--doc/user/project/import/jira.md2
-rw-r--r--doc/user/project/issues/associate_zoom_meeting.md2
-rw-r--r--doc/user/project/issues/confidential_issues.md6
-rw-r--r--doc/user/project/issues/crosslinking_issues.md4
-rw-r--r--doc/user/project/issues/issue_data_and_actions.md2
-rw-r--r--doc/user/project/issues/managing_issues.md2
-rw-r--r--doc/user/project/merge_requests/img/status_checks_widget_passed_v14_0.pngbin0 -> 12850 bytes
-rw-r--r--doc/user/project/merge_requests/img/status_checks_widget_pending_v14_0.pngbin0 -> 12735 bytes
-rw-r--r--doc/user/project/merge_requests/status_checks.md39
-rw-r--r--doc/user/project/merge_requests/widgets.md6
-rw-r--r--doc/user/project/time_tracking.md4
-rw-r--r--doc/user/todos.md12
38 files changed, 216 insertions, 88 deletions
diff --git a/doc/administration/geo/setup/database.md b/doc/administration/geo/setup/database.md
index 6bf7f5751a6..a5a6311287c 100644
--- a/doc/administration/geo/setup/database.md
+++ b/doc/administration/geo/setup/database.md
@@ -515,13 +515,21 @@ For instructions about how to set up Patroni on the primary site, see the
In a Geo secondary site, the main PostgreSQL database is a read-only replica of the primary site’s PostgreSQL database.
-If you are currently using `repmgr` on your Geo primary site, see [these instructions](#migrating-from-repmgr-to-patroni) for migrating from `repmgr` to Patroni.
+If you are currently using `repmgr` on your Geo primary site, see [these instructions](#migrating-from-repmgr-to-patroni)
+for migrating from `repmgr` to Patroni.
-A production-ready and secure setup requires at least three Consul nodes, three
-Patroni nodes, one internal load-balancing node on the primary site, and a similar
-configuration for the secondary site. The internal load balancer provides a single
-endpoint for connecting to the Patroni cluster's leader whenever a new leader is
-elected. Be sure to use [password credentials](../../postgresql/replication_and_failover.md#database-authorization-for-patroni) and other database best practices.
+A production-ready and secure setup requires at least:
+
+- 3 Consul nodes _(primary and secondary sites)_
+- 2 Patroni nodes _(primary and secondary sites)_
+- 1 PgBouncer node _(primary and secondary sites)_
+- 1 internal load-balancer _(primary site only)_
+
+The internal load balancer provides a single endpoint for connecting to the Patroni cluster's leader whenever a new leader is
+elected, and it is required for enabling cascading replication from the secondary sites.
+
+Be sure to use [password credentials](../../postgresql/replication_and_failover.md#database-authorization-for-patroni)
+and other database best practices.
##### Step 1. Configure Patroni permanent replication slot on the primary site
@@ -781,17 +789,17 @@ by following the same instructions above.
Secondary sites use a separate PostgreSQL installation as a tracking database to
keep track of replication status and automatically recover from potential replication issues.
Omnibus automatically configures a tracking database when `roles(['geo_secondary_role'])` is set.
-If you want to run this database in a highly available configuration, follow the instructions below.
-A production-ready and secure setup requires at least three Consul nodes, three
-Patroni nodes on the secondary site secondary site. Be sure to use [password credentials](../../postgresql/replication_and_failover.md#database-authorization-for-patroni) and other database best practices.
+If you want to run this database in a highly available configuration, don't use the `geo_secondary_role` above.
+Instead, follow the instructions below.
-#### Step 1. Configure a PgBouncer node on the secondary site
+A production-ready and secure setup requires at least three Consul nodes, two
+Patroni nodes and one PgBouncer node on the secondary site.
-A production-ready and highly available configuration requires at least
-three Consul nodes, three PgBouncer nodes, and one internal load-balancing node.
-The internal load balancer provides a single endpoint for connecting to the
-PgBouncer cluster. For more information, see [High Availability with Omnibus GitLab](../../postgresql/replication_and_failover.md).
+Be sure to use [password credentials](../../postgresql/replication_and_failover.md#database-authorization-for-patroni)
+and other database best practices.
+
+#### Step 1. Configure a PgBouncer node on the secondary site
Follow the minimal configuration for the PgBouncer node for the tracking database:
diff --git a/doc/api/award_emoji.md b/doc/api/award_emoji.md
index 32ac6ef26ea..2cefacbb84c 100644
--- a/doc/api/award_emoji.md
+++ b/doc/api/award_emoji.md
@@ -4,9 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Award Emoji API
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4575) in GitLab 8.9. Snippet support added in 8.12.
+# Award emoji API **(FREE)**
An [awarded emoji](../user/award_emojis.md) tells a thousand words.
diff --git a/doc/api/boards.md b/doc/api/boards.md
index 3cdd9552d66..d4b7714b965 100644
--- a/doc/api/boards.md
+++ b/doc/api/boards.md
@@ -4,9 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Project Issue Boards API
+# Project issue boards API **(FREE)**
-Every API call to boards must be authenticated.
+Every API call to [issue boards](../user/project/issue_board.md) must be authenticated.
If a user is not a member of a private project,
a `GET` request on that project results in a `404` status code.
diff --git a/doc/api/graphql/sample_issue_boards.md b/doc/api/graphql/sample_issue_boards.md
index 86881465ed6..68c12aa26a2 100644
--- a/doc/api/graphql/sample_issue_boards.md
+++ b/doc/api/graphql/sample_issue_boards.md
@@ -4,10 +4,10 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Identify issue boards with GraphQL
+# Identify issue boards with GraphQL **(FREE)**
This page describes how you can use the GraphiQL explorer to identify
-existing issue boards in the `gitlab-docs` documentation repository.
+existing [issue boards](../../user/project/issue_board.md) in the `gitlab-docs` documentation repository.
## Set up the GraphiQL explorer
diff --git a/doc/api/group_boards.md b/doc/api/group_boards.md
index a0121388194..a09c2a7d760 100644
--- a/doc/api/group_boards.md
+++ b/doc/api/group_boards.md
@@ -4,16 +4,16 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Group Issue Boards API
+# Group issue boards API **(FREE)**
-Every API call to group boards must be authenticated.
+Every API call to [group issue boards](../user/project/issue_board.md#group-issue-boards) must be authenticated.
If a user is not a member of a group and the group is private, a `GET`
request results in `404` status code.
## List all group issue boards in a group
-Lists Issue Boards in the given group.
+Lists issue boards in the given group.
```plaintext
GET /groups/:id/boards
diff --git a/doc/api/group_labels.md b/doc/api/group_labels.md
index 2aca98259e0..73a0473ec98 100644
--- a/doc/api/group_labels.md
+++ b/doc/api/group_labels.md
@@ -4,11 +4,13 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Group Labels API
+# Group labels API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21368) in GitLab 11.8.
-This API supports managing of [group labels](../user/project/labels.md#project-labels-and-group-labels). It allows to list, create, update, and delete group labels. Furthermore, users can subscribe and unsubscribe to and from group labels.
+This API supports managing [group labels](../user/project/labels.md#project-labels-and-group-labels).
+It allows users to list, create, update, and delete group labels. Furthermore, users can subscribe to and
+unsubscribe from group labels.
NOTE:
The `description_html` - was added to response JSON in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413).
diff --git a/doc/api/group_milestones.md b/doc/api/group_milestones.md
index 40d51f90b5a..9509bbacca3 100644
--- a/doc/api/group_milestones.md
+++ b/doc/api/group_milestones.md
@@ -4,11 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Group milestones API
+# Group milestones API **(FREE)**
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12819) in GitLab 9.5.
-
-This page describes the group milestones API.
+Use the group [milestones](../user/project/milestones/index.md) using the REST API.
There's a separate [project milestones API](milestones.md) page.
## List group milestones
diff --git a/doc/api/issues.md b/doc/api/issues.md
index f321c00e7f2..f3e0f0b7c88 100644
--- a/doc/api/issues.md
+++ b/doc/api/issues.md
@@ -4,7 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Issues API
+# Issues API **(FREE)**
+
+Interact with [GitLab Issues](../user/project/issues/index.md) using the REST API.
If a user is not a member of a private project, a `GET`
request on that project results in a `404` status code.
diff --git a/doc/api/issues_statistics.md b/doc/api/issues_statistics.md
index de5f26141f5..6535302a122 100644
--- a/doc/api/issues_statistics.md
+++ b/doc/api/issues_statistics.md
@@ -4,9 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Issues Statistics API
+# Issues statistics API **(FREE)**
-Every API call to issues_statistics must be authenticated.
+Every API call to the [issues](../user/project/issues/index.md) statistics API must be authenticated.
If a user is not a member of a project and the project is private, a `GET`
request on that project results in a `404` status code.
diff --git a/doc/api/labels.md b/doc/api/labels.md
index 5abab7a79c4..bbb034a21fa 100644
--- a/doc/api/labels.md
+++ b/doc/api/labels.md
@@ -4,7 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Labels API
+# Labels API **(FREE)**
+
+Interact with [labels](../user/project/labels.md) using the REST API.
NOTE:
The `description_html` - was added to response JSON in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413).
diff --git a/doc/api/milestones.md b/doc/api/milestones.md
index 15927ad852e..5dd5c0bed9f 100644
--- a/doc/api/milestones.md
+++ b/doc/api/milestones.md
@@ -4,9 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Project milestones API
+# Project milestones API **(FREE)**
-This page describes the project milestones API.
+Use project [milestones](../user/project/milestones/index.md) with the REST API.
There's a separate [group milestones API](group_milestones.md) page.
## List project milestones
diff --git a/doc/api/notification_settings.md b/doc/api/notification_settings.md
index 69bed193f07..2b9d7efc4e0 100644
--- a/doc/api/notification_settings.md
+++ b/doc/api/notification_settings.md
@@ -4,22 +4,20 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Notification settings API
+# Notification settings API **(FREE)**
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5632) in GitLab 8.12.
+Change [notification settings](../user/profile/notifications.md) using the REST API.
## Valid notification levels
The notification levels are defined in the `NotificationSetting.level` model enumeration. Currently, these levels are recognized:
-```plaintext
-disabled
-participating
-watch
-global
-mention
-custom
-```
+- `disabled`
+- `participating`
+- `watch`
+- `global`
+- `mention`
+- `custom`
If the `custom` level is used, specific email events can be controlled. Available events are returned by `NotificationSetting.email_events`. Currently, these events are recognized:
diff --git a/doc/api/projects.md b/doc/api/projects.md
index e2edd43df12..ae271831e25 100644
--- a/doc/api/projects.md
+++ b/doc/api/projects.md
@@ -4,7 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Projects API
+# Projects API **(FREE)**
+
+Interact with [projects](../user/project/index.md) using the REST API.
## Project visibility level
diff --git a/doc/api/resource_milestone_events.md b/doc/api/resource_milestone_events.md
index df51584a4ed..e595d308d4e 100644
--- a/doc/api/resource_milestone_events.md
+++ b/doc/api/resource_milestone_events.md
@@ -4,12 +4,12 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Resource milestone events API
+# Resource milestone events API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31720) in GitLab 13.1.
-Resource milestone events keep track of what happens to GitLab [issues](../user/project/issues/) and
-[merge requests](../user/project/merge_requests/).
+Resource [milestone](../user/project/milestones/index.md) events keep track of what happens to
+GitLab [issues](../user/project/issues/) and [merge requests](../user/project/merge_requests/).
Use them to track which milestone was added or removed, who did it, and when it happened.
diff --git a/doc/api/resource_state_events.md b/doc/api/resource_state_events.md
index e81b7ddd272..cb72eef8d3a 100644
--- a/doc/api/resource_state_events.md
+++ b/doc/api/resource_state_events.md
@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Resource state events API
+# Resource state events API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35210/) in GitLab 13.2.
diff --git a/doc/api/resource_weight_events.md b/doc/api/resource_weight_events.md
index 44c20c5bca8..503d0057e0f 100644
--- a/doc/api/resource_weight_events.md
+++ b/doc/api/resource_weight_events.md
@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Resource weight events API
+# Resource weight events API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32542) in GitLab 13.2.
diff --git a/doc/api/todos.md b/doc/api/todos.md
index 69c0f760a29..737bfb11da9 100644
--- a/doc/api/todos.md
+++ b/doc/api/todos.md
@@ -4,13 +4,13 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# To dos API
+# GitLab To-Do List API **(FREE)**
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3188) in GitLab 8.10.
+Interact with [to-do items](../user/todos.md) using the REST API.
-## Get a list of to dos
+## Get a list of to-do items
-Returns a list of [to-do items](../user/todos.md). When no filter is applied, it
+Returns a list of to-do items. When no filter is applied, it
returns all pending to-do items for the current user. Different filters allow the
user to refine the request.
@@ -26,7 +26,7 @@ Parameters:
| `author_id` | integer | no | The ID of an author |
| `project_id` | integer | no | The ID of a project |
| `group_id` | integer | no | The ID of a group |
-| `state` | string | no | The state of the to do. Can be either `pending` or `done` |
+| `state` | string | no | The state of the to-do item. Can be either `pending` or `done` |
| `type` | string | no | The type of to-do item. Can be either `Issue`, `MergeRequest`, `DesignManagement::Design` or `AlertManagement::Alert` |
```shell
@@ -190,8 +190,8 @@ Example Response:
## Mark a to-do item as done
-Marks a single pending to do given by its ID for the current user as done. The
-to do marked as done is returned in the response.
+Marks a single pending to-do item given by its ID for the current user as done. The
+to-do item marked as done is returned in the response.
```plaintext
POST /todos/:id/mark_as_done
@@ -287,9 +287,9 @@ Example Response:
}
```
-## Mark all to dos as done
+## Mark all to-do items as done
-Marks all pending to dos for the current user as done. It returns the HTTP status code `204` with an empty response.
+Marks all pending to-do items for the current user as done. It returns the HTTP status code `204` with an empty response.
```plaintext
POST /todos/mark_as_done
diff --git a/doc/development/internal_api.md b/doc/development/internal_api.md
index 481f603b931..65559e3fda5 100644
--- a/doc/development/internal_api.md
+++ b/doc/development/internal_api.md
@@ -653,7 +653,7 @@ Example response:
## CI minute provisioning
-The CI Minute endpoint is used by [CustomersDot](https://gitlab.com/gitlab-org/customers-gitlab-com) (`customers.gitlab.com`)
+The CI Minute endpoints are used by [CustomersDot](https://gitlab.com/gitlab-org/customers-gitlab-com) (`customers.gitlab.com`)
to apply additional packs of CI minutes, for personal namespaces or top-level groups within GitLab.com.
### Creating an additional pack
@@ -694,6 +694,39 @@ Example response:
}
```
+### Moving additional packs
+
+Use a PATCH to move additional packs from one namespace to another.
+
+```plaintext
+PATCH /namespaces/:id/minutes/move/:target_id
+```
+
+| Attribute | Type | Required | Description |
+|:------------|:--------|:---------|:------------|
+| `id` | string | yes | The ID of the namespace to transfer packs from |
+| `target_id` | string | yes | The ID of the target namespace to transfer the packs to |
+
+Example request:
+
+```shell
+curl --request PATCH \
+ --url http://localhost:3000/api/v4/namespaces/123/minutes/move/321 \
+ --header 'PRIVATE-TOKEN: <admin access token>'
+```
+
+Example response:
+
+```json
+{
+ "message": "202 Accepted"
+}
+```
+
+### Known consumers
+
+- CustomersDot
+
## Upcoming reconciliations
The `upcoming_reconciliations` endpoint is used by [CustomersDot](https://gitlab.com/gitlab-org/customers-gitlab-com) (`customers.gitlab.com`)
diff --git a/doc/development/usage_ping/index.md b/doc/development/usage_ping/index.md
index c479fc37896..30d85fe0df9 100644
--- a/doc/development/usage_ping/index.md
+++ b/doc/development/usage_ping/index.md
@@ -4,7 +4,7 @@ group: Product Intelligence
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
---
-# Usage Ping Guide
+# Usage Ping Guide **(FREE SELF)**
> Introduced in GitLab Ultimate 11.2, more statistics.
@@ -37,7 +37,7 @@ and sales teams understand how GitLab is used. For example, the data helps to:
Usage Ping information is not anonymous. It's linked to the instance's hostname. However, it does
not contain project names, usernames, or any other specific data.
-Sending a Usage Ping payload is optional and can be [disabled](#disable-usage-ping) on any instance.
+Sending a Usage Ping payload is optional and can be [disabled](#disable-usage-ping) on any self-managed instance.
When Usage Ping is enabled, GitLab gathers data from the other instances
and can show your instance's usage statistics to your users.
@@ -66,7 +66,7 @@ We use the following terminology to describe the Usage Ping components:
- Usage Ping does not track frontend events things like page views, link clicks, or user sessions, and only focuses on aggregated backend events.
- Because of these limitations we recommend instrumenting your products with Snowplow for more detailed analytics on GitLab.com and use Usage Ping to track aggregated backend events on self-managed.
-## Usage Ping payload
+## View the Usage Ping payload **(FREE SELF)**
You can view the exact JSON payload sent to GitLab Inc. in the administration panel. To view the payload:
@@ -78,7 +78,7 @@ You can view the exact JSON payload sent to GitLab Inc. in the administration pa
For an example payload, see [Example Usage Ping payload](#example-usage-ping-payload).
-## Disable Usage Ping
+## Disable Usage Ping **(FREE SELF)**
NOTE:
The method to disable Usage Ping in the GitLab configuration file does not work in
diff --git a/doc/user/application_security/configuration/index.md b/doc/user/application_security/configuration/index.md
index 8c34303ca00..f2fb11da66e 100644
--- a/doc/user/application_security/configuration/index.md
+++ b/doc/user/application_security/configuration/index.md
@@ -25,6 +25,27 @@ For each security control the page displays:
- **Security Control:** Name, description, and a documentation link.
- **Manage:** A management option or a documentation link.
+## UI redesign
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/326926) in 14.0 for GitLab Free and Premium, behind a feature flag, disabled by default.
+> - Enabled on GitLab.com.
+> - Recommended for production use.
+> - It can be enabled or disabled for a single project.
+> - To use in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-ui-redesign). **(FREE SELF)**
+
+WARNING:
+This feature might not be available to you. Check the **version history** note above for details.
+
+The Security Configuration page has been redesigned in GitLab Free and Premium.
+The same functionality exists as before, but presented in a more extensible
+way.
+
+For each security control the page displays:
+
+- Its name, description and a documentation link.
+- Whether or not it is available.
+- A configuration button or a link to its configuration guide.
+
## Status **(ULTIMATE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20711) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6.
@@ -52,3 +73,28 @@ You can configure the following security controls:
- Secret Detection
- Select **Configure via Merge Request** to create a merge request with the changes required to
enable Secret Detection. For more details, see [Enable Secret Detection via an automatic merge request](../secret_detection/index.md#enable-secret-detection-via-an-automatic-merge-request).
+
+## Enable or disable UI redesign **(FREE SELF)**
+
+The Security Configuration redesign is under development, but is ready for
+production use. It is deployed behind a feature flag that is **disabled by
+default**.
+[GitLab administrators with access to the GitLab Rails console](../../../administration/feature_flags.md) can enable it.
+
+To enable it:
+
+```ruby
+# For the instance
+Feature.enable(:security_configuration_redesign)
+# For a single project
+Feature.enable(:security_configuration_redesign, Project.find(<project id>))
+```
+
+To disable it:
+
+```ruby
+# For the instance
+Feature.disable(:security_configuration_redesign)
+# For a single project
+Feature.disable(:security_configuration_redesign, Project.find(<project id>))
+```
diff --git a/doc/user/group/epics/manage_epics.md b/doc/user/group/epics/manage_epics.md
index 89fd32a8db1..de6d49a59fc 100644
--- a/doc/user/group/epics/manage_epics.md
+++ b/doc/user/group/epics/manage_epics.md
@@ -5,8 +5,6 @@ group: Product Planning
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
---
-<!-- When adding a new h2 section here, remember to mention it in index.md#manage-epics -->
-
# Manage epics **(PREMIUM)**
This page collects instructions for all the things you can do with [epics](index.md) or in relation
diff --git a/doc/user/img/todos_add_todo_sidebar.png b/doc/user/img/todos_add_todo_sidebar.png
deleted file mode 100644
index aefec7a2d9c..00000000000
--- a/doc/user/img/todos_add_todo_sidebar.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/img/todos_add_todo_sidebar_v14_1.png b/doc/user/img/todos_add_todo_sidebar_v14_1.png
new file mode 100644
index 00000000000..65120beca29
--- /dev/null
+++ b/doc/user/img/todos_add_todo_sidebar_v14_1.png
Binary files differ
diff --git a/doc/user/img/todos_mark_done_sidebar.png b/doc/user/img/todos_mark_done_sidebar.png
deleted file mode 100644
index 2badd880b40..00000000000
--- a/doc/user/img/todos_mark_done_sidebar.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/img/todos_mark_done_sidebar_v14_1.png b/doc/user/img/todos_mark_done_sidebar_v14_1.png
new file mode 100644
index 00000000000..628fe65a7c1
--- /dev/null
+++ b/doc/user/img/todos_mark_done_sidebar_v14_1.png
Binary files differ
diff --git a/doc/user/project/description_templates.md b/doc/user/project/description_templates.md
index 711d7f561e4..72ef88b5fab 100644
--- a/doc/user/project/description_templates.md
+++ b/doc/user/project/description_templates.md
@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Description templates
+# Description templates **(FREE)**
We all know that a properly submitted issue is more likely to be addressed in
a timely manner by the developers of a project.
diff --git a/doc/user/project/import/jira.md b/doc/user/project/import/jira.md
index 4273f90c1e7..07419080d7d 100644
--- a/doc/user/project/import/jira.md
+++ b/doc/user/project/import/jira.md
@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Import your Jira project issues to GitLab
+# Import your Jira project issues to GitLab **(PREMIUM)**
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2766) in GitLab 12.10.
diff --git a/doc/user/project/issues/associate_zoom_meeting.md b/doc/user/project/issues/associate_zoom_meeting.md
index f98e94c66ae..e020bdee737 100644
--- a/doc/user/project/issues/associate_zoom_meeting.md
+++ b/doc/user/project/issues/associate_zoom_meeting.md
@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Associate a Zoom meeting with an issue
+# Associate a Zoom meeting with an issue **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16609) in GitLab 12.4.
diff --git a/doc/user/project/issues/confidential_issues.md b/doc/user/project/issues/confidential_issues.md
index ed15d7a2e63..92c26fb654e 100644
--- a/doc/user/project/issues/confidential_issues.md
+++ b/doc/user/project/issues/confidential_issues.md
@@ -4,11 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Confidential issues
+# Confidential issues **(FREE)**
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3282) in GitLab 8.6.
-
-Confidential issues are issues visible only to members of a project with
+Confidential issues are [issues](index.md) visible only to members of a project with
[sufficient permissions](#permissions-and-access-to-confidential-issues).
Confidential issues can be used by open source projects and companies alike to
keep security vulnerabilities private or prevent surprises from leaking out.
diff --git a/doc/user/project/issues/crosslinking_issues.md b/doc/user/project/issues/crosslinking_issues.md
index 63b38520c98..2b07131df6e 100644
--- a/doc/user/project/issues/crosslinking_issues.md
+++ b/doc/user/project/issues/crosslinking_issues.md
@@ -4,9 +4,9 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Crosslinking issues
+# Crosslinking issues **(FREE)**
-There are several ways to mention an issue or make issues appear in each other's
+There are several ways to mention an issue or make [issues](index.md) appear in each other's
[Linked issues](related_issues.md) section.
For more information on GitLab Issues, read the [issues documentation](index.md).
diff --git a/doc/user/project/issues/issue_data_and_actions.md b/doc/user/project/issues/issue_data_and_actions.md
index 13f5beadb16..1a079001af8 100644
--- a/doc/user/project/issues/issue_data_and_actions.md
+++ b/doc/user/project/issues/issue_data_and_actions.md
@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Issue Data and Actions
+# Issue Data and Actions **(FREE)**
Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues.
diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md
index 35573518626..ff9360193bb 100644
--- a/doc/user/project/issues/managing_issues.md
+++ b/doc/user/project/issues/managing_issues.md
@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Managing issues
+# Managing issues **(FREE)**
[GitLab Issues](index.md) are the fundamental medium for collaborating on ideas and
planning work in GitLab.
diff --git a/doc/user/project/merge_requests/img/status_checks_widget_passed_v14_0.png b/doc/user/project/merge_requests/img/status_checks_widget_passed_v14_0.png
new file mode 100644
index 00000000000..de61ca8b553
--- /dev/null
+++ b/doc/user/project/merge_requests/img/status_checks_widget_passed_v14_0.png
Binary files differ
diff --git a/doc/user/project/merge_requests/img/status_checks_widget_pending_v14_0.png b/doc/user/project/merge_requests/img/status_checks_widget_pending_v14_0.png
new file mode 100644
index 00000000000..c4e606bd2f4
--- /dev/null
+++ b/doc/user/project/merge_requests/img/status_checks_widget_pending_v14_0.png
Binary files differ
diff --git a/doc/user/project/merge_requests/status_checks.md b/doc/user/project/merge_requests/status_checks.md
index 779e6f5c329..f0323847562 100644
--- a/doc/user/project/merge_requests/status_checks.md
+++ b/doc/user/project/merge_requests/status_checks.md
@@ -113,6 +113,32 @@ To complete the deletion of the status check you must select the
**Remove status check** button. This **permanently** deletes
the status check and it **will not** be recoverable.
+## Status checks widget
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/327634) in GitLab 14.1.
+> - The [external status checks](#external-status-checks) feature must be [enabled](#enable-or-disable-status-checks) to see the status checks widget.
+
+The status checks widget displays in merge requests and shows the status of external
+status checks:
+
+![Status checks widget](img/status_checks_widget_passed_v14_0.png)
+
+An organization might have a policy that does not allow merging merge requests if
+external status checks do not pass. However, the details in the widget are for informational
+purposes only. GitLab does not prevent merging of merge requests that fail status checks.
+
+While GitLab waits for a response from the external status check, the widget shows
+the status checks as `pending`:
+
+![Status checks widget pending](img/status_checks_widget_pending_v14_0.png)
+
+After GitLab [receives a response](../../../api/status_checks.md#set-approval-status-of-an-external-status-check)
+from the external status check, the widget updates accordingly.
+
+NOTE:
+GitLab cannot guarantee that the external status checks are properly processed by
+the related external service.
+
## Troubleshooting
### Duplicate value errors
@@ -149,6 +175,19 @@ An unexpected response was received from the branches retrieval API.
As suggested, you should close the form and reopen again or refresh the page. This error should be temporary, although
if it persists please check the [GitLab status page](https://status.gitlab.com/) to see if there is a wider outage.
+### Failed to load status checks
+
+```plaintext
+Failed to load status checks
+```
+
+An unexpected response was received from the external status checks API.
+You should:
+
+- Refresh the page in case this error is temporary.
+- Check the [GitLab status page](https://status.gitlab.com/) if the problem persists,
+ to see if there is a wider outage.
+
## Enable or disable status checks **(ULTIMATE SELF)**
Status checks are under development and not ready for production use. It is
diff --git a/doc/user/project/merge_requests/widgets.md b/doc/user/project/merge_requests/widgets.md
index 92b2a8f24ef..e4525f6a5b7 100644
--- a/doc/user/project/merge_requests/widgets.md
+++ b/doc/user/project/merge_requests/widgets.md
@@ -62,3 +62,9 @@ merge request widget takes you directly to the pages changed, making it easier a
faster to preview proposed modifications.
[Read more about Review Apps](../../../ci/review_apps/index.md).
+
+## External status checks **(ULTIMATE)**
+
+If you have configured [external status checks](status_checks.md) you can
+see the status of these checks in merge requests
+[in a specific widget](status_checks.md#status-checks-widget).
diff --git a/doc/user/project/time_tracking.md b/doc/user/project/time_tracking.md
index b7fd14ae74b..a1469c50b8e 100644
--- a/doc/user/project/time_tracking.md
+++ b/doc/user/project/time_tracking.md
@@ -6,9 +6,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Time Tracking
-
-> Introduced in GitLab 8.14.
+# Time Tracking **(FREE)**
Time Tracking allows you to track estimates and time spent on issues and merge
requests within GitLab.
diff --git a/doc/user/todos.md b/doc/user/todos.md
index 4227f46dfa8..c881925be3c 100644
--- a/doc/user/todos.md
+++ b/doc/user/todos.md
@@ -56,7 +56,7 @@ A to-do item appears on your To-Do List when:
and you're the user that added it.
When several trigger actions occur for the same user on the same object (for
-example, an issue), GitLab displays only the first action as a single to do
+example, an issue), GitLab displays only the first action as a single to-do
item.
To-do item triggers aren't affected by [GitLab notification email settings](profile/notifications.md).
@@ -99,7 +99,7 @@ You can also add the following to your To-Do List by clicking the **Add a to do*
- [Epics](group/epics/index.md)
- [Designs](project/issues/design_management.md)
-![Adding a to-do item from the issuable sidebar](img/todos_add_todo_sidebar.png)
+![Adding a to-do item from the issuable sidebar](img/todos_add_todo_sidebar_v14_1.png)
## Marking a to-do item as done
@@ -129,12 +129,12 @@ If no action is needed, you can manually mark the to-do item as done by
clicking its corresponding **Done** button to have GitLab remove the item from
your To-Do List.
-![A to do in the To-Do List](img/todos_todo_list_item.png)
+![A to-do in the To-Do List](img/todos_todo_list_item.png)
You can also mark a to-do item as done by clicking the **Mark as done** button
in the sidebar of an issue, merge request, or epic.
-![Mark as done from the issuable sidebar](img/todos_mark_done_sidebar.png)
+![Mark as done from the issuable sidebar](img/todos_mark_done_sidebar_v14_1.png)
You can mark all your to-do items as done at once by clicking the
**Mark all as done** button.
@@ -147,9 +147,9 @@ You can use the following types of filters with your To-Do List:
| ------- | ---------------------------------------------------------------- |
| Project | Filter by project. |
| Group | Filter by group. |
-| Author | Filter by the author that triggered the to do. |
+| Author | Filter by the author that triggered the to-do item. |
| Type | Filter by issue, merge request, design, or epic. |
-| Action | Filter by the action that triggered the to do. |
+| Action | Filter by the action that triggered the to-do item. |
You can also filter by more than one of these at the same time. The previously
described [triggering actions](#what-triggers-a-to-do-item) include: