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>2021-09-16 03:11:46 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-09-16 03:11:46 +0300
commita83fba70a686e21616c0521cf2a3c9525bf54284 (patch)
tree6c056ef0185fb7cdb5a1172be9471b535846c36f
parenta7aff3e0e4deb15c0902e0f948eb300ba77f3e47 (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--app/assets/javascripts/projects/storage_counter/components/storage_table.vue4
-rw-r--r--app/assets/javascripts/projects/storage_counter/utils.js2
-rw-r--r--app/assets/stylesheets/utilities.scss18
-rw-r--r--app/controllers/explore/projects_controller.rb2
-rw-r--r--app/controllers/projects/issues_controller.rb6
-rw-r--r--app/finders/projects_finder.rb2
-rw-r--r--app/views/admin/projects/index.html.haml21
-rw-r--r--config/events/20210914201801_alert_integrations_view_alert_integrations_list.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_commit_ci_file_dismissed.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_commit_ci_file_displayed.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_commit_created.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_cta_clicked.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_failed_pipeline_displayed.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_failed_pipeline_view_logs.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_running_pipeline_dismissed.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_running_pipeline_displayed.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_success_pipeline_displayed.yml21
-rw-r--r--config/events/20210914201801_code_quality_walkthrough_success_pipeline_view_logs.yml21
-rw-r--r--config/events/20210914201801_default_action_button_name_click_button.yml21
-rw-r--r--config/events/20210914201801_default_action_button_name_copy_keyboard_shortcut.yml21
-rw-r--r--config/events/20210914201801_default_board_switcher_click_dropdown.yml21
-rw-r--r--config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_cancel_delete.yml21
-rw-r--r--config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_click_button.yml21
-rw-r--r--config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_confirm_delete.yml21
-rw-r--r--config/events/20210914201801_default_change_discussion_sort_direction.yml21
-rw-r--r--config/events/20210914201801_default_click_dismiss.yml21
-rw-r--r--config/events/20210914201801_default_code_instruction_copy_composer_package_include_command.yml21
-rw-r--r--config/events/20210914201801_default_code_instruction_copy_composer_registry_include_command.yml21
-rw-r--r--config/events/20210914201801_default_code_instruction_copy_gradle_add_to_source_command.yml21
-rw-r--r--config/events/20210914201801_default_code_instruction_copy_gradle_install_command.yml21
-rw-r--r--config/events/20210914201801_default_code_instruction_copy_kotlin_add_to_source_command.yml21
-rw-r--r--config/events/20210914201801_default_code_instruction_copy_kotlin_install_command.yml21
-rw-r--r--config/events/20210914201801_default_congratulate_first_pipeline_generic.yml21
-rw-r--r--config/events/20210914201801_default_content_editor_execute_bubble_menu_control.yml21
-rw-r--r--config/events/20210914201801_default_content_editor_execute_input_rule.yml21
-rw-r--r--config/events/20210914201801_default_content_editor_execute_keyboard_shortcut.yml21
-rw-r--r--config/events/20210914201801_default_content_editor_execute_toolbar_control.yml21
-rw-r--r--config/events/20210914201801_default_docker_container_retention_and_expiration_policies_reset_form.yml21
-rw-r--r--config/events/20210914201801_default_docker_container_retention_and_expiration_policies_submit_form.yml21
-rw-r--r--config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_list_item_click_link.yml21
-rw-r--r--config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_search_input_type_search_query.yml21
-rw-r--r--config/events/20210914201801_default_invite_members_banner_invite_members_banner_button_clicked.yml21
-rw-r--r--config/events/20210914201801_default_invite_members_banner_invite_members_banner_dismissed.yml21
-rw-r--r--config/events/20210914201801_default_namespace_id_click_whats_new_drawer.yml21
-rw-r--r--config/events/20210914201801_default_no_pipeline_noticed_generic.yml21
-rw-r--r--config/events/20210914201801_default_panel_name_click_tab.yml21
-rw-r--r--config/events/20210914201801_default_pipeline_editor_browse_templates.yml21
-rw-r--r--config/events/20210914201801_default_quickstart_dropdown_click_copy_build.yml21
-rw-r--r--config/events/20210914201801_default_quickstart_dropdown_click_copy_login.yml21
-rw-r--r--config/events/20210914201801_default_quickstart_dropdown_click_copy_push.yml21
-rw-r--r--config/events/20210914201801_default_quickstart_dropdown_click_dropdown.yml21
-rw-r--r--config/events/20210914201801_default_registry_repository_delete_cancel_delete.yml21
-rw-r--r--config/events/20210914201801_default_registry_repository_delete_click_button.yml21
-rw-r--r--config/events/20210914201801_default_registry_repository_delete_confirm_delete.yml21
-rw-r--r--config/events/20210914201801_default_show_home_page_banner.yml21
-rw-r--r--config/events/20210914201801_default_suggest_commit_first_project_gitlab_ci_yml_generic.yml21
-rw-r--r--config/events/20210914201801_default_template_name_or_"getting-started"_template_clicked.yml21
-rw-r--r--config/events/20210914201801_default_terraform_banner_click_button.yml21
-rw-r--r--config/events/20210914201801_default_terraform_banner_dismiss_banner.yml21
-rw-r--r--config/events/20210914201801_default_wiki_content_editor_content_editor_loaded.yml21
-rw-r--r--config/events/20210914201801_default_wiki_content_editor_saved_using_content_editor.yml21
-rw-r--r--config/events/20210914201801_packages_cancel_delete_package_file.yml21
-rw-r--r--config/events/20210914201801_packages_delete_package_file.yml21
-rw-r--r--config/events/20210914201801_packages_pull_package.yml21
-rw-r--r--config/events/20210914201801_packages_request_delete_package_file.yml21
-rw-r--r--config/feature_flags/development/permitted_attributes_for_import_export.yml8
-rw-r--r--config/feature_flags/ops/disable_anonymous_project_search.yml8
-rw-r--r--config/metrics/aggregates/code_review.yml2
-rw-r--r--config/metrics/counts_28d/20210908150458_i_code_review_user_resolve_thread_in_issue_monthly.yml27
-rw-r--r--config/metrics/counts_7d/20210908151645_i_code_review_user_resolve_thread_in_issue_weekly.yml27
-rw-r--r--data/deprecations/deprecation_omniauth-kerberos_gem.yml15
-rw-r--r--doc/administration/geo/replication/datatypes.md4
-rw-r--r--doc/administration/operations/unicorn.md9
-rw-r--r--doc/api/graphql/reference/index.md2
-rw-r--r--doc/api/instance_clusters.md2
-rw-r--r--doc/api/instance_level_ci_variables.md2
-rw-r--r--doc/api/issue_links.md2
-rw-r--r--doc/api/issues.md66
-rw-r--r--doc/api/members.md4
-rw-r--r--doc/api/merge_request_approvals.md4
-rw-r--r--doc/api/merge_requests.md28
-rw-r--r--doc/api/milestones.md2
-rw-r--r--doc/development/database/multiple_databases.md81
-rw-r--r--doc/update/deprecations.md8
-rw-r--r--doc/user/application_security/dast/index.md99
-rw-r--r--doc/user/project/integrations/index.md4
-rw-r--r--doc/user/project/integrations/services_templates.md9
-rw-r--r--doc/user/project/settings/import_export.md8
-rw-r--r--lib/gitlab/database/migration_helpers/v2.rb8
-rw-r--r--lib/gitlab/database/schema_migrations/context.rb4
-rw-r--r--lib/gitlab/import_export/attributes_permitter.rb18
-rw-r--r--lib/gitlab/import_export/base/relation_factory.rb16
-rw-r--r--lib/gitlab/import_export/project/import_export.yml35
-rw-r--r--lib/gitlab/usage_data_counters/known_events/code_review_events.yml4
-rw-r--r--lib/gitlab/usage_data_counters/merge_request_activity_unique_counter.rb5
-rw-r--r--spec/controllers/explore/projects_controller_spec.rb12
-rw-r--r--spec/controllers/projects/issues_controller_spec.rb2
-rw-r--r--spec/finders/projects_finder_spec.rb8
-rw-r--r--spec/frontend/projects/storage_counter/mock_data.js14
-rw-r--r--spec/lib/gitlab/database/schema_migrations/context_spec.rb4
-rw-r--r--spec/lib/gitlab/import_export/attributes_permitter_spec.rb69
-rw-r--r--spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb8
-rw-r--r--spec/spec_helper.rb3
103 files changed, 513 insertions, 1391 deletions
diff --git a/app/assets/javascripts/projects/storage_counter/components/storage_table.vue b/app/assets/javascripts/projects/storage_counter/components/storage_table.vue
index 50aa70ecc9d..7047fd925fb 100644
--- a/app/assets/javascripts/projects/storage_counter/components/storage_table.vue
+++ b/app/assets/javascripts/projects/storage_counter/components/storage_table.vue
@@ -1,5 +1,6 @@
<script>
import { GlLink, GlIcon, GlTable, GlSprintf } from '@gitlab/ui';
+import { numberToHumanSize } from '~/lib/utils/number_utils';
import { thWidthClass } from '~/lib/utils/table_utility';
import { sprintf } from '~/locale';
import { PROJECT_TABLE_LABELS, HELP_LINK_ARIA_LABEL } from '../constants';
@@ -37,6 +38,9 @@ export default {
label: PROJECT_TABLE_LABELS.VALUE,
thClass: thWidthClass(10),
sortable: true,
+ formatter: (value) => {
+ return numberToHumanSize(value, 1);
+ },
},
],
};
diff --git a/app/assets/javascripts/projects/storage_counter/utils.js b/app/assets/javascripts/projects/storage_counter/utils.js
index 7b7182cbbf0..cb26603fff5 100644
--- a/app/assets/javascripts/projects/storage_counter/utils.js
+++ b/app/assets/javascripts/projects/storage_counter/utils.js
@@ -26,7 +26,7 @@ export const parseGetProjectStorageResults = (data, helpLinks) => {
...currentType,
helpPath,
},
- value: numberToHumanSize(storageStatistics[currentType.id], 1),
+ value: storageStatistics[currentType.id],
});
}, []);
diff --git a/app/assets/stylesheets/utilities.scss b/app/assets/stylesheets/utilities.scss
index bf271f4d355..ec70926b418 100644
--- a/app/assets/stylesheets/utilities.scss
+++ b/app/assets/stylesheets/utilities.scss
@@ -263,3 +263,21 @@ $gl-line-height-42: px-to-rem(42px);
.gl-opacity-7 {
opacity: 0.7;
}
+
+/**
+ Note: ::-webkit-scrollbar is a non-standard rule only
+ supported by webkit browsers.
+
+ It is added here to migrate components that use
+ scrolling-links() mixin from `app/assets/stylesheets/framework/mixins.scss`.
+
+ It should not be used elsewhere: it may impact accessibility as well as
+ add browser compatibility issues.
+
+ See: https://developer.mozilla.org/en-US/docs/Web/CSS/::-webkit-scrollbar
+**/
+.gl-webkit-scrollbar-display-none {
+ &::-webkit-scrollbar {
+ display: none;
+ }
+}
diff --git a/app/controllers/explore/projects_controller.rb b/app/controllers/explore/projects_controller.rb
index 6e9e9e07e37..92ff3ffb8ff 100644
--- a/app/controllers/explore/projects_controller.rb
+++ b/app/controllers/explore/projects_controller.rb
@@ -123,7 +123,7 @@ class Explore::ProjectsController < Explore::ApplicationController
end
def show_alert_if_search_is_disabled
- return if current_user || params[:name].blank? && params[:search].blank? || !html_request? || Feature.disabled?(:disable_anonymous_search, type: :ops)
+ return if current_user || params[:name].blank? && params[:search].blank? || !html_request? || Feature.disabled?(:disable_anonymous_project_search, type: :ops)
flash[:notice] = _('You must sign in to search for specific projects.')
end
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index 1150ee47cda..f885ff9b45b 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -117,7 +117,11 @@ class Projects::IssuesController < Projects::ApplicationController
@issue = @noteable = service.execute
@merge_request_to_resolve_discussions_of = service.merge_request_to_resolve_discussions_of
- @discussion_to_resolve = service.discussions_to_resolve.first if params[:discussion_to_resolve]
+
+ if params[:discussion_to_resolve]
+ Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter.track_resolve_thread_in_issue_action(user: current_user)
+ @discussion_to_resolve = service.discussions_to_resolve.first
+ end
respond_with(@issue)
end
diff --git a/app/finders/projects_finder.rb b/app/finders/projects_finder.rb
index 92d0e7b2b57..5537058cc79 100644
--- a/app/finders/projects_finder.rb
+++ b/app/finders/projects_finder.rb
@@ -193,7 +193,7 @@ class ProjectsFinder < UnionFinder
def by_search(items)
params[:search] ||= params[:name]
- return items if Feature.enabled?(:disable_anonymous_search, type: :ops) && current_user.nil?
+ return items if Feature.enabled?(:disable_anonymous_project_search, type: :ops) && current_user.nil?
return items.none if params[:search].present? && params[:minimum_search_length].present? && params[:search].length < params[:minimum_search_length].to_i
items.optionally_search(params[:search], include_namespace: params[:search_namespaces].present?)
diff --git a/app/views/admin/projects/index.html.haml b/app/views/admin/projects/index.html.haml
index 79d77790b02..5ebfd296e2b 100644
--- a/app/views/admin/projects/index.html.haml
+++ b/app/views/admin/projects/index.html.haml
@@ -1,18 +1,17 @@
- page_title _('Projects')
- params[:visibility_level] ||= []
+- active_tab_classes = 'active gl-tab-nav-item-active gl-tab-nav-item-active-indigo'
.top-area.scrolling-tabs-container.inner-page-scroll-tabs
- %ul.nav-links.nav.nav-tabs
- - opts = params[:visibility_level].present? ? {} : { page: admin_projects_path }
- = nav_link(opts) do
- = link_to _('All'), admin_projects_path
-
- = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PRIVATE.to_s) }) do
- = link_to _('Private'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PRIVATE)
- = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::INTERNAL.to_s) }) do
- = link_to _('Internal'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::INTERNAL)
- = nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PUBLIC.to_s) }) do
- = link_to _('Public'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PUBLIC)
+ %ul.nav.gl-tabs-nav.gl-overflow-x-auto.gl-display-flex.gl-flex-grow-1.gl-flex-shrink-1.gl-border-b-0.gl-flex-nowrap.gl-webkit-scrollbar-display-none
+ = nav_link(html_options: { class: "nav-item" } ) do
+ = link_to _('All'), admin_projects_path, class: "nav-link gl-tab-nav-item #{active_tab_classes if params[:visibility_level].empty?}"
+ = nav_link(html_options: { class: "nav-item" } ) do
+ = link_to _('Private'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PRIVATE), class: "nav-link gl-tab-nav-item #{active_tab_classes if params[:visibility_level] == Gitlab::VisibilityLevel::PRIVATE.to_s}"
+ = nav_link(html_options: { class: "nav-item" } ) do
+ = link_to _('Internal'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::INTERNAL), class: "nav-link gl-tab-nav-item #{active_tab_classes if params[:visibility_level] == Gitlab::VisibilityLevel::INTERNAL.to_s}"
+ = nav_link(html_options: { class: "nav-item" } ) do
+ = link_to _('Public'), admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PUBLIC), class: "nav-link gl-tab-nav-item #{active_tab_classes if params[:visibility_level] == Gitlab::VisibilityLevel::PUBLIC.to_s}"
.nav-controls
.search-holder
diff --git a/config/events/20210914201801_alert_integrations_view_alert_integrations_list.yml b/config/events/20210914201801_alert_integrations_view_alert_integrations_list.yml
deleted file mode 100644
index 8d607711266..00000000000
--- a/config/events/20210914201801_alert_integrations_view_alert_integrations_list.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show alert integrations list"
-category: "Alert Integrations"
-action: view_alert_integrations_list
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: monitor
-product_group: group::monitor
-product_category:
-milestone: "13.5"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44549
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_commit_ci_file_dismissed.yml b/config/events/20210914201801_code_quality_walkthrough_commit_ci_file_dismissed.yml
deleted file mode 100644
index 82e0378c3c7..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_commit_ci_file_dismissed.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Commit CI file dismissed"
-category: "code_quality_walkthrough"
-action: commit_ci_file_dismissed
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_commit_ci_file_displayed.yml b/config/events/20210914201801_code_quality_walkthrough_commit_ci_file_displayed.yml
deleted file mode 100644
index d8ed607b700..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_commit_ci_file_displayed.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Commit CI file displayed"
-category: "code_quality_walkthrough"
-action: commit_ci_file_displayed
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_commit_created.yml b/config/events/20210914201801_code_quality_walkthrough_commit_created.yml
deleted file mode 100644
index 8611cfebc4b..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_commit_created.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Commit created"
-category: "code_quality_walkthrough"
-action: commit_created
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_cta_clicked.yml b/config/events/20210914201801_code_quality_walkthrough_cta_clicked.yml
deleted file mode 100644
index 84ed891ce36..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_cta_clicked.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click empty state CTA"
-category: "code_quality_walkthrough"
-action: cta_clicked
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_failed_pipeline_displayed.yml b/config/events/20210914201801_code_quality_walkthrough_failed_pipeline_displayed.yml
deleted file mode 100644
index 9a65e07c334..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_failed_pipeline_displayed.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show failed pipeline"
-category: "code_quality_walkthrough"
-action: failed_pipeline_displayed
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_failed_pipeline_view_logs.yml b/config/events/20210914201801_code_quality_walkthrough_failed_pipeline_view_logs.yml
deleted file mode 100644
index d72a1b025f3..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_failed_pipeline_view_logs.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show failed pipeline logs"
-category: "code_quality_walkthrough"
-action: failed_pipeline_view_logs
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_running_pipeline_dismissed.yml b/config/events/20210914201801_code_quality_walkthrough_running_pipeline_dismissed.yml
deleted file mode 100644
index 6c0423f57e8..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_running_pipeline_dismissed.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Dismiss running pipeline"
-category: "code_quality_walkthrough"
-action: running_pipeline_dismissed
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_running_pipeline_displayed.yml b/config/events/20210914201801_code_quality_walkthrough_running_pipeline_displayed.yml
deleted file mode 100644
index 73473b585f5..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_running_pipeline_displayed.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show running pipeline"
-category: "code_quality_walkthrough"
-action: running_pipeline_displayed
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_success_pipeline_displayed.yml b/config/events/20210914201801_code_quality_walkthrough_success_pipeline_displayed.yml
deleted file mode 100644
index 468242488f9..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_success_pipeline_displayed.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show succeeded pipeline"
-category: "code_quality_walkthrough"
-action: success_pipeline_displayed
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_code_quality_walkthrough_success_pipeline_view_logs.yml b/config/events/20210914201801_code_quality_walkthrough_success_pipeline_view_logs.yml
deleted file mode 100644
index a14ee8f9100..00000000000
--- a/config/events/20210914201801_code_quality_walkthrough_success_pipeline_view_logs.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show succeeded pipeline logs"
-category: "code_quality_walkthrough"
-action: success_pipeline_view_logs
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_action_button_name_click_button.yml b/config/events/20210914201801_default_action_button_name_click_button.yml
deleted file mode 100644
index d6fadb735d1..00000000000
--- a/config/events/20210914201801_default_action_button_name_click_button.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click 2FA codes related buttons: copy, download, print..."
-category: default
-action: click_button
-label_description: "Action button name"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: manage
-product_group: group::compliance
-product_category:
-milestone: "13.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49510
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_action_button_name_copy_keyboard_shortcut.yml b/config/events/20210914201801_default_action_button_name_copy_keyboard_shortcut.yml
deleted file mode 100644
index c1f792de52e..00000000000
--- a/config/events/20210914201801_default_action_button_name_copy_keyboard_shortcut.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy 2FA codes with keyboard shortcut"
-category: default
-action: copy_keyboard_shortcut
-label_description: "Action button name"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: manage
-product_group: group::compliance
-product_category:
-milestone: "13.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49510
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_board_switcher_click_dropdown.yml b/config/events/20210914201801_default_board_switcher_click_dropdown.yml
deleted file mode 100644
index d4d63e1bd2b..00000000000
--- a/config/events/20210914201801_default_board_switcher_click_dropdown.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click Epic's board switcher"
-category: default
-action: click_dropdown
-label_description: "`board_switcher`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: plan
-product_group: group::product_planning
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63765
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_cancel_delete.yml b/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_cancel_delete.yml
deleted file mode 100644
index 425fe8089d3..00000000000
--- a/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_cancel_delete.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Cancel registry tag deletion"
-category: default
-action: cancel_delete
-label_description: "`[bulk_registry_tag_delete | registry_tag_delete]`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23154
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_click_button.yml b/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_click_button.yml
deleted file mode 100644
index 42fa0c97066..00000000000
--- a/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_click_button.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click registry tag delete button"
-category: default
-action: click_button
-label_description: "`[bulk_registry_tag_delete | registry_tag_delete]`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23154
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_confirm_delete.yml b/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_confirm_delete.yml
deleted file mode 100644
index cc9481592ae..00000000000
--- a/config/events/20210914201801_default_bulk_registry_tag_delete_registry_tag_delete_confirm_delete.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Confirm registry tag deletion"
-category: default
-action: confirm_delete
-label_description: "`[bulk_registry_tag_delete | registry_tag_delete]`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23154
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_change_discussion_sort_direction.yml b/config/events/20210914201801_default_change_discussion_sort_direction.yml
deleted file mode 100644
index cb6e31910d3..00000000000
--- a/config/events/20210914201801_default_change_discussion_sort_direction.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Change discussion sort direction"
-category: default
-action: change_discussion_sort_direction
-label_description: ""
-property_description: "`[asc | desc]`"
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: plan
-product_group: group::product_planning
-product_category:
-milestone: "12.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28717
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_click_dismiss.yml b/config/events/20210914201801_default_click_dismiss.yml
deleted file mode 100644
index 73605ad7878..00000000000
--- a/config/events/20210914201801_default_click_dismiss.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Dismiss home page banner"
-category: default
-action: click_dismiss
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::expansion
-product_category:
-milestone: "13.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39752
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_code_instruction_copy_composer_package_include_command.yml b/config/events/20210914201801_default_code_instruction_copy_composer_package_include_command.yml
deleted file mode 100644
index e2a923c0c3a..00000000000
--- a/config/events/20210914201801_default_code_instruction_copy_composer_package_include_command.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy Composer package include command"
-category: default
-action: copy_composer_package_include_command
-label_description: "`code_instruction`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "13.3"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38779
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_code_instruction_copy_composer_registry_include_command.yml b/config/events/20210914201801_default_code_instruction_copy_composer_registry_include_command.yml
deleted file mode 100644
index 31714aacf50..00000000000
--- a/config/events/20210914201801_default_code_instruction_copy_composer_registry_include_command.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy Composer registry include command"
-category: default
-action: copy_composer_registry_include_command
-label_description: "`code_instruction`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "13.3"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38779
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_code_instruction_copy_gradle_add_to_source_command.yml b/config/events/20210914201801_default_code_instruction_copy_gradle_add_to_source_command.yml
deleted file mode 100644
index fa7c58eb2ef..00000000000
--- a/config/events/20210914201801_default_code_instruction_copy_gradle_add_to_source_command.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy Gradle add to source command"
-category: default
-action: copy_gradle_add_to_source_command
-label_description: "`code_instruction`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "13.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55738
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_code_instruction_copy_gradle_install_command.yml b/config/events/20210914201801_default_code_instruction_copy_gradle_install_command.yml
deleted file mode 100644
index 5b016d38fbd..00000000000
--- a/config/events/20210914201801_default_code_instruction_copy_gradle_install_command.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy Gradle install command"
-category: default
-action: copy_gradle_install_command
-label_description: "`code_instruction`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "13.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55738
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_code_instruction_copy_kotlin_add_to_source_command.yml b/config/events/20210914201801_default_code_instruction_copy_kotlin_add_to_source_command.yml
deleted file mode 100644
index d848afec43f..00000000000
--- a/config/events/20210914201801_default_code_instruction_copy_kotlin_add_to_source_command.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy Kotlin add to source command"
-category: default
-action: copy_kotlin_add_to_source_command
-label_description: "`code_instruction`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60097
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_code_instruction_copy_kotlin_install_command.yml b/config/events/20210914201801_default_code_instruction_copy_kotlin_install_command.yml
deleted file mode 100644
index 187a500ba03..00000000000
--- a/config/events/20210914201801_default_code_instruction_copy_kotlin_install_command.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy Kotlin install command"
-category: default
-action: copy_kotlin_install_command
-label_description: "`code_instruction`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60097
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_congratulate_first_pipeline_generic.yml b/config/events/20210914201801_default_congratulate_first_pipeline_generic.yml
deleted file mode 100644
index 2c8a4d3ef4c..00000000000
--- a/config/events/20210914201801_default_congratulate_first_pipeline_generic.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show a congratulation on first pipeline"
-category: default
-action: generic
-label_description: "`congratulate_first_pipeline`"
-property_description: "`[admin | maintainer | developer | owner]`"
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::expansion
-product_category:
-milestone: "12.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28378
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_content_editor_execute_bubble_menu_control.yml b/config/events/20210914201801_default_content_editor_execute_bubble_menu_control.yml
deleted file mode 100644
index 03f4cd7e289..00000000000
--- a/config/events/20210914201801_default_content_editor_execute_bubble_menu_control.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Execute bubble menu control"
-category: default
-action: execute_bubble_menu_control
-label_description: "`content_editor`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "14.2"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67363
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_content_editor_execute_input_rule.yml b/config/events/20210914201801_default_content_editor_execute_input_rule.yml
deleted file mode 100644
index 4d0e518d07b..00000000000
--- a/config/events/20210914201801_default_content_editor_execute_input_rule.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Execute input rule"
-category: default
-action: execute_input_rule
-label_description: "`content_editor`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61248
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_content_editor_execute_keyboard_shortcut.yml b/config/events/20210914201801_default_content_editor_execute_keyboard_shortcut.yml
deleted file mode 100644
index 2cd59d96ce7..00000000000
--- a/config/events/20210914201801_default_content_editor_execute_keyboard_shortcut.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Execute keyboard shortcut"
-category: default
-action: execute_keyboard_shortcut
-label_description: "`content_editor`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61248
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_content_editor_execute_toolbar_control.yml b/config/events/20210914201801_default_content_editor_execute_toolbar_control.yml
deleted file mode 100644
index 8a9ea7fd068..00000000000
--- a/config/events/20210914201801_default_content_editor_execute_toolbar_control.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Execute toolbar control"
-category: default
-action: execute_toolbar_control
-label_description: "`content_editor`"
-property_description: "Content type"
-value_description: "Context data: [heading] 3, [heading] 2"
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61065
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_docker_container_retention_and_expiration_policies_reset_form.yml b/config/events/20210914201801_default_docker_container_retention_and_expiration_policies_reset_form.yml
deleted file mode 100644
index c6a57c45971..00000000000
--- a/config/events/20210914201801_default_docker_container_retention_and_expiration_policies_reset_form.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Reset Docker form"
-category: default
-action: reset_form
-label_description: "`docker_container_retention_and_expiration_policies`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23844
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_docker_container_retention_and_expiration_policies_submit_form.yml b/config/events/20210914201801_default_docker_container_retention_and_expiration_policies_submit_form.yml
deleted file mode 100644
index 2e822fe5242..00000000000
--- a/config/events/20210914201801_default_docker_container_retention_and_expiration_policies_submit_form.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Submit Docker form"
-category: default
-action: submit_form
-label_description: "`docker_container_retention_and_expiration_policies`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23844
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_list_item_click_link.yml b/config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_list_item_click_link.yml
deleted file mode 100644
index cb9d3a3dffa..00000000000
--- a/config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_list_item_click_link.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Open frequent items dropdown"
-category: default
-action: click_link
-label_description: "`[dropdown_type]_dropdown_frequent_items_list_item`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "13.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47589
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_search_input_type_search_query.yml b/config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_search_input_type_search_query.yml
deleted file mode 100644
index 274613bd201..00000000000
--- a/config/events/20210914201801_default_dropdown_type_dropdown_frequent_items_search_input_type_search_query.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Type search query"
-category: default
-action: type_search_query
-label_description: "`[dropdown_type]_dropdown_frequent_items_search_input`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "13.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47589
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_invite_members_banner_invite_members_banner_button_clicked.yml b/config/events/20210914201801_default_invite_members_banner_invite_members_banner_button_clicked.yml
deleted file mode 100644
index adbea725085..00000000000
--- a/config/events/20210914201801_default_invite_members_banner_invite_members_banner_button_clicked.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click invite members banner"
-category: default
-action: invite_members_banner_button_clicked
-label_description: "`invite_members_banner`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::expansion
-product_category:
-milestone: "13.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41774
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_invite_members_banner_invite_members_banner_dismissed.yml b/config/events/20210914201801_default_invite_members_banner_invite_members_banner_dismissed.yml
deleted file mode 100644
index 2041df2f058..00000000000
--- a/config/events/20210914201801_default_invite_members_banner_invite_members_banner_dismissed.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Dismiss invite members banner"
-category: default
-action: invite_members_banner_dismissed
-label_description: "`invite_members_banner`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::expansion
-product_category:
-milestone: "13.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41774
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_namespace_id_click_whats_new_drawer.yml b/config/events/20210914201801_default_namespace_id_click_whats_new_drawer.yml
deleted file mode 100644
index 8a994510fc7..00000000000
--- a/config/events/20210914201801_default_namespace_id_click_whats_new_drawer.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show \"What's new\" drawer"
-category: default
-action: click_whats_new_drawer
-label_description: "`namespace_id`"
-property_description: "ID of namespace"
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::adoption
-product_category:
-milestone: "13.5"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42653
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_no_pipeline_noticed_generic.yml b/config/events/20210914201801_default_no_pipeline_noticed_generic.yml
deleted file mode 100644
index 3e6169f1c68..00000000000
--- a/config/events/20210914201801_default_no_pipeline_noticed_generic.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show Pipeline suggestion on new MRs"
-category: default
-action: generic
-label_description: "`no_pipeline_noticed`"
-property_description: "`[admin | maintainer | developer | owner]`"
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::expansion
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35069
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_panel_name_click_tab.yml b/config/events/20210914201801_default_panel_name_click_tab.yml
deleted file mode 100644
index e61ce545f7b..00000000000
--- a/config/events/20210914201801_default_panel_name_click_tab.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click tab on new namespace welcoming component"
-category: default
-action: click_tab
-label_description: "Panel name"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: manage
-product_group: group::import
-product_category:
-milestone: "13.12"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59452
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_pipeline_editor_browse_templates.yml b/config/events/20210914201801_default_pipeline_editor_browse_templates.yml
deleted file mode 100644
index e7ae4423bc1..00000000000
--- a/config/events/20210914201801_default_pipeline_editor_browse_templates.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Browse Pipeline editor templates"
-category: default
-action: browse_templates
-label_description: "`pipeline_editor`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: verify
-product_group: group::pipeline_authoring
-product_category:
-milestone: "14.1"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64349
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_quickstart_dropdown_click_copy_build.yml b/config/events/20210914201801_default_quickstart_dropdown_click_copy_build.yml
deleted file mode 100644
index 86ee97b4b3a..00000000000
--- a/config/events/20210914201801_default_quickstart_dropdown_click_copy_build.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy quickstart dropdown build"
-category: default
-action: click_copy_build
-label_description: "`quickstart_dropdown`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27990
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_quickstart_dropdown_click_copy_login.yml b/config/events/20210914201801_default_quickstart_dropdown_click_copy_login.yml
deleted file mode 100644
index 05283da858d..00000000000
--- a/config/events/20210914201801_default_quickstart_dropdown_click_copy_login.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy quickstart dropdown login"
-category: default
-action: click_copy_login
-label_description: "`quickstart_dropdown`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27990
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_quickstart_dropdown_click_copy_push.yml b/config/events/20210914201801_default_quickstart_dropdown_click_copy_push.yml
deleted file mode 100644
index 87de403e7de..00000000000
--- a/config/events/20210914201801_default_quickstart_dropdown_click_copy_push.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Copy quickstart dropdown push"
-category: default
-action: click_copy_push
-label_description: "`quickstart_dropdown`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27990
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_quickstart_dropdown_click_dropdown.yml b/config/events/20210914201801_default_quickstart_dropdown_click_dropdown.yml
deleted file mode 100644
index 61c04baab8d..00000000000
--- a/config/events/20210914201801_default_quickstart_dropdown_click_dropdown.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click quickstart dropdown"
-category: default
-action: click_dropdown
-label_description: "`quickstart_dropdown`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27990
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_registry_repository_delete_cancel_delete.yml b/config/events/20210914201801_default_registry_repository_delete_cancel_delete.yml
deleted file mode 100644
index 99623717a84..00000000000
--- a/config/events/20210914201801_default_registry_repository_delete_cancel_delete.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Cancel registry repository deletion"
-category: default
-action: cancel_delete
-label_description: "`registry_repository_delete`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23154
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_registry_repository_delete_click_button.yml b/config/events/20210914201801_default_registry_repository_delete_click_button.yml
deleted file mode 100644
index 56329982262..00000000000
--- a/config/events/20210914201801_default_registry_repository_delete_click_button.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click registry repository delete button"
-category: default
-action: click_button
-label_description: "`registry_repository_delete`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23154
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_registry_repository_delete_confirm_delete.yml b/config/events/20210914201801_default_registry_repository_delete_confirm_delete.yml
deleted file mode 100644
index 1939df91927..00000000000
--- a/config/events/20210914201801_default_registry_repository_delete_confirm_delete.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Confirm registry repository deletion"
-category: default
-action: confirm_delete
-label_description: "`registry_repository_delete`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "12.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23154
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_show_home_page_banner.yml b/config/events/20210914201801_default_show_home_page_banner.yml
deleted file mode 100644
index b33e51205a3..00000000000
--- a/config/events/20210914201801_default_show_home_page_banner.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show home page banner"
-category: default
-action: show_home_page_banner
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::expansion
-product_category:
-milestone: "13.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39752
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_suggest_commit_first_project_gitlab_ci_yml_generic.yml b/config/events/20210914201801_default_suggest_commit_first_project_gitlab_ci_yml_generic.yml
deleted file mode 100644
index 7d4f5efe3ba..00000000000
--- a/config/events/20210914201801_default_suggest_commit_first_project_gitlab_ci_yml_generic.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Show GitLab CI suggestion popover"
-category: default
-action: generic
-label_description: "`suggest_commit_first_project_gitlab_ci_yml`"
-property_description: "`[admin | maintainer | developer | owner]`"
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::expansion
-product_category:
-milestone: "12.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26605
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_template_name_or_"getting-started"_template_clicked.yml b/config/events/20210914201801_default_template_name_or_"getting-started"_template_clicked.yml
deleted file mode 100644
index 277190af855..00000000000
--- a/config/events/20210914201801_default_template_name_or_"getting-started"_template_clicked.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click pipeline empty state template"
-category: default
-action: template_clicked
-label_description: "Template name or \"Getting-Started\""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: growth
-product_stage: growth
-product_group: group::activation
-product_category:
-milestone: "13.11"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58808
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_terraform_banner_click_button.yml b/config/events/20210914201801_default_terraform_banner_click_button.yml
deleted file mode 100644
index 356117f6cb6..00000000000
--- a/config/events/20210914201801_default_terraform_banner_click_button.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Click Terraform banner button"
-category: default
-action: click_button
-label_description: "`terraform_banner`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: configure
-product_group: group::configure
-product_category:
-milestone: "14.3"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68467
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_terraform_banner_dismiss_banner.yml b/config/events/20210914201801_default_terraform_banner_dismiss_banner.yml
deleted file mode 100644
index 7eb23fca354..00000000000
--- a/config/events/20210914201801_default_terraform_banner_dismiss_banner.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Dismiss Terraform banner"
-category: default
-action: dismiss_banner
-label_description: "`terraform_banner`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: configure
-product_group: group::configure
-product_category:
-milestone: "14.3"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68467
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_wiki_content_editor_content_editor_loaded.yml b/config/events/20210914201801_default_wiki_content_editor_content_editor_loaded.yml
deleted file mode 100644
index fd223e5368d..00000000000
--- a/config/events/20210914201801_default_wiki_content_editor_content_editor_loaded.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Wiki content editor loaded"
-category: default
-action: content_editor_loaded
-label_description: "`wiki_content_editor`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62919
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_default_wiki_content_editor_saved_using_content_editor.yml b/config/events/20210914201801_default_wiki_content_editor_saved_using_content_editor.yml
deleted file mode 100644
index 805ed60a992..00000000000
--- a/config/events/20210914201801_default_wiki_content_editor_saved_using_content_editor.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Wiki saved using content editor"
-category: default
-action: saved_using_content_editor
-label_description: "`wiki_content_editor`"
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: dev
-product_stage: create
-product_group: group::editor
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62919
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_packages_cancel_delete_package_file.yml b/config/events/20210914201801_packages_cancel_delete_package_file.yml
deleted file mode 100644
index aa0bff61257..00000000000
--- a/config/events/20210914201801_packages_cancel_delete_package_file.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Cancel deletion of items from the package file list"
-category: "UI:[MavenPackages | NpmPackages | ConanPackages | undefined]"
-action: cancel_delete_package_file
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62179
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_packages_delete_package_file.yml b/config/events/20210914201801_packages_delete_package_file.yml
deleted file mode 100644
index ed1dd7ce766..00000000000
--- a/config/events/20210914201801_packages_delete_package_file.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Delete items from the package file list"
-category: "UI:[MavenPackages | NpmPackages | ConanPackages | undefined]"
-action: delete_package_file
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62179
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_packages_pull_package.yml b/config/events/20210914201801_packages_pull_package.yml
deleted file mode 100644
index 1288724d172..00000000000
--- a/config/events/20210914201801_packages_pull_package.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Download package"
-category: "UI:[MavenPackages | NpmPackages | ConanPackages | undefined]"
-action: pull_package
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "13.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48451
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/events/20210914201801_packages_request_delete_package_file.yml b/config/events/20210914201801_packages_request_delete_package_file.yml
deleted file mode 100644
index e12b96c7106..00000000000
--- a/config/events/20210914201801_packages_request_delete_package_file.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-description: "Request deletion of items from the package file list"
-category: "UI:[MavenPackages | NpmPackages | ConanPackages | undefined]"
-action: request_delete_package_file
-label_description: ""
-property_description: ""
-value_description: ""
-extra_properties:
-identifiers:
-product_section: ops
-product_stage: package
-product_group: group::package
-product_category:
-milestone: "14.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62179
-distributions:
-- ce
-- ee
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/feature_flags/development/permitted_attributes_for_import_export.yml b/config/feature_flags/development/permitted_attributes_for_import_export.yml
new file mode 100644
index 00000000000..da5168b6ab8
--- /dev/null
+++ b/config/feature_flags/development/permitted_attributes_for_import_export.yml
@@ -0,0 +1,8 @@
+---
+name: permitted_attributes_for_import_export
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/70168
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/340789
+milestone: '14.4'
+type: development
+group: group::import
+default_enabled: true
diff --git a/config/feature_flags/ops/disable_anonymous_project_search.yml b/config/feature_flags/ops/disable_anonymous_project_search.yml
new file mode 100644
index 00000000000..89ef0b0ed25
--- /dev/null
+++ b/config/feature_flags/ops/disable_anonymous_project_search.yml
@@ -0,0 +1,8 @@
+---
+name: disable_anonymous_project_search
+introduced_by_url:
+rollout_issue_url:
+milestone: '14.3'
+type: ops
+group: group::project management
+default_enabled: false
diff --git a/config/metrics/aggregates/code_review.yml b/config/metrics/aggregates/code_review.yml
index 482e1fc60a1..54ebe5da192 100644
--- a/config/metrics/aggregates/code_review.yml
+++ b/config/metrics/aggregates/code_review.yml
@@ -66,6 +66,7 @@
- 'i_code_review_user_load_conflict_ui'
- 'i_code_review_user_resolve_conflict'
- 'i_code_review_user_searches_diff'
+ - 'i_code_review_user_resolve_thread_in_issue'
- name: code_review_category_monthly_active_users
operator: OR
source: redis
@@ -124,6 +125,7 @@
- 'i_code_review_user_load_conflict_ui'
- 'i_code_review_user_resolve_conflict'
- 'i_code_review_user_searches_diff'
+ - 'i_code_review_user_resolve_thread_in_issue'
- name: code_review_extension_category_monthly_active_users
operator: OR
source: redis
diff --git a/config/metrics/counts_28d/20210908150458_i_code_review_user_resolve_thread_in_issue_monthly.yml b/config/metrics/counts_28d/20210908150458_i_code_review_user_resolve_thread_in_issue_monthly.yml
new file mode 100644
index 00000000000..072305ed6f4
--- /dev/null
+++ b/config/metrics/counts_28d/20210908150458_i_code_review_user_resolve_thread_in_issue_monthly.yml
@@ -0,0 +1,27 @@
+---
+key_path: redis_hll_counters.code_review.i_code_review_user_resolve_thread_in_issue_monthly
+name: resolve_thread_in_issue
+description: The number of users who resolve a thread in a new issue through the MR page monthly
+product_section: dev
+product_stage: create
+product_group: group::code review
+product_category: code_review
+value_type: number
+status: active
+milestone: "14.3"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69879
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_code_review_user_resolve_thread_in_issue
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20210908151645_i_code_review_user_resolve_thread_in_issue_weekly.yml b/config/metrics/counts_7d/20210908151645_i_code_review_user_resolve_thread_in_issue_weekly.yml
new file mode 100644
index 00000000000..c9d0c92194b
--- /dev/null
+++ b/config/metrics/counts_7d/20210908151645_i_code_review_user_resolve_thread_in_issue_weekly.yml
@@ -0,0 +1,27 @@
+---
+key_path: redis_hll_counters.code_review.i_code_review_user_resolve_thread_in_issue_weekly
+name: resolve_thread_in_issue
+description: The number of users who resolve a thread in a new issue through the MR page weekly
+product_section: dev
+product_stage: create
+product_group: group::code review
+product_category: code_review
+value_type: number
+status: active
+milestone: "14.3"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69879
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_code_review_user_resolve_thread_in_issue
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/data/deprecations/deprecation_omniauth-kerberos_gem.yml b/data/deprecations/deprecation_omniauth-kerberos_gem.yml
new file mode 100644
index 00000000000..9abaa343812
--- /dev/null
+++ b/data/deprecations/deprecation_omniauth-kerberos_gem.yml
@@ -0,0 +1,15 @@
+- name: "OmniAuth Kerberos gem"
+ announcement_milestone: "14.3"
+ removal_milestone: "15.0"
+ body: | # Do not modify this line, instead modify the lines below.
+ The `omniauth-kerberos` gem will be removed in our next major release, GitLab 15.0.
+
+ This gem has not been maintained and has very little usage. We therefore plan to remove support for this authentication method and recommend using the Kerberos [SPNEGO](https://en.wikipedia.org/wiki/SPNEGO) integration instead. You can follow the [upgrade instructions](../integration/kerberos.md#upgrading-from-password-based-to-ticket-based-kerberos-sign-ins) to upgrade from the `omniauth-kerberos` integration to the supported one.
+
+ Note that we are not deprecating the Kerberos SPNEGO integration, only the old password-based Kerberos integration.
+ stage: Manage
+ tiers: [Premium, Ultimate]
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/337384
+ documentation_url: ../integration/kerberos.md#upgrading-from-password-based-to-ticket-based-kerberos-sign-ins
+ announcement_date: 2021-22-09
+
diff --git a/doc/administration/geo/replication/datatypes.md b/doc/administration/geo/replication/datatypes.md
index 94e47d9f1e1..3f38436429a 100644
--- a/doc/administration/geo/replication/datatypes.md
+++ b/doc/administration/geo/replication/datatypes.md
@@ -55,6 +55,8 @@ verification methods:
| Blobs | External Merge Request Diffs _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ |
| Blobs | Pipeline artifacts _(file system)_ | Geo with API | SHA256 checksum |
| Blobs | Pipeline artifacts _(object storage)_ | Geo with API/Managed (*2*) | SHA256 checksum |
+| Blobs | Pages _(file system)_ | Geo with API | _Not implemented_ |
+| Blobs | Pages _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ |
- (*1*): Redis replication can be used as part of HA with Redis sentinel. It's not used between Geo sites.
- (*2*): Object storage replication can be performed by Geo or by your object storage provider/appliance
@@ -199,7 +201,7 @@ successfully, you must replicate their data using some other means.
|[Versioned snippets](../../../user/snippets.md#versioned-snippets) | [**Yes** (13.7)](https://gitlab.com/groups/gitlab-org/-/epics/2809) | [**Yes** (14.2)](https://gitlab.com/groups/gitlab-org/-/epics/2810) | No | Verification was implemented behind the feature flag `geo_snippet_repository_verification` in 13.11, and the feature flag was removed in 14.2. |
|[Server-side Git hooks](../../server_hooks.md) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1867) | No | No | |
|[Elasticsearch integration](../../../integration/elasticsearch.md) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/1186) | No | No | |
-|[GitLab Pages](../../pages/index.md) | [No](https://gitlab.com/groups/gitlab-org/-/epics/589) | No | Via Object Storage provider if supported. **No** native Geo support (Beta). | |
+|[GitLab Pages](../../pages/index.md) | [**Yes** (14.3)](https://gitlab.com/groups/gitlab-org/-/epics/589) | No | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_pages_deployment_replication`, enabled by default. |
|[Dependency proxy images](../../../user/packages/dependency_proxy/index.md) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/259694) | No | No | Blocked on [Geo: Secondary Mimicry](https://gitlab.com/groups/gitlab-org/-/epics/1528). Replication of this cache is not needed for Disaster Recovery purposes because it can be recreated from external sources. |
|[Vulnerability Export](../../../user/application_security/vulnerability_report/#export-vulnerability-details) | [Not planned](https://gitlab.com/groups/gitlab-org/-/epics/3111) | No | | Not planned because they are ephemeral and sensitive. They can be regenerated on demand. |
diff --git a/doc/administration/operations/unicorn.md b/doc/administration/operations/unicorn.md
deleted file mode 100644
index 6cee19186f9..00000000000
--- a/doc/administration/operations/unicorn.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: 'puma.md'
-remove_date: '2021-08-26'
----
-
-This file was moved to [another location](puma.md).
-
-<!-- This redirect file can be deleted after <2021-08-26>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index a5e6a5ef831..ba045bc3cf7 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -9851,7 +9851,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
##### `GeoNode.pagesDeploymentRegistries`
-Find Pages Deployment registries on this Geo node Available only when feature flag `geo_pages_deployment_replication` is enabled. This flag is disabled by default, because the feature is experimental and is subject to change without notice.
+Find Pages Deployment registries on this Geo node.
Returns [`PagesDeploymentRegistryConnection`](#pagesdeploymentregistryconnection).
diff --git a/doc/api/instance_clusters.md b/doc/api/instance_clusters.md
index ae94fdb137c..4e0ec3bd433 100644
--- a/doc/api/instance_clusters.md
+++ b/doc/api/instance_clusters.md
@@ -4,7 +4,7 @@ group: Configure
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
---
-# Instance clusters API **(FREE)**
+# Instance clusters API **(FREE SELF)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36001) in GitLab 13.2.
diff --git a/doc/api/instance_level_ci_variables.md b/doc/api/instance_level_ci_variables.md
index de6fd958aa6..2b2579425b5 100644
--- a/doc/api/instance_level_ci_variables.md
+++ b/doc/api/instance_level_ci_variables.md
@@ -4,7 +4,7 @@ group: Pipeline Authoring
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
---
-# Instance-level CI/CD variables API
+# Instance-level CI/CD variables API **(FREE SELF)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/14108) in GitLab 13.0
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/218249) in GitLab 13.2.
diff --git a/doc/api/issue_links.md b/doc/api/issue_links.md
index d4f59d10316..ac26d2a3d17 100644
--- a/doc/api/issue_links.md
+++ b/doc/api/issue_links.md
@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Issue links API **(FREE)**
-> The simple "relates to" relationship [moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212329) to [GitLab Free](https://about.gitlab.com/pricing/) in 13.4.
+> The simple "relates to" relationship [moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212329) to GitLab Free in 13.4.
## List issue relations
diff --git a/doc/api/issues.md b/doc/api/issues.md
index d8e9469b59f..97d0fd3ce8f 100644
--- a/doc/api/issues.md
+++ b/doc/api/issues.md
@@ -20,7 +20,7 @@ Read more on [pagination](index.md#pagination).
WARNING:
The `reference` attribute in responses is deprecated in favor of `references`.
-Introduced in [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354).
+[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354) in GitLab 12.6.
NOTE:
The `references.relative` attribute is relative to the group or project of the issue being requested.
@@ -61,17 +61,17 @@ GET /issues?state=opened
| `confidential` | boolean | no | Filter confidential or public issues. |
| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
-| `due_date` | string | no | Return issues that have no due date, are overdue, or whose due date is this week, this month, or between two weeks ago and next month. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _(Introduced in [GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/233420))_ |
+| `due_date` | string | no | Return issues that have no due date, are overdue, or whose due date is this week, this month, or between two weeks ago and next month. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/233420) in GitLab 13.3)_ |
| `iids[]` | integer array | no | Return only the issues having the given `iid` |
| `in` | string | no | Modify the scope of the `search` attribute. `title`, `description`, or a string joining them with comma. Default is `title,description` |
-| `issue_type` | string | no | Filter to a given type of issue. One of `issue`, `incident`, or `test_case`. _(Introduced in [GitLab 13.12](https://gitlab.com/gitlab-org/gitlab/-/issues/260375))_ |
+| `issue_type` | string | no | Filter to a given type of issue. One of `issue`, `incident`, or `test_case`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/260375) in GitLab 13.12)_ |
| `iteration_id` **(PREMIUM)** | integer | no | Return issues assigned to the given iteration ID. `None` returns issues that do not belong to an iteration. `Any` returns issues that belong to an iteration. Mutually exclusive with `iteration_title`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.6)_ |
| `iteration_title` **(PREMIUM)** | string | no | Return issues assigned to the iteration with the given title. Similar to `iteration_id` and mutually exclusive with `iteration_id`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.6)_ |
| `labels` | string | no | Comma-separated list of label names, issues must have all labels to be returned. `None` lists all issues with no labels. `Any` lists all issues with at least one label. `No+Label` (Deprecated) lists all issues with no labels. Predefined names are case-insensitive. |
| `milestone` | string | no | The milestone title. `None` lists all issues with no milestone. `Any` lists all issues that have an assigned milestone. Using `None` or `Any` will be [deprecated in the future](https://gitlab.com/gitlab-org/gitlab/-/issues/336044). Please use `milestone_id` attribute instead. `milestone` and `milestone_id` are mutually exclusive. |
| `milestone_id` | string | no | Returns issues assigned to milestones with a given timebox value (`None`, `Any`, `Upcoming`, and `Started`). `None` lists all issues with no milestone. `Any` lists all issues that have an assigned milestone. `Upcoming` lists all issues assigned to milestones due in the future. `Started` lists all issues assigned to open, started milestones. `milestone` and `milestone_id` are mutually exclusive. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/335939) in GitLab 14.3)_ |
| `my_reaction_emoji` | string | no | Return issues reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) in GitLab 10.0)_ |
-| `non_archived` | boolean | no | Return issues only from non-archived projects. If `false`, the response returns issues from both archived and non-archived projects. Default is `true`. _(Introduced in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/197170))_ |
+| `non_archived` | boolean | no | Return issues only from non-archived projects. If `false`, the response returns issues from both archived and non-archived projects. Default is `true`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/197170) in GitLab 13.0)_ |
| `not` | Hash | no | Return issues that do not match the parameters supplied. Accepts: `assignee_id`, `assignee_username`, `author_id`, `author_username`, `iids`, `iteration_id`, `iteration_title`, `labels`, `milestone`, `milestone_id` and `weight`. |
| `order_by` | string | no | Return issues ordered by `created_at`, `due_date`, `label_priority`, `milestone_due`, `popularity`, `priority`, `relative_position`, `title`, `updated_at`, or `weight` fields. Default is `created_at`. |
| `scope` | string | no | Return issues for the given scope: `created_by_me`, `assigned_to_me` or `all`. Defaults to `created_by_me`<br> For versions before 11.0, use the now deprecated `created-by-me` or `assigned-to-me` scopes instead.<br> _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) in GitLab 9.5. [Changed to snake_case](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18935) in GitLab 11.0)_ |
@@ -81,7 +81,7 @@ GET /issues?state=opened
| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `weight` **(PREMIUM)** | integer | no | Return issues with the specified `weight`. `None` returns issues with no weight assigned. `Any` returns issues with a weight assigned. |
-| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. The `description_html` attribute was introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)|
+| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. The `description_html` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) in GitLab 12.7|
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/issues"
@@ -225,11 +225,11 @@ The `assignee` column is deprecated. We now show it as a single-sized array `ass
to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042).
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6.
This value is only present for issues closed after GitLab 10.6 and if the user account
that closed the issue still exists.
@@ -268,16 +268,16 @@ GET /groups/:id/issues?state=opened
| `confidential` | boolean | no | Filter confidential or public issues. |
| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
-| `due_date` | string | no | Return issues that have no due date, are overdue, or whose due date is this week, this month, or between two weeks ago and next month. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _(Introduced in [GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/233420))_ |
+| `due_date` | string | no | Return issues that have no due date, are overdue, or whose due date is this week, this month, or between two weeks ago and next month. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/233420) in GitLab 13.3)_ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](index.md#namespaced-path-encoding) owned by the authenticated user |
| `iids[]` | integer array | no | Return only the issues having the given `iid` |
-| `issue_type` | string | no | Filter to a given type of issue. One of `issue`, `incident`, or `test_case`. _(Introduced in [GitLab 13.12](https://gitlab.com/gitlab-org/gitlab/-/issues/260375))_ |
+| `issue_type` | string | no | Filter to a given type of issue. One of `issue`, `incident`, or `test_case`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/260375) in GitLab 13.12)_ |
| `iteration_id` **(PREMIUM)** | integer | no | Return issues assigned to the given iteration ID. `None` returns issues that do not belong to an iteration. `Any` returns issues that belong to an iteration. Mutually exclusive with `iteration_title`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.6)_ |
| `iteration_title` **(PREMIUM)** | string | no | Return issues assigned to the iteration with the given title. Similar to `iteration_id` and mutually exclusive with `iteration_id`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.6)_ |
| `labels` | string | no | Comma-separated list of label names, issues must have all labels to be returned. `None` lists all issues with no labels. `Any` lists all issues with at least one label. `No+Label` (Deprecated) lists all issues with no labels. Predefined names are case-insensitive. |
| `milestone` | string | no | The milestone title. `None` lists all issues with no milestone. `Any` lists all issues that have an assigned milestone. |
| `my_reaction_emoji` | string | no | Return issues reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) in GitLab 10.0)_ |
-| `non_archived` | boolean | no | Return issues from non archived projects. Default is true. _(Introduced in [GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23785))_ |
+| `non_archived` | boolean | no | Return issues from non archived projects. Default is true. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23785) in GitLab 12.8)_ |
| `not` | Hash | no | Return issues that do not match the parameters supplied. Accepts: `labels`, `milestone`, `author_id`, `author_username`, `assignee_id`, `assignee_username`, `my_reaction_emoji`, `search`, `in` |
| `order_by` | string | no | Return issues ordered by `created_at`, `updated_at`, `priority`, `due_date`, `relative_position`, `label_priority`, `milestone_due`, `popularity`, `weight` fields. Default is `created_at` |
| `scope` | string | no | Return issues for the given scope: `created_by_me`, `assigned_to_me` or `all`.<br> For versions before 11.0, use the now deprecated `created-by-me` or `assigned-to-me` scopes instead.<br> _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) in GitLab 9.5. [Changed to snake_case](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18935) in GitLab 11.0)_ |
@@ -287,7 +287,7 @@ GET /groups/:id/issues?state=opened
| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `weight` **(PREMIUM)** | integer | no | Return issues with the specified `weight`. `None` returns issues with no weight assigned. `Any` returns issues with a weight assigned. |
-| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. The `description_html` attribute was introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) |
+| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. The `description_html` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) in GitLab 12.7 |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/4/issues"
@@ -429,11 +429,11 @@ WARNING:
The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042).
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6.
This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
@@ -472,10 +472,10 @@ GET /projects/:id/issues?state=opened
| `confidential` | boolean | no | Filter confidential or public issues. |
| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
-| `due_date` | string | no | Return issues that have no due date, are overdue, or whose due date is this week, this month, or between two weeks ago and next month. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _(Introduced in [GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/233420))_ |
+| `due_date` | string | no | Return issues that have no due date, are overdue, or whose due date is this week, this month, or between two weeks ago and next month. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/233420) in GitLab 13.3)_ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](index.md#namespaced-path-encoding) owned by the authenticated user |
| `iids[]` | integer array | no | Return only the issues having the given `iid` |
-| `issue_type` | string | no | Filter to a given type of issue. One of `issue`, `incident`, or `test_case`. _(Introduced in [GitLab 13.12](https://gitlab.com/gitlab-org/gitlab/-/issues/260375))_ |
+| `issue_type` | string | no | Filter to a given type of issue. One of `issue`, `incident`, or `test_case`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/260375) in GitLab 13.12)_ |
| `iteration_id` **(PREMIUM)** | integer | no | Return issues assigned to the given iteration ID. `None` returns issues that do not belong to an iteration. `Any` returns issues that belong to an iteration. Mutually exclusive with `iteration_title`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.6)_ |
| `iteration_title` **(PREMIUM)** | string | no | Return issues assigned to the iteration with the given title. Similar to `iteration_id` and mutually exclusive with `iteration_id`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.6)_ |
| `labels` | string | no | Comma-separated list of label names, issues must have all labels to be returned. `None` lists all issues with no labels. `Any` lists all issues with at least one label. `No+Label` (Deprecated) lists all issues with no labels. Predefined names are case-insensitive. |
@@ -490,7 +490,7 @@ GET /projects/:id/issues?state=opened
| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `weight` **(PREMIUM)** | integer | no | Return issues with the specified `weight`. `None` returns issues with no weight assigned. `Any` returns issues with a weight assigned. |
-| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. `description_html` was introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) |
+| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. `description_html` was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) in GitLab 12.7 |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues"
@@ -639,11 +639,11 @@ WARNING:
The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6. This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
## Single issue
@@ -804,11 +804,11 @@ The `assignee` column is deprecated. We now show it as a single-sized array `ass
to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated, and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated, and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042).
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6.
This value is only present for issues closed after GitLab 10.6 and if the user account
that closed the issue still exists.
@@ -965,11 +965,11 @@ WARNING:
The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6. This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
## New issue
@@ -992,7 +992,7 @@ POST /projects/:id/issues
| `discussion_to_resolve` | string | no | The ID of a discussion to resolve. This fills out the issue with a default description and mark the discussion as resolved. Use in combination with `merge_request_to_resolve_discussions_of`. |
| `due_date` | string | no | The due date. Date time string in the format `YYYY-MM-DD`, for example `2016-03-11` |
| `epic_id` **(PREMIUM)** | integer | no | ID of the epic to add the issue to. Valid values are greater than or equal to 0. |
-| `epic_iid` **(PREMIUM)** | integer | no | IID of the epic to add the issue to. Valid values are greater than or equal to 0. (deprecated, [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157)) |
+| `epic_iid` **(PREMIUM)** | integer | no | IID of the epic to add the issue to. Valid values are greater than or equal to 0. (deprecated, [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](index.md#namespaced-path-encoding) owned by the authenticated user |
| `iid` | integer/string | no | The internal ID of the project's issue (requires administrator or project owner rights) |
| `issue_type` | string | no | The type of issue. One of `issue`, `incident`, or `test_case`. Default is `issue`. |
@@ -1115,11 +1115,11 @@ WARNING:
The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6. This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
## Rate limits
@@ -1162,7 +1162,7 @@ PUT /projects/:id/issues/:issue_iid
| `discussion_locked` | boolean | no | Flag indicating if the issue's discussion is locked. If the discussion is locked only project members can add or edit comments. |
| `due_date` | string | no | The due date. Date time string in the format `YYYY-MM-DD`, for example `2016-03-11` |
| `epic_id` **(PREMIUM)** | integer | no | ID of the epic to add the issue to. Valid values are greater than or equal to 0. |
-| `epic_iid` **(PREMIUM)** | integer | no | IID of the epic to add the issue to. Valid values are greater than or equal to 0. (deprecated, [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157)) |
+| `epic_iid` **(PREMIUM)** | integer | no | IID of the epic to add the issue to. Valid values are greater than or equal to 0. (deprecated, [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](index.md#namespaced-path-encoding) owned by the authenticated user |
| `issue_iid` | integer | yes | The internal ID of a project's issue |
| `issue_type` | string | no | Updates the type of issue. One of `issue`, `incident`, or `test_case`. |
@@ -1290,11 +1290,11 @@ Issues created by users on GitLab Ultimate include the `health_status` property:
```
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6. This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
WARNING:
@@ -1480,11 +1480,11 @@ WARNING:
The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6. This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
## Subscribe to an issue
@@ -1625,11 +1625,11 @@ WARNING:
The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API.
WARNING:
-The `epic_iid` attribute is deprecated and [scheduled for removal in API version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157).
+The `epic_iid` attribute is deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) in API version 5.
Please use `iid` of the `epic` attribute instead.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6. This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
## Unsubscribe from an issue
@@ -1823,7 +1823,7 @@ WARNING:
The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API.
NOTE:
-The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed
+The `closed_by` attribute was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) in GitLab 10.6. This value is only present for issues closed after GitLab 10.6 and if the user account that closed
the issue still exists.
## Promote an issue to an epic **(PREMIUM)**
diff --git a/doc/api/members.md b/doc/api/members.md
index fc02103b578..0b8cf686b8c 100644
--- a/doc/api/members.md
+++ b/doc/api/members.md
@@ -4,7 +4,7 @@ group: Access
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 and project members API
+# Group and project members API **(FREE)**
## Valid access levels
@@ -92,7 +92,7 @@ Gets a list of group or project members viewable by the authenticated user, incl
If a user is a member of this group or project and also of one or more ancestor groups,
only its membership with the highest `access_level` is returned.
-([Improved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56677)] in GitLab 13.11.)
+([Improved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56677) in GitLab 13.11.)
This represents the effective permission of the user.
This function takes pagination parameters `page` and `per_page` to restrict the list of users.
diff --git a/doc/api/merge_request_approvals.md b/doc/api/merge_request_approvals.md
index ef8af608466..b4403e1d9b9 100644
--- a/doc/api/merge_request_approvals.md
+++ b/doc/api/merge_request_approvals.md
@@ -81,7 +81,7 @@ POST /projects/:id/approvals
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in GitLab 12.3.
> - Moved to GitLab Premium in 13.9.
-> - `protected_branches` property was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/460) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.7.
+> - `protected_branches` property was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/460) in GitLab 12.7.
You can request information about a project's approval rules using the following endpoint:
@@ -954,7 +954,7 @@ POST /projects/:id/merge_requests/:merge_request_iid/approve
| `id` | integer or string | yes | The ID or [URL-encoded path of a project](index.md#namespaced-path-encoding) |
| `merge_request_iid` | integer | yes | The IID of the merge request |
| `sha` | string | no | The `HEAD` of the merge request |
-| `approval_password` **(PREMIUM)** | string | no | Current user's password. Required if [**Require user password to approve**](../user/project/merge_requests/approvals/settings.md#require-user-password-to-approve) is enabled in the project settings. |
+| `approval_password` | string | no | Current user's password. Required if [**Require user password to approve**](../user/project/merge_requests/approvals/settings.md#require-user-password-to-approve) is enabled in the project settings. |
The `sha` parameter works in the same way as
when [accepting a merge request](merge_requests.md#accept-mr): if it is passed, then it must
diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md
index b90f0e70a02..98af228a064 100644
--- a/doc/api/merge_requests.md
+++ b/doc/api/merge_requests.md
@@ -222,7 +222,7 @@ Parameters:
]
```
-Users on GitLab Premium or higher also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -418,7 +418,7 @@ The `merge_status` field may hold one of the following values:
| `cannot_be_merged` | There are merge conflicts between the source and target branches |
| `cannot_be_merged_recheck` | Currently unchecked. Before the current changes, there were conflicts |
-Users on GitLab Premium or higher also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -460,8 +460,8 @@ Parameters:
| `milestone` | string | no | Return merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone. |
| `view` | string | no | If `simple`, returns the `iid`, URL, title, description, and basic state of merge request. |
| `labels` | string | no | Return merge requests matching a comma separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. `No+Label` (Deprecated) lists all merge requests with no labels. Predefined names are case-insensitive. |
-| `with_labels_details` | boolean | no | If `true`, response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. Introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413).|
-| `with_merge_status_recheck` | boolean | no | If `true`, this projection requests (but does not guarantee) that the `merge_status` field be recalculated asynchronously. Default is `false`. Introduced in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890). |
+| `with_labels_details` | boolean | no | If `true`, response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) in GitLab 12.7.|
+| `with_merge_status_recheck` | boolean | no | If `true`, this projection requests (but does not guarantee) that the `merge_status` field be recalculated asynchronously. Default is `false`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890) in GitLab 13.0. |
| `created_after` | datetime | no | Return merge requests created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). |
| `created_before` | datetime | no | Return merge requests created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). |
| `updated_after` | datetime | no | Return merge requests updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). |
@@ -478,7 +478,7 @@ Parameters:
| `source_branch` | string | no | Return merge requests with the given source branch. |
| `target_branch` | string | no | Return merge requests with the given target branch. |
| `search` | string | no | Search merge requests against their `title` and `description`. |
-| `non_archived` | boolean | no | Return merge requests from non archived projects only. Default is true. _(Introduced in [GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23809))_. |
+| `non_archived` | boolean | no | Return merge requests from non archived projects only. Default is true. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23809) in GitLab 12.8)_. |
| `not` | Hash | no | Return merge requests that do not match the parameters supplied. Accepts: `labels`, `milestone`, `author_id`, `author_username`, `assignee_id`, `assignee_username`, `reviewer_id`, `reviewer_username`, `my_reaction_emoji`. |
```json
@@ -592,7 +592,7 @@ Parameters:
]
```
-Users on GitLab Premium or higher also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -625,7 +625,7 @@ Parameters:
|----------------------------------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](index.md#namespaced-path-encoding) owned by the authenticated user. |
| `merge_request_iid` | integer | yes | The internal ID of the merge request. |
-| `render_html` | integer | no | If `true` response includes rendered HTML for title and description. |
+| `render_html` | boolean | no | If `true` response includes rendered HTML for title and description. |
| `include_diverged_commits_count` | boolean | no | If `true` response includes the commits behind the target branch. |
| `include_rebase_in_progress` | boolean | no | If `true` response includes whether a rebase operation is in progress. |
@@ -764,7 +764,7 @@ Parameters:
}
```
-Users on GitLab Premium also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -1014,7 +1014,7 @@ The new pipeline can be:
- A detached merge request pipeline.
- A [pipeline for merged results](../ci/pipelines/pipelines_for_merged_results.md)
- if the [project setting is enabled](../ci/pipelines/pipelines_for_merged_results.md#enable-pipelines-for-merged-results).
+ if the [project setting is enabled](../ci/pipelines/pipelines_for_merged_results.md#enable-pipelines-for-merged-results). **(PREMIUM)**
```plaintext
POST /projects/:id/merge_requests/:merge_request_iid/pipelines
@@ -1375,7 +1375,7 @@ Must include at least one non-required attribute from above.
}
```
-Users on GitLab Premium or higher also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -1561,7 +1561,7 @@ Parameters:
}
```
-Users on GitLab Premium also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -1750,7 +1750,7 @@ Parameters:
}
```
-Users on GitLab Premium or higher also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -2051,7 +2051,7 @@ Example response:
}
```
-Users on GitLab Premium also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
@@ -2211,7 +2211,7 @@ Example response:
}
```
-Users on GitLab Premium or higher also see
+Users on [GitLab Premium or higher](https://about.gitlab.com/pricing/) also see
the `approvals_before_merge` parameter:
```json
diff --git a/doc/api/milestones.md b/doc/api/milestones.md
index 183d8b4799b..84b4e2fe39d 100644
--- a/doc/api/milestones.md
+++ b/doc/api/milestones.md
@@ -32,7 +32,7 @@ Parameters:
| `state` | string | optional | Return only `active` or `closed` milestones |
| `title` | string | optional | Return only the milestones having the given `title` |
| `search` | string | optional | Return only milestones with a title or description matching the provided string |
-| `include_parent_milestones` | boolean | optional | Include group milestones from parent group and its ancestors. Introduced in [GitLab 13.4](https://gitlab.com/gitlab-org/gitlab/-/issues/196066) |
+| `include_parent_milestones` | boolean | optional | Include group milestones from parent group and its ancestors. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/196066) in GitLab 13.4 |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/milestones"
diff --git a/doc/development/database/multiple_databases.md b/doc/development/database/multiple_databases.md
index c8f4ab01d16..0fd9f821fab 100644
--- a/doc/development/database/multiple_databases.md
+++ b/doc/development/database/multiple_databases.md
@@ -24,24 +24,26 @@ configurations. For example, given a `config/database.yml` like below:
```yaml
development:
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_development
- host: /path/to/gdk/postgresql
- pool: 10
- prepared_statements: false
- variables:
- statement_timeout: 120s
+ main:
+ adapter: postgresql
+ encoding: unicode
+ database: gitlabhq_development
+ host: /path/to/gdk/postgresql
+ pool: 10
+ prepared_statements: false
+ variables:
+ statement_timeout: 120s
test: &test
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_test
- host: /path/to/gdk/postgresql
- pool: 10
- prepared_statements: false
- variables:
- statement_timeout: 120s
+ main:
+ adapter: postgresql
+ encoding: unicode
+ database: gitlabhq_test
+ host: /path/to/gdk/postgresql
+ pool: 10
+ prepared_statements: false
+ variables:
+ statement_timeout: 120s
```
Edit the `config/database.yml` to look like this:
@@ -412,3 +414,50 @@ The `url` parameter should point to an issue with a milestone for when we intend
to fix the cross-join. If the cross-join is being used in a migration, we do not
need to fix the code. See <https://gitlab.com/gitlab-org/gitlab/-/issues/340017>
for more details.
+
+## `config/database.yml`
+
+GitLab will support running multiple databases in the future, for example to [separate tables for the continuous integration features](https://gitlab.com/groups/gitlab-org/-/epics/6167) from the main database. In order to prepare for this change, we [validate the structure of the configuration](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67877) in `database.yml` to ensure that only known databases are used.
+
+Previously, the `config/database.yml` would look like this:
+
+```yaml
+production:
+ adapter: postgresql
+ encoding: unicode
+ database: gitlabhq_production
+ ...
+```
+
+With the support for many databases the support for this
+syntax is deprecated and will be removed in [15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/338182).
+
+The new `config/database.yml` needs to include a database name
+to define a database configuration. Only `main:` and `ci:` database
+names are supported today. The `main:` needs to always be a first
+entry in a hash. This change applies to decomposed and non-decomposed
+change. If an invalidate or deprecated syntax is used the error
+or warning will be printed during application start.
+
+```yaml
+# Non-decomposed database
+production:
+ main:
+ adapter: postgresql
+ encoding: unicode
+ database: gitlabhq_production
+ ...
+
+# Decomposed database
+production:
+ main:
+ adapter: postgresql
+ encoding: unicode
+ database: gitlabhq_production
+ ...
+ ci:
+ adapter: postgresql
+ encoding: unicode
+ database: gitlabhq_production_ci
+ ...
+```
diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md
index e9398288ae3..9eef831afa4 100644
--- a/doc/update/deprecations.md
+++ b/doc/update/deprecations.md
@@ -33,3 +33,11 @@ Audit events for [repository events](../administration/audit_events.md#repositor
These events have always been disabled by default and had to be manually enabled with a
feature flag. Enabling them can cause too many events to be generated which can
dramatically slow down GitLab instances. For this reason, they are being removed.
+
+### OmniAuth Kerberos gem
+
+The `omniauth-kerberos` gem will be removed in our next major release, GitLab 15.0.
+
+This gem has not been maintained and has very little usage. We therefore plan to remove support for this authentication method and recommend using the Kerberos [SPNEGO](https://en.wikipedia.org/wiki/SPNEGO) integration instead. You can follow the [upgrade instructions](../integration/kerberos.md#upgrading-from-password-based-to-ticket-based-kerberos-sign-ins) to upgrade from the `omniauth-kerberos` integration to the supported one.
+
+Note that we are not deprecating the Kerberos SPNEGO integration, only the old password-based Kerberos integration.
diff --git a/doc/user/application_security/dast/index.md b/doc/user/application_security/dast/index.md
index 5c409233e5f..631cdf026c2 100644
--- a/doc/user/application_security/dast/index.md
+++ b/doc/user/application_security/dast/index.md
@@ -921,7 +921,7 @@ The DAST job does not require the project's repository to be present when runnin
> - Auditing for DAST profile management was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/217872) in GitLab 14.1.
An on-demand DAST scan runs outside the DevOps life cycle. Changes in your repository don't trigger
-the scan. You must start it manually.
+the scan. You must either start it manually, or schedule it to run.
An on-demand DAST scan:
@@ -930,8 +930,6 @@ An on-demand DAST scan:
- Is associated with your project's default branch.
- Is saved on creation so it can be run later.
-In GitLab 13.10 and later, you can select to run an on-demand scan against a specific branch.
-
### On-demand scan modes
An on-demand scan can be run in active or passive mode:
@@ -943,23 +941,34 @@ An on-demand scan can be run in active or passive mode:
### Run an on-demand DAST scan
-NOTE:
-You must have permission to run an on-demand DAST scan against a protected branch.
-The default branch is automatically protected. For more information, see
-[Pipeline security on protected branches](../../../ci/pipelines/index.md#pipeline-security-on-protected-branches).
-
Prerequisites:
+- You must have permission to run an on-demand DAST scan against a protected branch. The default
+ branch is automatically protected. For more information, read
+ [Pipeline security on protected branches](../../../ci/pipelines/index.md#pipeline-security-on-protected-branches).
- A [scanner profile](#create-a-scanner-profile).
- A [site profile](#create-a-site-profile).
-- If you are running an active scan the site profile must be [validated](#validate-a-site-profile).
+- If you are running an active scan the site profile must have been [validated](#validate-a-site-profile).
+
+You can run an on-demand scan immediately, once at a scheduled date and time or at a specified
+frequency:
+
+- Every day
+- Every week
+- Every month
+- Every 3 months
+- Every 6 months
+- Every year
-To run an on-demand scan, either:
+To run an on-demand scan immediately, either:
-- [Create and run an on-demand scan](#create-and-run-an-on-demand-scan).
+- [Create and run an on-demand scan immediately](#create-and-run-an-on-demand-scan-immediately).
- [Run a previously saved on-demand scan](#run-a-saved-on-demand-scan).
-#### Create and run an on-demand scan
+To run an on-demand scan either at a scheduled date or frequency, read
+[Schedule an on-demand scan](#schedule-an-on-demand-scan).
+
+#### Create and run an on-demand scan immediately
1. From your project's home page, go to **Security & Compliance > On-demand Scans** in the left
sidebar.
@@ -967,44 +976,70 @@ To run an on-demand scan, either:
1. In GitLab 13.10 and later, select the desired branch from the **Branch** dropdown.
1. In **Scanner profile**, select a scanner profile from the dropdown.
1. In **Site profile**, select a site profile from the dropdown.
-1. To run the on-demand scan now, select **Save and run scan**. Otherwise select **Save scan** to
- [run](#run-a-saved-on-demand-scan) it later.
+1. To run the on-demand scan immediately, select **Save and run scan**. Otherwise, select
+ **Save scan** to [run](#run-a-saved-on-demand-scan) it later.
The on-demand DAST scan runs and the project's dashboard shows the results.
-### List saved on-demand scans
+#### Run a saved on-demand scan
-To list saved on-demand scans:
+To run a saved on-demand scan:
-1. From your project's home page, go to **Security & Compliance > Configuration**.
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Security & Compliance > Configuration**.
+1. Select **Manage DAST scans**.
+1. In the **DAST Profiles** row, select **Manage**.
1. Select the **Saved Scans** tab.
+1. In the scan's row, select **Run scan**.
-### View details of an on-demand scan
+ If the branch saved in the scan no longer exists, you must first
+ [edit the scan](#edit-an-on-demand-scan), select a new branch, and save the edited scan.
-To view details of an on-demand scan:
+The on-demand DAST scan runs, and the project's dashboard shows the results.
+
+#### Schedule an on-demand scan
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328749) in GitLab 14.3. [Deployed behind the `dast_on_demand_scans_scheduler` flag](../../../administration/feature_flags.md), disabled by default.
+
+FLAG:
+On self-managed GitLab, by default this feature is not available. To make it available per user,
+ask an administrator to [disable the `dast_on_demand_scans_scheduler` flag](../../../administration/feature_flags.md).
+The feature is not ready for production use.
+
+To schedule a scan:
+
+1. On the top bar, select **Menu > Projects** and find your project.
+1. On the left sidebar, select **Security & Compliance > On-demand Scans**.
+1. Complete the **Scan name** and **Description** text boxes.
+1. In GitLab 13.10 and later, from the **Branch** dropdown list, select the desired branch.
+1. In the **Scanner profile** section, from the dropdown list, select a scanner profile.
+1. In the **Site profile** section, from the dropdown list, select a site profile.
+1. Select **Schedule scan**.
+1. In the **Start time** section, select a time zone, date, and time.
+1. From the **Repeats** dropdown list, select your desired frequency:
+ - To run the scan once, select **Never**.
+ - For a recurring scan, select any other option.
+1. To run the on-demand scan immediately, select **Save and run scan**. To [run](#run-a-saved-on-demand-scan) it according to the schedule you set, select
+ **Save scan**.
+
+#### List saved on-demand scans
+
+To list saved on-demand scans:
1. From your project's home page, go to **Security & Compliance > Configuration**.
-1. Select **Manage DAST scans**.
-1. Select **Manage** in the **DAST Profiles** row.
1. Select the **Saved Scans** tab.
-1. In the saved scan's row select **More actions** (**{ellipsis_v}**), then select **Edit**.
-### Run a saved on-demand scan
+#### View details of an on-demand scan
-To run a saved on-demand scan:
+To view details of an on-demand scan:
1. From your project's home page, go to **Security & Compliance > Configuration**.
1. Select **Manage DAST scans**.
1. Select **Manage** in the **DAST Profiles** row.
1. Select the **Saved Scans** tab.
-1. In the scan's row select **Run scan**.
-
- If the branch saved in the scan no longer exists, you must first
- [edit the scan](#edit-an-on-demand-scan), select a new branch, and save the edited scan.
-
-The on-demand DAST scan runs and the project's dashboard shows the results.
+1. In the saved scan's row select **More actions** (**{ellipsis_v}**), then select **Edit**.
-### Edit an on-demand scan
+#### Edit an on-demand scan
To edit an on-demand scan:
@@ -1016,7 +1051,7 @@ To edit an on-demand scan:
1. Edit the form.
1. Select **Save scan**.
-### Delete an on-demand scan
+#### Delete an on-demand scan
To delete an on-demand scan:
diff --git a/doc/user/project/integrations/index.md b/doc/user/project/integrations/index.md
index 6f86098b33d..ac6e18e8e6a 100644
--- a/doc/user/project/integrations/index.md
+++ b/doc/user/project/integrations/index.md
@@ -17,8 +17,8 @@ For more information, read the
[overview of integrations](overview.md) or learn how to manage your integrations:
- *For GitLab 13.3 and later,* read [Project integration management](../../admin_area/settings/project_integration_management.md).
-- *For GitLab 13.2 and earlier,* read [Service Templates](services_templates.md),
- which are deprecated and [scheduled to be removed](https://gitlab.com/gitlab-org/gitlab/-/issues/268032)
+- *For GitLab 13.2 and earlier,* read [Integration Management](../../admin_area/settings/project_integration_management.md),
+ which replaced the deprecated Service Templates [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/268032)
in GitLab 14.0.
## Project webhooks
diff --git a/doc/user/project/integrations/services_templates.md b/doc/user/project/integrations/services_templates.md
deleted file mode 100644
index 37df48c75f8..00000000000
--- a/doc/user/project/integrations/services_templates.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: '../../admin_area/settings/project_integration_management.md'
-remove_date: '2021-09-09'
----
-
-This document was moved to [another location](../../admin_area/settings/project_integration_management.md).
-
-<!-- This redirect file can be deleted after <2021-09-09>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index 0a3e1eef64b..662d7e70910 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -240,9 +240,11 @@ reduce the repository size for another import attempt.
# Prevent interference with recreating an importable file later
mv project.bundle ../"$EXPORT"-original.bundle
mv ../"$EXPORT".tar.gz ../"$EXPORT"-original.tar.gz
+
+ git switch --create smaller-tmp-main
```
-1. To reduce the repository size,
+1. To reduce the repository size, work on this `smaller-tmp-main` branch:
[identify and remove large files](../repository/reducing_the_repo_size_using_git.md)
or [interactively rebase and fixup](../../../topics/git/git_rebase.md#interactive-rebase)
to reduce the number of commits.
@@ -254,7 +256,7 @@ reduce the repository size for another import attempt.
git gc --prune=now --aggressive
# Prepare recreating an importable file
- git bundle create ../project.bundle <default-branch-name>
+ git bundle create ../project.bundle smaller-tmp-main
cd ..
mv project/ ../"$EXPORT"-project
cd ..
@@ -270,5 +272,5 @@ reduce the repository size for another import attempt.
1. Update the imported repository's
[branch protection rules](../protected_branches.md) and
its [default branch](../repository/branches/default.md), and
- delete the temporary, `smaller-…` branch, and
+ delete the temporary, `smaller-tmp-main` branch, and
the local, temporary data.
diff --git a/lib/gitlab/database/migration_helpers/v2.rb b/lib/gitlab/database/migration_helpers/v2.rb
index 855c9908e4a..cabc18faddd 100644
--- a/lib/gitlab/database/migration_helpers/v2.rb
+++ b/lib/gitlab/database/migration_helpers/v2.rb
@@ -100,6 +100,14 @@ module Gitlab
# * +logger+ - [Gitlab::JsonLogger]
# * +env+ - [Hash] custom environment hash, see the example with `DISABLE_LOCK_RETRIES`
def with_lock_retries(*args, **kwargs, &block)
+ if transaction_open?
+ raise <<~EOF
+ #{__callee__} can not be run inside an already open transaction
+
+ Use migration-level lock retries instead, see https://docs.gitlab.com/ee/development/migration_style_guide.html#retry-mechanism-when-acquiring-database-locks
+ EOF
+ end
+
super(*args, **kwargs.merge(allow_savepoints: false), &block)
end
diff --git a/lib/gitlab/database/schema_migrations/context.rb b/lib/gitlab/database/schema_migrations/context.rb
index 35105121bbd..a95f85c6bef 100644
--- a/lib/gitlab/database/schema_migrations/context.rb
+++ b/lib/gitlab/database/schema_migrations/context.rb
@@ -6,7 +6,7 @@ module Gitlab
class Context
attr_reader :connection
- DEFAULT_SCHEMA_MIGRATIONS_PATH = "db/schema_migrations"
+ class_attribute :default_schema_migrations_path, default: 'db/schema_migrations'
def initialize(connection)
@connection = connection
@@ -30,7 +30,7 @@ module Gitlab
end
def database_schema_migrations_path
- @connection.pool.db_config.configuration_hash[:schema_migrations_path] || DEFAULT_SCHEMA_MIGRATIONS_PATH
+ @connection.pool.db_config.configuration_hash[:schema_migrations_path] || self.class.default_schema_migrations_path
end
end
end
diff --git a/lib/gitlab/import_export/attributes_permitter.rb b/lib/gitlab/import_export/attributes_permitter.rb
index 7c48e63941a..acd03d9ec20 100644
--- a/lib/gitlab/import_export/attributes_permitter.rb
+++ b/lib/gitlab/import_export/attributes_permitter.rb
@@ -42,6 +42,10 @@ module Gitlab
class AttributesPermitter
attr_reader :permitted_attributes
+ # We want to use AttributesCleaner for these relations instead, in the future this should be removed to make sure
+ # we are using AttributesPermitter for every imported relation.
+ DISABLED_RELATION_NAMES = %i[user author ci_cd_settings issuable_sla push_rule].freeze
+
def initialize(config: ImportExport::Config.new.to_h)
@config = config
@attributes_finder = Gitlab::ImportExport::AttributesFinder.new(config: @config)
@@ -50,16 +54,20 @@ module Gitlab
build_permitted_attributes
end
- def permit(relation_name, relation_hash)
- permitted_attributes = permitted_attributes_for(relation_name)
+ def permit(relation_sym, relation_hash)
+ permitted_attributes = permitted_attributes_for(relation_sym)
relation_hash.select do |key, _|
- permitted_attributes.include?(key)
+ permitted_attributes.include?(key.to_sym)
end
end
- def permitted_attributes_for(relation_name)
- @permitted_attributes[relation_name] || []
+ def permitted_attributes_for(relation_sym)
+ @permitted_attributes[relation_sym] || []
+ end
+
+ def permitted_attributes_defined?(relation_sym)
+ !DISABLED_RELATION_NAMES.include?(relation_sym) && @attributes_finder.included_attributes.key?(relation_sym)
end
private
diff --git a/lib/gitlab/import_export/base/relation_factory.rb b/lib/gitlab/import_export/base/relation_factory.rb
index 30cd5ccfbcb..a84efd1d240 100644
--- a/lib/gitlab/import_export/base/relation_factory.rb
+++ b/lib/gitlab/import_export/base/relation_factory.rb
@@ -29,7 +29,7 @@ module Gitlab
owner_id
].freeze
- TOKEN_RESET_MODELS = %i[Project Namespace Group Ci::Trigger Ci::Build Ci::Runner ProjectHook].freeze
+ TOKEN_RESET_MODELS = %i[Project Namespace Group Ci::Trigger Ci::Build Ci::Runner ProjectHook ErrorTracking::ProjectErrorTrackingSetting].freeze
def self.create(*args, **kwargs)
new(*args, **kwargs).create
@@ -45,6 +45,7 @@ module Gitlab
end
def initialize(relation_sym:, relation_index:, relation_hash:, members_mapper:, object_builder:, user:, importable:, excluded_keys: [])
+ @relation_sym = relation_sym
@relation_name = self.class.overrides[relation_sym]&.to_sym || relation_sym
@relation_index = relation_index
@relation_hash = relation_hash.except('noteable_id')
@@ -181,8 +182,17 @@ module Gitlab
end
def parsed_relation_hash
- @parsed_relation_hash ||= Gitlab::ImportExport::AttributeCleaner.clean(relation_hash: @relation_hash,
- relation_class: relation_class)
+ strong_memoize(:parsed_relation_hash) do
+ if Feature.enabled?(:permitted_attributes_for_import_export, default_enabled: :yaml) && attributes_permitter.permitted_attributes_defined?(@relation_sym)
+ attributes_permitter.permit(@relation_sym, @relation_hash)
+ else
+ Gitlab::ImportExport::AttributeCleaner.clean(relation_hash: @relation_hash, relation_class: relation_class)
+ end
+ end
+ end
+
+ def attributes_permitter
+ @attributes_permitter ||= Gitlab::ImportExport::AttributesPermitter.new
end
def existing_or_new_object
diff --git a/lib/gitlab/import_export/project/import_export.yml b/lib/gitlab/import_export/project/import_export.yml
index 51fd84960c5..95ae6c10e72 100644
--- a/lib/gitlab/import_export/project/import_export.yml
+++ b/lib/gitlab/import_export/project/import_export.yml
@@ -121,6 +121,41 @@ included_attributes:
- :name
ci_cd_settings:
- :group_runners_enabled
+ metrics_setting:
+ - :dashboard_timezone
+ - :external_dashboard_url
+ - :project_id
+ project_badges:
+ - :created_at
+ - :group_id
+ - :image_url
+ - :link_url
+ - :name
+ - :project_id
+ - :type
+ - :updated_at
+ pipeline_schedules:
+ - :active
+ - :created_at
+ - :cron
+ - :cron_timezone
+ - :description
+ - :next_run_at
+ - :owner_id
+ - :project_id
+ - :ref
+ - :updated_at
+ error_tracking_setting:
+ - :api_url
+ - :organization_name
+ - :project_id
+ - :project_name
+ auto_devops:
+ - :created_at
+ - :deploy_strategy
+ - :enabled
+ - :project_id
+ - :updated_at
# Do not include the following attributes for the models specified.
excluded_attributes:
diff --git a/lib/gitlab/usage_data_counters/known_events/code_review_events.yml b/lib/gitlab/usage_data_counters/known_events/code_review_events.yml
index 103762501d4..d4a818f8fe0 100644
--- a/lib/gitlab/usage_data_counters/known_events/code_review_events.yml
+++ b/lib/gitlab/usage_data_counters/known_events/code_review_events.yml
@@ -245,3 +245,7 @@
redis_slot: code_review
category: code_review
aggregation: weekly
+- name: i_code_review_user_resolve_thread_in_issue
+ redis_slot: code_review
+ category: code_review
+ aggregation: weekly
diff --git a/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter.rb b/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter.rb
index 3bfd6c09fda..0fadd68aeab 100644
--- a/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter.rb
+++ b/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter.rb
@@ -48,6 +48,7 @@ module Gitlab
MR_LABELS_CHANGED_ACTION = 'i_code_review_user_labels_changed'
MR_LOAD_CONFLICT_UI_ACTION = 'i_code_review_user_load_conflict_ui'
MR_RESOLVE_CONFLICT_ACTION = 'i_code_review_user_resolve_conflict'
+ MR_RESOLVE_THREAD_IN_ISSUE_ACTION = 'i_code_review_user_resolve_thread_in_issue'
class << self
def track_mr_diffs_action(merge_request:)
@@ -214,6 +215,10 @@ module Gitlab
track_unique_action_by_user(MR_RESOLVE_CONFLICT_ACTION, user)
end
+ def track_resolve_thread_in_issue_action(user:)
+ track_unique_action_by_user(MR_RESOLVE_THREAD_IN_ISSUE_ACTION, user)
+ end
+
private
def track_unique_action_by_merge_request(action, merge_request)
diff --git a/spec/controllers/explore/projects_controller_spec.rb b/spec/controllers/explore/projects_controller_spec.rb
index 02ed954508e..6e30ce3d5e1 100644
--- a/spec/controllers/explore/projects_controller_spec.rb
+++ b/spec/controllers/explore/projects_controller_spec.rb
@@ -205,9 +205,9 @@ RSpec.describe Explore::ProjectsController do
let(:controller_action) { :index }
let(:params_with_name) { { name: 'some project' } }
- context 'when disable_anonymous_search is enabled' do
+ context 'when disable_anonymous_project_search is enabled' do
before do
- stub_feature_flags(disable_anonymous_search: true)
+ stub_feature_flags(disable_anonymous_project_search: true)
end
it 'does not show a flash message' do
@@ -252,9 +252,9 @@ RSpec.describe Explore::ProjectsController do
let(:controller_action) { :index }
let(:params_with_name) { { name: 'some project' } }
- context 'when disable_anonymous_search is enabled' do
+ context 'when disable_anonymous_project_search is enabled' do
before do
- stub_feature_flags(disable_anonymous_search: true)
+ stub_feature_flags(disable_anonymous_project_search: true)
end
it 'shows a flash message' do
@@ -280,9 +280,9 @@ RSpec.describe Explore::ProjectsController do
end
end
- context 'when disable_anonymous_search is disabled' do
+ context 'when disable_anonymous_project_search is disabled' do
before do
- stub_feature_flags(disable_anonymous_search: false)
+ stub_feature_flags(disable_anonymous_project_search: false)
end
it 'does not show a flash message' do
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb
index 980264bef5c..977879b453c 100644
--- a/spec/controllers/projects/issues_controller_spec.rb
+++ b/spec/controllers/projects/issues_controller_spec.rb
@@ -309,6 +309,8 @@ RSpec.describe Projects::IssuesController do
it 'fills in an issue for a discussion' do
note = create(:note_on_merge_request, project: project)
+ expect(Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter).to receive(:track_resolve_thread_in_issue_action).with(user: user)
+
get :new, params: { namespace_id: project.namespace.path, project_id: project, merge_request_to_resolve_discussions_of: note.noteable.iid, discussion_to_resolve: note.discussion_id }
expect(assigns(:issue).title).not_to be_empty
diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb
index de244856e12..d26180bbf94 100644
--- a/spec/finders/projects_finder_spec.rb
+++ b/spec/finders/projects_finder_spec.rb
@@ -195,9 +195,9 @@ RSpec.describe ProjectsFinder do
let(:current_user) { nil }
let(:params) { { search: 'C' } }
- context 'with disable_anonymous_search feature flag enabled' do
+ context 'with disable_anonymous_project_search feature flag enabled' do
before do
- stub_feature_flags(disable_anonymous_search: true)
+ stub_feature_flags(disable_anonymous_project_search: true)
end
it 'does not perform search' do
@@ -205,9 +205,9 @@ RSpec.describe ProjectsFinder do
end
end
- context 'with disable_anonymous_search feature flag disabled' do
+ context 'with disable_anonymous_project_search feature flag disabled' do
before do
- stub_feature_flags(disable_anonymous_search: false)
+ stub_feature_flags(disable_anonymous_project_search: false)
end
it 'finds one public project' do
diff --git a/spec/frontend/projects/storage_counter/mock_data.js b/spec/frontend/projects/storage_counter/mock_data.js
index 8561a2714c6..b9fa68b3ec7 100644
--- a/spec/frontend/projects/storage_counter/mock_data.js
+++ b/spec/frontend/projects/storage_counter/mock_data.js
@@ -48,7 +48,7 @@ export const projectData = {
'There is a known issue with Artifact storage where the total could be incorrect for some projects. More details and progress are available in %{warningLinkStart}the epic%{warningLinkEnd}.',
helpPath: '/build-artifacts',
},
- value: '390.6 KiB',
+ value: 400000,
},
{
storageType: {
@@ -57,7 +57,7 @@ export const projectData = {
description: 'Audio samples, videos, datasets, and graphics.',
helpPath: '/lsf-objects',
},
- value: '4.6 MiB',
+ value: 4800000,
},
{
storageType: {
@@ -66,7 +66,7 @@ export const projectData = {
description: 'Code packages and container images.',
helpPath: '/packages',
},
- value: '3.6 MiB',
+ value: 3800000,
},
{
storageType: {
@@ -75,7 +75,7 @@ export const projectData = {
description: 'Git repository, managed by the Gitaly service.',
helpPath: '/repository',
},
- value: '3.7 MiB',
+ value: 3900000,
},
{
storageType: {
@@ -84,7 +84,7 @@ export const projectData = {
description: 'Shared bits of code and text.',
helpPath: '/snippets',
},
- value: '1.1 MiB',
+ value: 1200000,
},
{
storageType: {
@@ -93,7 +93,7 @@ export const projectData = {
description: 'File attachments and smaller design graphics.',
helpPath: '/uploads',
},
- value: '878.9 KiB',
+ value: 900000,
},
{
storageType: {
@@ -102,7 +102,7 @@ export const projectData = {
description: 'Wiki content.',
helpPath: '/wiki',
},
- value: '293.0 KiB',
+ value: 300000,
},
],
},
diff --git a/spec/lib/gitlab/database/schema_migrations/context_spec.rb b/spec/lib/gitlab/database/schema_migrations/context_spec.rb
index 9ff24a7906e..a79e6706149 100644
--- a/spec/lib/gitlab/database/schema_migrations/context_spec.rb
+++ b/spec/lib/gitlab/database/schema_migrations/context_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe Gitlab::Database::SchemaMigrations::Context do
describe '#schema_directory' do
it 'returns db/schema_migrations' do
- expect(context.schema_directory).to eq(File.join(Rails.root, 'db/schema_migrations'))
+ expect(context.schema_directory).to eq(File.join(Rails.root, described_class.default_schema_migrations_path))
end
context 'CI database' do
@@ -19,7 +19,7 @@ RSpec.describe Gitlab::Database::SchemaMigrations::Context do
it 'returns a directory path that is database specific' do
skip_if_multiple_databases_not_setup
- expect(context.schema_directory).to eq(File.join(Rails.root, 'db/schema_migrations'))
+ expect(context.schema_directory).to eq(File.join(Rails.root, described_class.default_schema_migrations_path))
end
end
diff --git a/spec/lib/gitlab/import_export/attributes_permitter_spec.rb b/spec/lib/gitlab/import_export/attributes_permitter_spec.rb
index 0c1b1cd74bf..36a831a785c 100644
--- a/spec/lib/gitlab/import_export/attributes_permitter_spec.rb
+++ b/spec/lib/gitlab/import_export/attributes_permitter_spec.rb
@@ -74,4 +74,73 @@ RSpec.describe Gitlab::ImportExport::AttributesPermitter do
expect(subject.permitted_attributes_for(:labels)).to contain_exactly(:title, :description, :type, :priorities)
end
end
+
+ describe '#permitted_attributes_defined?' do
+ using RSpec::Parameterized::TableSyntax
+
+ let(:attributes_permitter) { described_class.new }
+
+ where(:relation_name, :permitted_attributes_defined) do
+ :user | false
+ :author | false
+ :ci_cd_settings | false
+ :issuable_sla | false
+ :push_rule | false
+ :metrics_setting | true
+ :project_badges | true
+ :pipeline_schedules | true
+ :error_tracking_setting | true
+ :auto_devops | true
+ end
+
+ with_them do
+ it { expect(attributes_permitter.permitted_attributes_defined?(relation_name)).to eq(permitted_attributes_defined) }
+ end
+ end
+
+ describe 'included_attributes for Project' do
+ let(:prohibited_attributes) { %i[remote_url my_attributes my_ids token my_id test] }
+
+ subject { described_class.new }
+
+ Gitlab::ImportExport::Config.new.to_h[:included_attributes].each do |relation_sym, permitted_attributes|
+ context "for #{relation_sym}" do
+ let(:import_export_config) { Gitlab::ImportExport::Config.new.to_h }
+ let(:project_relation_factory) { Gitlab::ImportExport::Project::RelationFactory }
+
+ let(:relation_hash) { (permitted_attributes + prohibited_attributes).map(&:to_s).zip([]).to_h }
+ let(:relation_name) { project_relation_factory.overrides[relation_sym]&.to_sym || relation_sym }
+ let(:relation_class) { project_relation_factory.relation_class(relation_name) }
+ let(:excluded_keys) { import_export_config.dig(:excluded_keys, relation_sym) || [] }
+
+ let(:cleaned_hash) do
+ Gitlab::ImportExport::AttributeCleaner.new(
+ relation_hash: relation_hash,
+ relation_class: relation_class,
+ excluded_keys: excluded_keys
+ ).clean
+ end
+
+ let(:permitted_hash) { subject.permit(relation_sym, relation_hash) }
+
+ if described_class.new.permitted_attributes_defined?(relation_sym)
+ it 'contains only attributes that are defined as permitted in the import/export config' do
+ expect(permitted_hash.keys).to contain_exactly(*permitted_attributes.map(&:to_s))
+ end
+
+ it 'does not contain attributes that would be cleaned with AttributeCleaner' do
+ expect(cleaned_hash.keys).to include(*permitted_hash.keys)
+ end
+
+ it 'does not contain prohibited attributes that are not related to given relation' do
+ expect(permitted_hash.keys).not_to include(*prohibited_attributes.map(&:to_s))
+ end
+ else
+ it 'is disabled' do
+ expect(subject).not_to be_permitted_attributes_defined(relation_sym)
+ end
+ end
+ end
+ end
+ end
end
diff --git a/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb
index ec34479ff7e..cd3388701fe 100644
--- a/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb
+++ b/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb
@@ -408,4 +408,12 @@ RSpec.describe Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter, :cl
let(:action) { described_class::MR_RESOLVE_CONFLICT_ACTION }
end
end
+
+ describe '.track_resolve_thread_in_issue_action' do
+ subject { described_class.track_resolve_thread_in_issue_action(user: user) }
+
+ it_behaves_like 'a tracked merge request unique event' do
+ let(:action) { described_class::MR_RESOLVE_THREAD_IN_ISSUE_ACTION }
+ end
+ end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index a6d767acf3c..aa791d1d2e7 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -306,8 +306,9 @@ RSpec.configure do |config|
# For more information check https://gitlab.com/gitlab-com/gl-infra/production/-/issues/4321
stub_feature_flags(block_issue_repositioning: false)
- # This is an ops feature flag that's disabled by default
+ # These are ops feature flags that are disabled by default
stub_feature_flags(disable_anonymous_search: false)
+ stub_feature_flags(disable_anonymous_project_search: false)
# Disable the refactored top nav search until there is functionality
# Can be removed once all existing functionality has been replicated