summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-05-27 03:08:26 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-05-27 03:08:26 +0000
commitae5e7e4855d32353b371d8eb774a12e1f07a1070 (patch)
tree8dae842f8237931bee680dabeba5d5beafa9edb5
parenta78d7d5c667a0844e52419f11cb83a9ac60ee6d2 (diff)
downloadgitlab-ce-ae5e7e4855d32353b371d8eb774a12e1f07a1070.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--app/controllers/concerns/integrations_actions.rb2
-rw-r--r--app/controllers/search_controller.rb10
-rw-r--r--app/models/project.rb5
-rw-r--r--app/services/admin/propagate_integration_service.rb28
-rw-r--r--app/services/projects/propagate_service_template.rb32
-rw-r--r--changelogs/unreleased/allow-manual-incremental-rollout-jobs-to-fail.yml5
-rw-r--r--db/structure.sql2
-rw-r--r--doc/administration/incoming_email.md6
-rw-r--r--doc/api/award_emoji.md6
-rw-r--r--doc/api/boards.md6
-rw-r--r--doc/api/discussions.md6
-rw-r--r--doc/api/epic_issues.md6
-rw-r--r--doc/api/epics.md6
-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.md6
-rw-r--r--doc/api/labels.md6
-rw-r--r--doc/api/markdown.md6
-rw-r--r--doc/api/milestones.md6
-rw-r--r--doc/api/projects.md6
-rw-r--r--doc/api/todos.md6
-rw-r--r--doc/subscriptions/index.md3
-rw-r--r--doc/user/admin_area/settings/email.md4
-rw-r--r--doc/user/application_security/dast/index.md11
-rw-r--r--doc/user/award_emojis.md12
-rw-r--r--doc/user/discussions/index.md6
-rw-r--r--doc/user/group/epics/index.md3
-rw-r--r--doc/user/group/epics/manage_epics.md3
-rw-r--r--doc/user/group/roadmap/index.md3
-rw-r--r--doc/user/markdown.md6
-rw-r--r--doc/user/profile/notifications.md3
-rw-r--r--doc/user/project/bulk_editing.md6
-rw-r--r--doc/user/project/description_templates.md6
-rw-r--r--doc/user/project/import/jira.md6
-rw-r--r--doc/user/project/issue_board.md6
-rw-r--r--doc/user/project/issues/associate_zoom_meeting.md6
-rw-r--r--doc/user/project/issues/confidential_issues.md6
-rw-r--r--doc/user/project/issues/crosslinking_issues.md6
-rw-r--r--doc/user/project/issues/due_dates.md6
-rw-r--r--doc/user/project/issues/index.md6
-rw-r--r--doc/user/project/issues/issue_data_and_actions.md6
-rw-r--r--doc/user/project/issues/issue_weight.md3
-rw-r--r--doc/user/project/issues/managing_issues.md6
-rw-r--r--doc/user/project/issues/multiple_assignees_for_issues.md6
-rw-r--r--doc/user/project/issues/related_issues.md6
-rw-r--r--doc/user/project/issues/sorting_issue_lists.md8
-rw-r--r--doc/user/project/labels.md6
-rw-r--r--doc/user/project/milestones/burndown_charts.md3
-rw-r--r--doc/user/project/milestones/index.md3
-rw-r--r--doc/user/project/quick_actions.md3
-rw-r--r--doc/user/project/requirements/index.md3
-rw-r--r--doc/user/project/service_desk.md6
-rw-r--r--doc/user/project/time_tracking.md3
-rw-r--r--doc/user/todos.md3
-rw-r--r--lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml2
56 files changed, 307 insertions, 42 deletions
diff --git a/app/controllers/concerns/integrations_actions.rb b/app/controllers/concerns/integrations_actions.rb
index b3ad89f3227..b06b7b212e9 100644
--- a/app/controllers/concerns/integrations_actions.rb
+++ b/app/controllers/concerns/integrations_actions.rb
@@ -16,7 +16,7 @@ module IntegrationsActions
def update
saved = integration.update(service_params[:service])
- overwrite = ActiveRecord::Type::Boolean.new.cast(params[:overwrite])
+ overwrite = Gitlab::Utils.to_boolean(params[:overwrite])
respond_to do |format|
format.html do
diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb
index 2cfae7c272b..ff6d9350a5c 100644
--- a/app/controllers/search_controller.rb
+++ b/app/controllers/search_controller.rb
@@ -5,6 +5,10 @@ class SearchController < ApplicationController
include SearchHelper
include RendersCommits
+ SCOPE_PRELOAD_METHOD = {
+ projects: :with_web_entity_associations
+ }.freeze
+
around_action :allow_gitaly_ref_name_caching
skip_before_action :authenticate_user!
@@ -28,7 +32,7 @@ class SearchController < ApplicationController
@scope = search_service.scope
@show_snippets = search_service.show_snippets?
@search_results = search_service.search_results
- @search_objects = search_service.search_objects
+ @search_objects = search_service.search_objects(preload_method)
render_commits if @scope == 'commits'
eager_load_user_status if @scope == 'users'
@@ -64,6 +68,10 @@ class SearchController < ApplicationController
private
+ def preload_method
+ SCOPE_PRELOAD_METHOD[@scope.to_sym]
+ end
+
def search_term_valid?
unless search_service.valid_query_length?
flash[:alert] = t('errors.messages.search_chars_too_long', count: SearchService::SEARCH_CHAR_LIMIT)
diff --git a/app/models/project.rb b/app/models/project.rb
index a21085c73c8..0929757f8d4 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -509,6 +509,7 @@ class Project < ApplicationRecord
left_outer_joins(:pages_metadatum)
.where(project_pages_metadata: { project_id: nil })
end
+
scope :with_api_entity_associations, -> {
preload(:project_feature, :route, :tags,
group: :ip_restrictions, namespace: [:route, :owner])
@@ -528,6 +529,10 @@ class Project < ApplicationRecord
# Used by Projects::CleanupService to hold a map of rewritten object IDs
mount_uploader :bfg_object_map, AttachmentUploader
+ def self.with_web_entity_associations
+ preload(:project_feature, :route, :creator, :group, namespace: [:route, :owner])
+ end
+
def self.eager_load_namespace_and_owner
includes(namespace: :owner)
end
diff --git a/app/services/admin/propagate_integration_service.rb b/app/services/admin/propagate_integration_service.rb
index 0a3c61816f8..084b103ee3b 100644
--- a/app/services/admin/propagate_integration_service.rb
+++ b/app/services/admin/propagate_integration_service.rb
@@ -114,23 +114,21 @@ module Admin
integration.type == 'ExternalWikiService'
end
+ # rubocop: disable CodeReuse/ActiveRecord
def project_ids_without_integration
- Project.connection.select_values(
- <<-SQL
- SELECT id
- FROM projects
- WHERE NOT EXISTS (
- SELECT true
- FROM services
- WHERE services.project_id = projects.id
- AND services.type = #{ActiveRecord::Base.connection.quote(integration.type)}
- )
- AND projects.pending_delete = false
- AND projects.archived = false
- LIMIT #{BATCH_SIZE}
- SQL
- )
+ services = Service
+ .select('1')
+ .where('services.project_id = projects.id')
+ .where(type: integration.type)
+
+ Project
+ .where('NOT EXISTS (?)', services)
+ .where(pending_delete: false)
+ .where(archived: false)
+ .limit(BATCH_SIZE)
+ .pluck(:id)
end
+ # rubocop: enable CodeReuse/ActiveRecord
def service_hash
@service_hash ||= integration.to_service_hash
diff --git a/app/services/projects/propagate_service_template.rb b/app/services/projects/propagate_service_template.rb
index ecca9715940..4adcda042d1 100644
--- a/app/services/projects/propagate_service_template.rb
+++ b/app/services/projects/propagate_service_template.rb
@@ -26,7 +26,7 @@ module Projects
def propagate_projects_with_template
loop do
- batch = Project.uncached { project_ids_batch }
+ batch = Project.uncached { project_ids_without_integration }
bulk_create_from_template(batch) unless batch.empty?
@@ -50,23 +50,21 @@ module Projects
end
end
- def project_ids_batch
- Project.connection.select_values(
- <<-SQL
- SELECT id
- FROM projects
- WHERE NOT EXISTS (
- SELECT true
- FROM services
- WHERE services.project_id = projects.id
- AND services.type = #{ActiveRecord::Base.connection.quote(template.type)}
- )
- AND projects.pending_delete = false
- AND projects.archived = false
- LIMIT #{BATCH_SIZE}
- SQL
- )
+ # rubocop: disable CodeReuse/ActiveRecord
+ def project_ids_without_integration
+ services = Service
+ .select('1')
+ .where('services.project_id = projects.id')
+ .where(type: template.type)
+
+ Project
+ .where('NOT EXISTS (?)', services)
+ .where(pending_delete: false)
+ .where(archived: false)
+ .limit(BATCH_SIZE)
+ .pluck(:id)
end
+ # rubocop: enable CodeReuse/ActiveRecord
def bulk_insert(klass, columns, values_array)
items_to_insert = values_array.map { |array| Hash[columns.zip(array)] }
diff --git a/changelogs/unreleased/allow-manual-incremental-rollout-jobs-to-fail.yml b/changelogs/unreleased/allow-manual-incremental-rollout-jobs-to-fail.yml
new file mode 100644
index 00000000000..4cbea1cf756
--- /dev/null
+++ b/changelogs/unreleased/allow-manual-incremental-rollout-jobs-to-fail.yml
@@ -0,0 +1,5 @@
+---
+title: Fix Auto DevOps manual rollout jobs not being allowed to fail
+merge_request: 32865
+author:
+type: fixed
diff --git a/db/structure.sql b/db/structure.sql
index bdafdfa2378..668c4a7d639 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -442,11 +442,11 @@ CREATE TABLE public.application_settings (
group_owners_can_manage_default_branch_protection boolean DEFAULT true NOT NULL,
container_registry_vendor text DEFAULT ''::text NOT NULL,
container_registry_version text DEFAULT ''::text NOT NULL,
- repository_storages_weighted jsonb DEFAULT '{}'::jsonb NOT NULL,
container_registry_features text[] DEFAULT '{}'::text[] NOT NULL,
spam_check_endpoint_url text,
spam_check_endpoint_enabled boolean DEFAULT false NOT NULL,
elasticsearch_pause_indexing boolean DEFAULT false NOT NULL,
+ repository_storages_weighted jsonb DEFAULT '{}'::jsonb NOT NULL,
CONSTRAINT check_d03919528d CHECK ((char_length(container_registry_vendor) <= 255)),
CONSTRAINT check_d820146492 CHECK ((char_length(spam_check_endpoint_url) <= 255)),
CONSTRAINT check_e5aba18f02 CHECK ((char_length(container_registry_version) <= 255))
diff --git a/doc/administration/incoming_email.md b/doc/administration/incoming_email.md
index 6b3096a84d9..ef8ccf56a86 100644
--- a/doc/administration/incoming_email.md
+++ b/doc/administration/incoming_email.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Incoming email
GitLab has several features based on receiving incoming emails:
diff --git a/doc/api/award_emoji.md b/doc/api/award_emoji.md
index 37b3cd32f89..149812c8d9b 100644
--- a/doc/api/award_emoji.md
+++ b/doc/api/award_emoji.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Award Emoji API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4575) in GitLab 8.9. Snippet support added in 8.12.
diff --git a/doc/api/boards.md b/doc/api/boards.md
index 8af23527931..a4c6541411d 100644
--- a/doc/api/boards.md
+++ b/doc/api/boards.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Issue Boards API
Every API call to boards must be authenticated.
diff --git a/doc/api/discussions.md b/doc/api/discussions.md
index 572e174201d..63f90fa5f91 100644
--- a/doc/api/discussions.md
+++ b/doc/api/discussions.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Discussions API
Discussions are a set of related notes on:
diff --git a/doc/api/epic_issues.md b/doc/api/epic_issues.md
index b001749ff5b..69cfa309ff7 100644
--- a/doc/api/epic_issues.md
+++ b/doc/api/epic_issues.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Portfolio Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Epic Issues API **(ULTIMATE)**
Every API call to epic_issues must be authenticated.
diff --git a/doc/api/epics.md b/doc/api/epics.md
index 1c67bbd1ac1..c07d9aa7c8e 100644
--- a/doc/api/epics.md
+++ b/doc/api/epics.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Portfolio Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Epics API **(PREMIUM)**
> - Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2.
diff --git a/doc/api/group_boards.md b/doc/api/group_boards.md
index adfcd6e65cb..85a7736fb8c 100644
--- a/doc/api/group_boards.md
+++ b/doc/api/group_boards.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Group Issue Boards API
Every API call to group boards must be authenticated.
diff --git a/doc/api/group_labels.md b/doc/api/group_labels.md
index c3b86233836..354c16f77df 100644
--- a/doc/api/group_labels.md
+++ b/doc/api/group_labels.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Group Labels API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21368) in GitLab 11.8.
diff --git a/doc/api/group_milestones.md b/doc/api/group_milestones.md
index 48eb53b2a60..1361e0e2cf8 100644
--- a/doc/api/group_milestones.md
+++ b/doc/api/group_milestones.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Group milestones API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12819) in GitLab 9.5.
diff --git a/doc/api/issues.md b/doc/api/issues.md
index e466e03f226..115f0e43d17 100644
--- a/doc/api/issues.md
+++ b/doc/api/issues.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Issues API
Every API call to issues must be authenticated.
diff --git a/doc/api/labels.md b/doc/api/labels.md
index 3ced7da8ed5..7cfc4a9be62 100644
--- a/doc/api/labels.md
+++ b/doc/api/labels.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Labels API
NOTE: **Note:**
diff --git a/doc/api/markdown.md b/doc/api/markdown.md
index 45f105b4e2a..462bd6a1d49 100644
--- a/doc/api/markdown.md
+++ b/doc/api/markdown.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Markdown API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18926) in GitLab 11.0.
diff --git a/doc/api/milestones.md b/doc/api/milestones.md
index f211e115efb..9dc5c6989c0 100644
--- a/doc/api/milestones.md
+++ b/doc/api/milestones.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Project milestones API
## List project milestones
diff --git a/doc/api/projects.md b/doc/api/projects.md
index 2b65c58be24..83b4b23b1cf 100644
--- a/doc/api/projects.md
+++ b/doc/api/projects.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Projects API
## Project visibility level
diff --git a/doc/api/todos.md b/doc/api/todos.md
index cd6f2468cc6..d6d25d2f1dd 100644
--- a/doc/api/todos.md
+++ b/doc/api/todos.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Todos API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3188) in GitLab 8.10.
diff --git a/doc/subscriptions/index.md b/doc/subscriptions/index.md
index 240204b7ba9..718ce403451 100644
--- a/doc/subscriptions/index.md
+++ b/doc/subscriptions/index.md
@@ -33,6 +33,9 @@ There are some differences in how a subscription applies, depending if you use G
On a self-managed instance, a GitLab subscription provides the same set of features for all users. On GitLab.com you can apply a subscription to either a group or a personal namespace.
+NOTE: **Note:**
+Subscriptions cannot be transferred between GitLab.com and GitLab self-managed. A new subscription must be purchased and applied as needed.
+
### Choosing a GitLab.com group or personal subscription
On GitLab.com you can apply a subscription to either a group or a personal namespace.
diff --git a/doc/user/admin_area/settings/email.md b/doc/user/admin_area/settings/email.md
index a99897657ae..d956364b3ea 100644
--- a/doc/user/admin_area/settings/email.md
+++ b/doc/user/admin_area/settings/email.md
@@ -1,7 +1,11 @@
---
type: reference
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
+
# Email **(CORE ONLY)**
You can customize some of the content in emails sent from your GitLab instance.
diff --git a/doc/user/application_security/dast/index.md b/doc/user/application_security/dast/index.md
index a3cf1288128..2202d7567cd 100644
--- a/doc/user/application_security/dast/index.md
+++ b/doc/user/application_security/dast/index.md
@@ -145,7 +145,14 @@ the site during a scan could lead to inaccurate results.
### Authentication
-It's also possible to authenticate the user before performing the DAST checks:
+It's also possible to authenticate the user before performing the DAST checks.
+
+Create masked variables to pass the credentials that DAST will use.
+To create masked variables for the username and password, see [Create a custom variable in the UI](../../../ci/variables/README.md#create-a-custom-variable-in-the-ui).
+Note that the key of the username variable must be `DAST_USERNAME`
+and the key of the password variable must be `DAST_PASSWORD`.
+
+Other variables that are related to authenticated scans are:
```yaml
include:
@@ -154,8 +161,6 @@ include:
variables:
DAST_WEBSITE: https://example.com
DAST_AUTH_URL: https://example.com/sign-in
- DAST_USERNAME: john.doe@example.com
- DAST_PASSWORD: john-doe-password
DAST_USERNAME_FIELD: session[user] # the name of username field at the sign-in HTML form
DAST_PASSWORD_FIELD: session[password] # the name of password field at the sign-in HTML form
DAST_AUTH_EXCLUDE_URLS: http://example.com/sign-out,http://example.com/sign-out-2 # optional, URLs to skip during the authenticated scan; comma-separated, no spaces in between
diff --git a/doc/user/award_emojis.md b/doc/user/award_emojis.md
index 5a82712c055..47249a44bc1 100644
--- a/doc/user/award_emojis.md
+++ b/doc/user/award_emojis.md
@@ -1,9 +1,15 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Award emoji
-> - First [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/1825) in GitLab 8.2.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/1825) in GitLab 8.2.
> - GitLab 9.0 [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9570) the usage of native emoji if the platform
-> supports them and falls back to images or CSS sprites. This change greatly
-> improved award emoji performance overall.
+> supports them and falls back to images or CSS sprites. This change greatly
+> improved award emoji performance overall.
When you're collaborating online, you get fewer opportunities for high-fives
and thumbs-ups. Emoji can be awarded to [issues](project/issues/index.md), [merge requests](project/merge_requests/index.md),
diff --git a/doc/user/discussions/index.md b/doc/user/discussions/index.md
index a26f98e583f..ccd6e146bc5 100644
--- a/doc/user/discussions/index.md
+++ b/doc/user/discussions/index.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Threads
The ability to contribute conversationally is offered throughout GitLab.
diff --git a/doc/user/group/epics/index.md b/doc/user/group/epics/index.md
index 1e108f5a8ba..d33fcad4007 100644
--- a/doc/user/group/epics/index.md
+++ b/doc/user/group/epics/index.md
@@ -1,5 +1,8 @@
---
type: reference, howto
+stage: Plan
+group: Portfolio Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Epics **(PREMIUM)**
diff --git a/doc/user/group/epics/manage_epics.md b/doc/user/group/epics/manage_epics.md
index 2847f04df8d..7da57f56101 100644
--- a/doc/user/group/epics/manage_epics.md
+++ b/doc/user/group/epics/manage_epics.md
@@ -1,5 +1,8 @@
---
type: howto
+stage: Plan
+group: Portfolio Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
<!-- When adding a new section here, remember to mention it in index.md#manage-epics -->
diff --git a/doc/user/group/roadmap/index.md b/doc/user/group/roadmap/index.md
index 7baf486f0e0..614ed700cfc 100644
--- a/doc/user/group/roadmap/index.md
+++ b/doc/user/group/roadmap/index.md
@@ -1,5 +1,8 @@
---
type: reference
+stage: Plan
+group: Portfolio Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Roadmap **(PREMIUM)**
diff --git a/doc/user/markdown.md b/doc/user/markdown.md
index 0baa0ec0620..07855a789a6 100644
--- a/doc/user/markdown.md
+++ b/doc/user/markdown.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# GitLab Markdown
This Markdown guide is **valid only for GitLab's internal Markdown rendering system for entries and files**.
diff --git a/doc/user/profile/notifications.md b/doc/user/profile/notifications.md
index c41d13c8a92..ee228050945 100644
--- a/doc/user/profile/notifications.md
+++ b/doc/user/profile/notifications.md
@@ -1,5 +1,8 @@
---
disqus_identifier: 'https://docs.gitlab.com/ee/workflow/notifications.html'
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# GitLab Notification Emails
diff --git a/doc/user/project/bulk_editing.md b/doc/user/project/bulk_editing.md
index f4733620640..8a7446155f4 100644
--- a/doc/user/project/bulk_editing.md
+++ b/doc/user/project/bulk_editing.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Bulk editing issues and merge requests
> **Notes:**
diff --git a/doc/user/project/description_templates.md b/doc/user/project/description_templates.md
index 4090d52b38a..0f90c321a14 100644
--- a/doc/user/project/description_templates.md
+++ b/doc/user/project/description_templates.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Description templates
>[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4981) in GitLab 8.11.
diff --git a/doc/user/project/import/jira.md b/doc/user/project/import/jira.md
index db48282a8f3..fff3cf546b3 100644
--- a/doc/user/project/import/jira.md
+++ b/doc/user/project/import/jira.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Import your Jira project issues to GitLab
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2766) in GitLab 12.10.
diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md
index 4a39f6a7c7b..89b17609698 100644
--- a/doc/user/project/issue_board.md
+++ b/doc/user/project/issue_board.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Issue Boards
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5554) in [GitLab 8.11](https://about.gitlab.com/releases/2016/08/22/gitlab-8-11-released/#issue-board).
diff --git a/doc/user/project/issues/associate_zoom_meeting.md b/doc/user/project/issues/associate_zoom_meeting.md
index 3bfd24c9654..a026854a947 100644
--- a/doc/user/project/issues/associate_zoom_meeting.md
+++ b/doc/user/project/issues/associate_zoom_meeting.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Associate a Zoom meeting with an issue
> [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 c2672cf3beb..602a6d79848 100644
--- a/doc/user/project/issues/confidential_issues.md
+++ b/doc/user/project/issues/confidential_issues.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Confidential issues
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3282) in GitLab 8.6.
diff --git a/doc/user/project/issues/crosslinking_issues.md b/doc/user/project/issues/crosslinking_issues.md
index e774fd4480b..6cc31a45309 100644
--- a/doc/user/project/issues/crosslinking_issues.md
+++ b/doc/user/project/issues/crosslinking_issues.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Crosslinking Issues
Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues.
diff --git a/doc/user/project/issues/due_dates.md b/doc/user/project/issues/due_dates.md
index 0be0cdd11bd..56fb4ca5cc7 100644
--- a/doc/user/project/issues/due_dates.md
+++ b/doc/user/project/issues/due_dates.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Due dates
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3614) in GitLab 8.7.
diff --git a/doc/user/project/issues/index.md b/doc/user/project/issues/index.md
index 6029f851728..77c09871150 100644
--- a/doc/user/project/issues/index.md
+++ b/doc/user/project/issues/index.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Issues
Issues are the fundamental medium for collaborating on ideas and planning work in GitLab.
diff --git a/doc/user/project/issues/issue_data_and_actions.md b/doc/user/project/issues/issue_data_and_actions.md
index 9a61fd388b8..58c7ee2d807 100644
--- a/doc/user/project/issues/issue_data_and_actions.md
+++ b/doc/user/project/issues/issue_data_and_actions.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Issue Data and Actions
Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues.
diff --git a/doc/user/project/issues/issue_weight.md b/doc/user/project/issues/issue_weight.md
index 74f607dd407..23c1520294d 100644
--- a/doc/user/project/issues/issue_weight.md
+++ b/doc/user/project/issues/issue_weight.md
@@ -1,5 +1,8 @@
---
disqus_identifier: 'https://docs.gitlab.com/ee/workflow/issue_weight.html'
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Issue weight **(STARTER)**
diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md
index b78cfeff509..2f2bee86af5 100644
--- a/doc/user/project/issues/managing_issues.md
+++ b/doc/user/project/issues/managing_issues.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Managing Issues
[GitLab Issues](index.md) are the fundamental medium for collaborating on ideas and
diff --git a/doc/user/project/issues/multiple_assignees_for_issues.md b/doc/user/project/issues/multiple_assignees_for_issues.md
index 3828b354fbc..c11977f5bee 100644
--- a/doc/user/project/issues/multiple_assignees_for_issues.md
+++ b/doc/user/project/issues/multiple_assignees_for_issues.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Multiple Assignees for Issues **(STARTER)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1904) in [GitLab Starter 9.2](https://about.gitlab.com/releases/2017/05/22/gitlab-9-2-released/#multiple-assignees-for-issues).
diff --git a/doc/user/project/issues/related_issues.md b/doc/user/project/issues/related_issues.md
index 8002b528a80..445c28492df 100644
--- a/doc/user/project/issues/related_issues.md
+++ b/doc/user/project/issues/related_issues.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Related issues **(STARTER)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1797) in [GitLab Starter](https://about.gitlab.com/pricing/) 9.4.
diff --git a/doc/user/project/issues/sorting_issue_lists.md b/doc/user/project/issues/sorting_issue_lists.md
index bcaa12ffddc..7cbd9906800 100644
--- a/doc/user/project/issues/sorting_issue_lists.md
+++ b/doc/user/project/issues/sorting_issue_lists.md
@@ -1,4 +1,10 @@
-# Sorting and Ordering Issue Lists
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
+# Sorting and ordering issue lists
You can sort a list of issues several ways, including by issue creation date, milestone due date,
etc. The available sorting options can change based on the context of the list.
diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md
index 7d42460f10c..406938519b1 100644
--- a/doc/user/project/labels.md
+++ b/doc/user/project/labels.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Labels
## Overview
diff --git a/doc/user/project/milestones/burndown_charts.md b/doc/user/project/milestones/burndown_charts.md
index e9f23899068..e28ba1d2d5f 100644
--- a/doc/user/project/milestones/burndown_charts.md
+++ b/doc/user/project/milestones/burndown_charts.md
@@ -1,5 +1,8 @@
---
type: reference
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Burndown Charts **(STARTER)**
diff --git a/doc/user/project/milestones/index.md b/doc/user/project/milestones/index.md
index 085c1bd143e..421cb42de1e 100644
--- a/doc/user/project/milestones/index.md
+++ b/doc/user/project/milestones/index.md
@@ -1,5 +1,8 @@
---
type: index, reference
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Milestones
diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md
index b99c8453da3..8ffafede1be 100644
--- a/doc/user/project/quick_actions.md
+++ b/doc/user/project/quick_actions.md
@@ -1,5 +1,8 @@
---
type: reference
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# GitLab Quick Actions
diff --git a/doc/user/project/requirements/index.md b/doc/user/project/requirements/index.md
index 17b933c5742..2168e9accaa 100644
--- a/doc/user/project/requirements/index.md
+++ b/doc/user/project/requirements/index.md
@@ -1,5 +1,8 @@
---
type: reference, howto
+stage: Plan
+group: Certify
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Requirements Management **(ULTIMATE)**
diff --git a/doc/user/project/service_desk.md b/doc/user/project/service_desk.md
index b97be36fd0f..10b5c53607e 100644
--- a/doc/user/project/service_desk.md
+++ b/doc/user/project/service_desk.md
@@ -1,3 +1,9 @@
+---
+stage: Plan
+group: Certify
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Service Desk **(STARTER)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/149) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.1.
diff --git a/doc/user/project/time_tracking.md b/doc/user/project/time_tracking.md
index 57a26f4e928..b88e1ed2d37 100644
--- a/doc/user/project/time_tracking.md
+++ b/doc/user/project/time_tracking.md
@@ -1,6 +1,9 @@
---
type: reference
disqus_identifier: 'https://docs.gitlab.com/ee/workflow/time_tracking.html'
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Time Tracking
diff --git a/doc/user/todos.md b/doc/user/todos.md
index 84a7b6afdac..5d3e3e62652 100644
--- a/doc/user/todos.md
+++ b/doc/user/todos.md
@@ -1,5 +1,8 @@
---
disqus_identifier: 'https://docs.gitlab.com/ee/workflow/todos.html'
+stage: Plan
+group: Project Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# GitLab To-Do List
diff --git a/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml b/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml
index 1c849b5be49..1e85aad02d9 100644
--- a/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml
+++ b/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml
@@ -86,6 +86,7 @@ staging:
canary:
extends: .auto-deploy
stage: canary
+ allow_failure: true
script:
- auto-deploy check_kube_domain
- auto-deploy download_chart
@@ -177,6 +178,7 @@ production_manual:
<<: *rollout_template
stage: production
resource_group: production
+ allow_failure: true
rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never