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:
-rw-r--r--app/graphql/resolvers/projects_resolver.rb7
-rw-r--r--app/models/ci/build_dependencies.rb2
-rw-r--r--app/models/concerns/mentionable/reference_regexes.rb2
-rw-r--r--app/models/integration.rb11
-rw-r--r--app/models/integrations/base_issue_tracker.rb (renamed from app/models/integrations/issue_tracker.rb)8
-rw-r--r--app/models/integrations/bugzilla.rb2
-rw-r--r--app/models/integrations/custom_issue_tracker.rb2
-rw-r--r--app/models/integrations/ewm.rb2
-rw-r--r--app/models/integrations/jira.rb3
-rw-r--r--app/models/integrations/open_project.rb2
-rw-r--r--app/models/integrations/redmine.rb2
-rw-r--r--app/models/integrations/youtrack.rb2
-rw-r--r--config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml8
-rw-r--r--config/metrics/counts_all/20210216175623_projects_asana_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175625_groups_asana_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175627_templates_asana_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175628_instances_asana_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175630_projects_inheriting_asana_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175632_groups_inheriting_asana_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175634_projects_assembla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175636_groups_assembla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175638_templates_assembla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175640_instances_assembla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175642_projects_inheriting_assembla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175644_groups_inheriting_assembla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175645_projects_bamboo_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175647_groups_bamboo_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175649_templates_bamboo_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175651_instances_bamboo_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175653_projects_inheriting_bamboo_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175655_groups_inheriting_bamboo_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175657_projects_bugzilla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175659_groups_bugzilla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175701_templates_bugzilla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175702_instances_bugzilla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175704_projects_inheriting_bugzilla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175706_groups_inheriting_bugzilla_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175708_projects_buildkite_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175710_groups_buildkite_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175712_templates_buildkite_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175714_instances_buildkite_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175716_projects_inheriting_buildkite_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175717_groups_inheriting_buildkite_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175719_projects_campfire_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175721_groups_campfire_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175723_templates_campfire_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175725_instances_campfire_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175727_projects_inheriting_campfire_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175729_groups_inheriting_campfire_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175731_projects_confluence_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175733_groups_confluence_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175734_templates_confluence_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175736_instances_confluence_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175738_projects_inheriting_confluence_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175740_groups_inheriting_confluence_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175742_projects_custom_issue_tracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175744_groups_custom_issue_tracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175745_templates_custom_issue_tracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175747_instances_custom_issue_tracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175749_projects_inheriting_custom_issue_tracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175751_groups_inheriting_custom_issue_tracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175753_projects_discord_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175755_groups_discord_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175756_templates_discord_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175758_instances_discord_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175800_projects_inheriting_discord_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175802_groups_inheriting_discord_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175804_projects_drone_ci_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175806_groups_drone_ci_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175807_templates_drone_ci_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175809_instances_drone_ci_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175811_projects_inheriting_drone_ci_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175813_groups_inheriting_drone_ci_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175815_projects_emails_on_push_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175817_groups_emails_on_push_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175818_templates_emails_on_push_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175820_instances_emails_on_push_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175822_projects_inheriting_emails_on_push_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175824_groups_inheriting_emails_on_push_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175826_projects_external_wiki_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175828_groups_external_wiki_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175829_templates_external_wiki_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175831_instances_external_wiki_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175833_projects_inheriting_external_wiki_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175835_groups_inheriting_external_wiki_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175837_projects_flowdock_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175839_groups_flowdock_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175840_templates_flowdock_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175842_instances_flowdock_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175844_projects_inheriting_flowdock_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175846_groups_inheriting_flowdock_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175848_projects_github_active.yml19
-rw-r--r--config/metrics/counts_all/20210216175850_groups_github_active.yml19
-rw-r--r--config/metrics/counts_all/20210216175851_templates_github_active.yml19
-rw-r--r--config/metrics/counts_all/20210216175853_instances_github_active.yml19
-rw-r--r--config/metrics/counts_all/20210216175855_projects_inheriting_github_active.yml19
-rw-r--r--config/metrics/counts_all/20210216175857_groups_inheriting_github_active.yml19
-rw-r--r--config/metrics/counts_all/20210216175859_projects_hangouts_chat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175901_groups_hangouts_chat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175902_templates_hangouts_chat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175904_instances_hangouts_chat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175906_projects_inheriting_hangouts_chat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175908_groups_inheriting_hangouts_chat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175910_projects_hipchat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175912_groups_hipchat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175913_templates_hipchat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175915_instances_hipchat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175917_projects_inheriting_hipchat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175919_groups_inheriting_hipchat_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175921_projects_irker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175923_groups_irker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175924_templates_irker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175926_instances_irker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175928_projects_inheriting_irker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175930_groups_inheriting_irker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175932_projects_jenkins_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175934_groups_jenkins_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175935_templates_jenkins_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175937_instances_jenkins_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175939_projects_inheriting_jenkins_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175941_groups_inheriting_jenkins_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175943_projects_jira_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175945_groups_jira_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175946_templates_jira_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175948_instances_jira_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175950_projects_inheriting_jira_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175952_groups_inheriting_jira_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175954_projects_mattermost_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175956_groups_mattermost_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175957_templates_mattermost_active.yml1
-rw-r--r--config/metrics/counts_all/20210216175959_instances_mattermost_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180001_projects_inheriting_mattermost_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180003_groups_inheriting_mattermost_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180005_projects_mattermost_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180006_groups_mattermost_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180008_templates_mattermost_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180010_instances_mattermost_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180012_projects_inheriting_mattermost_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180014_groups_inheriting_mattermost_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180016_projects_microsoft_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180018_groups_microsoft_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180019_templates_microsoft_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180021_instances_microsoft_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180023_projects_inheriting_microsoft_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180025_groups_inheriting_microsoft_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180027_projects_packagist_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180029_groups_packagist_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180030_templates_packagist_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180032_instances_packagist_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180034_projects_inheriting_packagist_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180036_groups_inheriting_packagist_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180038_projects_pipelines_email_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180040_groups_pipelines_email_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180041_templates_pipelines_email_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180043_instances_pipelines_email_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180045_projects_inheriting_pipelines_email_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180047_groups_inheriting_pipelines_email_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180049_projects_pivotaltracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180051_groups_pivotaltracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180052_templates_pivotaltracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180054_instances_pivotaltracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180056_projects_inheriting_pivotaltracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180058_groups_inheriting_pivotaltracker_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180100_projects_pushover_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180102_groups_pushover_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180104_templates_pushover_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180105_instances_pushover_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180107_projects_inheriting_pushover_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180109_groups_inheriting_pushover_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180111_projects_redmine_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180113_groups_redmine_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180115_templates_redmine_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180116_instances_redmine_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180118_projects_inheriting_redmine_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180120_groups_inheriting_redmine_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180122_projects_slack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180124_groups_slack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180126_templates_slack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180127_instances_slack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180129_projects_inheriting_slack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180131_groups_inheriting_slack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180133_projects_slack_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180135_groups_slack_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180137_templates_slack_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180138_instances_slack_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180140_projects_inheriting_slack_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180142_groups_inheriting_slack_slash_commands_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180144_projects_teamcity_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180146_groups_teamcity_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180148_templates_teamcity_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180149_instances_teamcity_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180151_projects_inheriting_teamcity_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180153_groups_inheriting_teamcity_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180155_projects_unify_circuit_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180157_groups_unify_circuit_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180159_templates_unify_circuit_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180201_instances_unify_circuit_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180203_projects_inheriting_unify_circuit_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180204_groups_inheriting_unify_circuit_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180206_projects_webex_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180208_groups_webex_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180210_templates_webex_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180212_instances_webex_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180214_projects_inheriting_webex_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180215_groups_inheriting_webex_teams_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180217_projects_youtrack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180219_groups_youtrack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180221_templates_youtrack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180223_instances_youtrack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180225_projects_inheriting_youtrack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180226_groups_inheriting_youtrack_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180228_projects_jira_server_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180230_projects_jira_cloud_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml1
-rw-r--r--config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml1
-rw-r--r--config/routes/project.rb2
-rw-r--r--config/routes/repository_deprecated.rb (renamed from config/routes/repository.rb)8
-rw-r--r--doc/api/graphql/reference/index.md1
-rw-r--r--doc/api/issues.md1
-rw-r--r--doc/development/usage_ping/dictionary.md24
-rw-r--r--doc/gitlab-basics/add-file.md2
-rw-r--r--doc/gitlab-basics/create-branch.md2
-rw-r--r--doc/gitlab-basics/start-using-git.md220
-rw-r--r--doc/user/project/repository/branches/index.md2
-rw-r--r--lib/gitlab/integrations/sti_type.rb2
-rw-r--r--qa/qa/page/group/new.rb3
-rw-r--r--qa/qa/specs/features/browser_ui/1_manage/group/bulk_import_group_spec.rb33
-rw-r--r--spec/factories/integrations.rb4
-rw-r--r--spec/features/merge_request/user_views_diffs_spec.rb1
-rw-r--r--spec/finders/projects_finder_spec.rb26
-rw-r--r--spec/graphql/resolvers/projects_resolver_spec.rb18
-rw-r--r--spec/lib/gitlab/usage/metric_definition_spec.rb2
-rw-r--r--spec/models/ci/build_dependencies_spec.rb9
-rw-r--r--spec/models/integration_spec.rb1
-rw-r--r--spec/models/integrations/base_issue_tracker_spec.rb (renamed from spec/models/integrations/issue_tracker_spec.rb)2
235 files changed, 219 insertions, 507 deletions
diff --git a/app/graphql/resolvers/projects_resolver.rb b/app/graphql/resolvers/projects_resolver.rb
index 11d18a0a080..665ec796cd3 100644
--- a/app/graphql/resolvers/projects_resolver.rb
+++ b/app/graphql/resolvers/projects_resolver.rb
@@ -24,6 +24,10 @@ module Resolvers
required: false,
description: 'Sort order of results.'
+ argument :topics, type: [GraphQL::STRING_TYPE],
+ required: false,
+ description: 'Filters projects by topics.'
+
def resolve(**args)
ProjectsFinder
.new(current_user: current_user, params: project_finder_params(args), project_ids_relation: parse_gids(args[:ids]))
@@ -38,7 +42,8 @@ module Resolvers
non_public: params[:membership],
search: params[:search],
search_namespaces: params[:search_namespaces],
- sort: params[:sort]
+ sort: params[:sort],
+ topic: params[:topics]
}.compact
end
diff --git a/app/models/ci/build_dependencies.rb b/app/models/ci/build_dependencies.rb
index 716d919487d..d39e0411a79 100644
--- a/app/models/ci/build_dependencies.rb
+++ b/app/models/ci/build_dependencies.rb
@@ -143,8 +143,6 @@ module Ci
def specified_cross_pipeline_dependencies
strong_memoize(:specified_cross_pipeline_dependencies) do
- next [] unless Feature.enabled?(:ci_cross_pipeline_artifacts_download, processable.project, default_enabled: true)
-
specified_cross_dependencies.select { |dep| dep[:pipeline] && dep[:artifacts] }
end
end
diff --git a/app/models/concerns/mentionable/reference_regexes.rb b/app/models/concerns/mentionable/reference_regexes.rb
index cb8baec3113..b05beb6c764 100644
--- a/app/models/concerns/mentionable/reference_regexes.rb
+++ b/app/models/concerns/mentionable/reference_regexes.rb
@@ -29,7 +29,7 @@ module Mentionable
def self.external_pattern
strong_memoize(:external_pattern) do
- issue_pattern = Integrations::IssueTracker.reference_pattern
+ issue_pattern = Integrations::BaseIssueTracker.reference_pattern
link_patterns = URI::DEFAULT_PARSER.make_regexp(%w(http https))
reference_pattern(link_patterns, issue_pattern)
end
diff --git a/app/models/integration.rb b/app/models/integration.rb
index 47c12df4919..ddf33025fcb 100644
--- a/app/models/integration.rb
+++ b/app/models/integration.rb
@@ -29,6 +29,15 @@ class Integration < ApplicationRecord
mock_ci mock_monitoring
].freeze
+ # Base classes which aren't actual integrations.
+ BASE_CLASSES = %w[
+ Integrations::BaseChatNotification
+ Integrations::BaseCi
+ Integrations::BaseIssueTracker
+ Integrations::BaseMonitoring
+ Integrations::BaseSlashCommands
+ ].freeze
+
serialize :properties, JSON # rubocop:disable Cop/ActiveRecordSerialize
attribute :type, Gitlab::Integrations::StiType.new
@@ -59,7 +68,7 @@ class Integration < ApplicationRecord
validates :project_id, presence: true, unless: -> { template? || instance_level? || group_level? }
validates :group_id, presence: true, unless: -> { template? || instance_level? || project_level? }
validates :project_id, :group_id, absence: true, if: -> { template? || instance_level? }
- validates :type, presence: true
+ validates :type, presence: true, exclusion: BASE_CLASSES
validates :type, uniqueness: { scope: :template }, if: :template?
validates :type, uniqueness: { scope: :instance }, if: :instance_level?
validates :type, uniqueness: { scope: :project_id }, if: :project_level?
diff --git a/app/models/integrations/issue_tracker.rb b/app/models/integrations/base_issue_tracker.rb
index f63dfa6aace..6c24f762cd5 100644
--- a/app/models/integrations/issue_tracker.rb
+++ b/app/models/integrations/base_issue_tracker.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Integrations
- class IssueTracker < Integration
+ class BaseIssueTracker < Integration
validate :one_issue_tracker, if: :activated?, on: :manual_change
# TODO: we can probably just delegate as part of
@@ -128,6 +128,10 @@ module Integrations
false
end
+ def create_cross_reference_note(mentioned, noteable, author)
+ # implement inside child
+ end
+
private
def enabled_in_gitlab_config
@@ -150,5 +154,3 @@ module Integrations
end
end
end
-
-Integrations::IssueTracker.prepend_mod_with('Integrations::IssueTracker')
diff --git a/app/models/integrations/bugzilla.rb b/app/models/integrations/bugzilla.rb
index cc6b9cf4cbd..9251015acb8 100644
--- a/app/models/integrations/bugzilla.rb
+++ b/app/models/integrations/bugzilla.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Integrations
- class Bugzilla < IssueTracker
+ class Bugzilla < BaseIssueTracker
include ActionView::Helpers::UrlHelper
validates :project_url, :issues_url, :new_issue_url, presence: true, public_url: true, if: :activated?
diff --git a/app/models/integrations/custom_issue_tracker.rb b/app/models/integrations/custom_issue_tracker.rb
index 9443e111cc7..635a9d093e9 100644
--- a/app/models/integrations/custom_issue_tracker.rb
+++ b/app/models/integrations/custom_issue_tracker.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Integrations
- class CustomIssueTracker < IssueTracker
+ class CustomIssueTracker < BaseIssueTracker
include ActionView::Helpers::UrlHelper
validates :project_url, :issues_url, :new_issue_url, presence: true, public_url: true, if: :activated?
diff --git a/app/models/integrations/ewm.rb b/app/models/integrations/ewm.rb
index 2a5a9ca8683..0a4e8d92ed7 100644
--- a/app/models/integrations/ewm.rb
+++ b/app/models/integrations/ewm.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Integrations
- class Ewm < IssueTracker
+ class Ewm < BaseIssueTracker
include ActionView::Helpers::UrlHelper
validates :project_url, :issues_url, :new_issue_url, presence: true, public_url: true, if: :activated?
diff --git a/app/models/integrations/jira.rb b/app/models/integrations/jira.rb
index 12ec088e0ee..fac666b7b2a 100644
--- a/app/models/integrations/jira.rb
+++ b/app/models/integrations/jira.rb
@@ -2,7 +2,7 @@
# Accessible as Project#external_issue_tracker
module Integrations
- class Jira < IssueTracker
+ class Jira < BaseIssueTracker
extend ::Gitlab::Utils::Override
include Gitlab::Routing
include ApplicationHelper
@@ -205,6 +205,7 @@ module Integrations
log_usage(:close_issue, current_user)
end
+ override :create_cross_reference_note
def create_cross_reference_note(mentioned, noteable, author)
unless can_cross_reference?(noteable)
return s_("JiraService|Events for %{noteable_model_name} are disabled.") % { noteable_model_name: noteable.model_name.plural.humanize(capitalize: false) }
diff --git a/app/models/integrations/open_project.rb b/app/models/integrations/open_project.rb
index 78bbcd6d876..e4cfb24151a 100644
--- a/app/models/integrations/open_project.rb
+++ b/app/models/integrations/open_project.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Integrations
- class OpenProject < IssueTracker
+ class OpenProject < BaseIssueTracker
validates :url, public_url: true, presence: true, if: :activated?
validates :api_url, public_url: true, allow_blank: true, if: :activated?
validates :token, presence: true, if: :activated?
diff --git a/app/models/integrations/redmine.rb b/app/models/integrations/redmine.rb
index 98daccf3d5e..990b538f294 100644
--- a/app/models/integrations/redmine.rb
+++ b/app/models/integrations/redmine.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Integrations
- class Redmine < IssueTracker
+ class Redmine < BaseIssueTracker
include ActionView::Helpers::UrlHelper
validates :project_url, :issues_url, :new_issue_url, presence: true, public_url: true, if: :activated?
diff --git a/app/models/integrations/youtrack.rb b/app/models/integrations/youtrack.rb
index 14cc573dfae..10531717f11 100644
--- a/app/models/integrations/youtrack.rb
+++ b/app/models/integrations/youtrack.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Integrations
- class Youtrack < IssueTracker
+ class Youtrack < BaseIssueTracker
include ActionView::Helpers::UrlHelper
validates :project_url, :issues_url, presence: true, public_url: true, if: :activated?
diff --git a/config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml b/config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml
deleted file mode 100644
index f50d71fc71f..00000000000
--- a/config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_cross_pipeline_artifacts_download
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48342
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/287622
-milestone: '13.7'
-type: development
-group: group::continuous integration
-default_enabled: true
diff --git a/config/metrics/counts_all/20210216175623_projects_asana_active.yml b/config/metrics/counts_all/20210216175623_projects_asana_active.yml
index 724a00f7c18..efb8771ee35 100644
--- a/config/metrics/counts_all/20210216175623_projects_asana_active.yml
+++ b/config/metrics/counts_all/20210216175623_projects_asana_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175625_groups_asana_active.yml b/config/metrics/counts_all/20210216175625_groups_asana_active.yml
index cdae2cdf020..574dcd21ba5 100644
--- a/config/metrics/counts_all/20210216175625_groups_asana_active.yml
+++ b/config/metrics/counts_all/20210216175625_groups_asana_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175627_templates_asana_active.yml b/config/metrics/counts_all/20210216175627_templates_asana_active.yml
index df08683ab7a..f66dc3d3d18 100644
--- a/config/metrics/counts_all/20210216175627_templates_asana_active.yml
+++ b/config/metrics/counts_all/20210216175627_templates_asana_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175628_instances_asana_active.yml b/config/metrics/counts_all/20210216175628_instances_asana_active.yml
index afaaf7f3b8c..b88ebad2b62 100644
--- a/config/metrics/counts_all/20210216175628_instances_asana_active.yml
+++ b/config/metrics/counts_all/20210216175628_instances_asana_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175630_projects_inheriting_asana_active.yml b/config/metrics/counts_all/20210216175630_projects_inheriting_asana_active.yml
index efcaabdb817..8288135e4a6 100644
--- a/config/metrics/counts_all/20210216175630_projects_inheriting_asana_active.yml
+++ b/config/metrics/counts_all/20210216175630_projects_inheriting_asana_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175632_groups_inheriting_asana_active.yml b/config/metrics/counts_all/20210216175632_groups_inheriting_asana_active.yml
index 4a8128f2600..bef134521f9 100644
--- a/config/metrics/counts_all/20210216175632_groups_inheriting_asana_active.yml
+++ b/config/metrics/counts_all/20210216175632_groups_inheriting_asana_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175634_projects_assembla_active.yml b/config/metrics/counts_all/20210216175634_projects_assembla_active.yml
index 3a4e4c64c7a..802410374c1 100644
--- a/config/metrics/counts_all/20210216175634_projects_assembla_active.yml
+++ b/config/metrics/counts_all/20210216175634_projects_assembla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175636_groups_assembla_active.yml b/config/metrics/counts_all/20210216175636_groups_assembla_active.yml
index 100beb0991b..f1dd8937289 100644
--- a/config/metrics/counts_all/20210216175636_groups_assembla_active.yml
+++ b/config/metrics/counts_all/20210216175636_groups_assembla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175638_templates_assembla_active.yml b/config/metrics/counts_all/20210216175638_templates_assembla_active.yml
index f1bc7d0b08f..48ac16aaf82 100644
--- a/config/metrics/counts_all/20210216175638_templates_assembla_active.yml
+++ b/config/metrics/counts_all/20210216175638_templates_assembla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175640_instances_assembla_active.yml b/config/metrics/counts_all/20210216175640_instances_assembla_active.yml
index 049781d91f9..4f625b68679 100644
--- a/config/metrics/counts_all/20210216175640_instances_assembla_active.yml
+++ b/config/metrics/counts_all/20210216175640_instances_assembla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175642_projects_inheriting_assembla_active.yml b/config/metrics/counts_all/20210216175642_projects_inheriting_assembla_active.yml
index c71e2efec84..15a55d66d5d 100644
--- a/config/metrics/counts_all/20210216175642_projects_inheriting_assembla_active.yml
+++ b/config/metrics/counts_all/20210216175642_projects_inheriting_assembla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175644_groups_inheriting_assembla_active.yml b/config/metrics/counts_all/20210216175644_groups_inheriting_assembla_active.yml
index 58f9e025ae6..e39ef4e175d 100644
--- a/config/metrics/counts_all/20210216175644_groups_inheriting_assembla_active.yml
+++ b/config/metrics/counts_all/20210216175644_groups_inheriting_assembla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175645_projects_bamboo_active.yml b/config/metrics/counts_all/20210216175645_projects_bamboo_active.yml
index ffeccdddb5e..45094301a0c 100644
--- a/config/metrics/counts_all/20210216175645_projects_bamboo_active.yml
+++ b/config/metrics/counts_all/20210216175645_projects_bamboo_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175647_groups_bamboo_active.yml b/config/metrics/counts_all/20210216175647_groups_bamboo_active.yml
index 4a9a6d695e8..ab3e27f0521 100644
--- a/config/metrics/counts_all/20210216175647_groups_bamboo_active.yml
+++ b/config/metrics/counts_all/20210216175647_groups_bamboo_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175649_templates_bamboo_active.yml b/config/metrics/counts_all/20210216175649_templates_bamboo_active.yml
index 11d3abdc7f9..f09b32f4efd 100644
--- a/config/metrics/counts_all/20210216175649_templates_bamboo_active.yml
+++ b/config/metrics/counts_all/20210216175649_templates_bamboo_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175651_instances_bamboo_active.yml b/config/metrics/counts_all/20210216175651_instances_bamboo_active.yml
index ce27c004aaf..98faf222d71 100644
--- a/config/metrics/counts_all/20210216175651_instances_bamboo_active.yml
+++ b/config/metrics/counts_all/20210216175651_instances_bamboo_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175653_projects_inheriting_bamboo_active.yml b/config/metrics/counts_all/20210216175653_projects_inheriting_bamboo_active.yml
index 28bdc086a74..2e18cde5cd4 100644
--- a/config/metrics/counts_all/20210216175653_projects_inheriting_bamboo_active.yml
+++ b/config/metrics/counts_all/20210216175653_projects_inheriting_bamboo_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175655_groups_inheriting_bamboo_active.yml b/config/metrics/counts_all/20210216175655_groups_inheriting_bamboo_active.yml
index 74a4c3618d2..83c793f9992 100644
--- a/config/metrics/counts_all/20210216175655_groups_inheriting_bamboo_active.yml
+++ b/config/metrics/counts_all/20210216175655_groups_inheriting_bamboo_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175657_projects_bugzilla_active.yml b/config/metrics/counts_all/20210216175657_projects_bugzilla_active.yml
index 640aad49c0a..917d26db38c 100644
--- a/config/metrics/counts_all/20210216175657_projects_bugzilla_active.yml
+++ b/config/metrics/counts_all/20210216175657_projects_bugzilla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175659_groups_bugzilla_active.yml b/config/metrics/counts_all/20210216175659_groups_bugzilla_active.yml
index 2521b50e111..adfac50edb8 100644
--- a/config/metrics/counts_all/20210216175659_groups_bugzilla_active.yml
+++ b/config/metrics/counts_all/20210216175659_groups_bugzilla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175701_templates_bugzilla_active.yml b/config/metrics/counts_all/20210216175701_templates_bugzilla_active.yml
index 977bc0be0cf..f93bab2acb5 100644
--- a/config/metrics/counts_all/20210216175701_templates_bugzilla_active.yml
+++ b/config/metrics/counts_all/20210216175701_templates_bugzilla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175702_instances_bugzilla_active.yml b/config/metrics/counts_all/20210216175702_instances_bugzilla_active.yml
index 9a1714e918b..732eda5f97e 100644
--- a/config/metrics/counts_all/20210216175702_instances_bugzilla_active.yml
+++ b/config/metrics/counts_all/20210216175702_instances_bugzilla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175704_projects_inheriting_bugzilla_active.yml b/config/metrics/counts_all/20210216175704_projects_inheriting_bugzilla_active.yml
index f4dffa88821..6098f982786 100644
--- a/config/metrics/counts_all/20210216175704_projects_inheriting_bugzilla_active.yml
+++ b/config/metrics/counts_all/20210216175704_projects_inheriting_bugzilla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175706_groups_inheriting_bugzilla_active.yml b/config/metrics/counts_all/20210216175706_groups_inheriting_bugzilla_active.yml
index c7c093d8ab7..261a73b5009 100644
--- a/config/metrics/counts_all/20210216175706_groups_inheriting_bugzilla_active.yml
+++ b/config/metrics/counts_all/20210216175706_groups_inheriting_bugzilla_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175708_projects_buildkite_active.yml b/config/metrics/counts_all/20210216175708_projects_buildkite_active.yml
index debf9bb020f..3ebdf5cb7e8 100644
--- a/config/metrics/counts_all/20210216175708_projects_buildkite_active.yml
+++ b/config/metrics/counts_all/20210216175708_projects_buildkite_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175710_groups_buildkite_active.yml b/config/metrics/counts_all/20210216175710_groups_buildkite_active.yml
index 2abea7b54d2..6dc86fc2e78 100644
--- a/config/metrics/counts_all/20210216175710_groups_buildkite_active.yml
+++ b/config/metrics/counts_all/20210216175710_groups_buildkite_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175712_templates_buildkite_active.yml b/config/metrics/counts_all/20210216175712_templates_buildkite_active.yml
index 1520168a10a..7a4caddc9fa 100644
--- a/config/metrics/counts_all/20210216175712_templates_buildkite_active.yml
+++ b/config/metrics/counts_all/20210216175712_templates_buildkite_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175714_instances_buildkite_active.yml b/config/metrics/counts_all/20210216175714_instances_buildkite_active.yml
index 1ce0ad19f97..91ca8b112a1 100644
--- a/config/metrics/counts_all/20210216175714_instances_buildkite_active.yml
+++ b/config/metrics/counts_all/20210216175714_instances_buildkite_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175716_projects_inheriting_buildkite_active.yml b/config/metrics/counts_all/20210216175716_projects_inheriting_buildkite_active.yml
index 0073bdaf957..9b032b2ccdb 100644
--- a/config/metrics/counts_all/20210216175716_projects_inheriting_buildkite_active.yml
+++ b/config/metrics/counts_all/20210216175716_projects_inheriting_buildkite_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175717_groups_inheriting_buildkite_active.yml b/config/metrics/counts_all/20210216175717_groups_inheriting_buildkite_active.yml
index f8e5bcab9fd..dbd3ca666cb 100644
--- a/config/metrics/counts_all/20210216175717_groups_inheriting_buildkite_active.yml
+++ b/config/metrics/counts_all/20210216175717_groups_inheriting_buildkite_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175719_projects_campfire_active.yml b/config/metrics/counts_all/20210216175719_projects_campfire_active.yml
index 15d2e40b4ca..e6955d37aaf 100644
--- a/config/metrics/counts_all/20210216175719_projects_campfire_active.yml
+++ b/config/metrics/counts_all/20210216175719_projects_campfire_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175721_groups_campfire_active.yml b/config/metrics/counts_all/20210216175721_groups_campfire_active.yml
index 284b7bab518..14ce92b9755 100644
--- a/config/metrics/counts_all/20210216175721_groups_campfire_active.yml
+++ b/config/metrics/counts_all/20210216175721_groups_campfire_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175723_templates_campfire_active.yml b/config/metrics/counts_all/20210216175723_templates_campfire_active.yml
index 4a6df7ba877..72bb63ea683 100644
--- a/config/metrics/counts_all/20210216175723_templates_campfire_active.yml
+++ b/config/metrics/counts_all/20210216175723_templates_campfire_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175725_instances_campfire_active.yml b/config/metrics/counts_all/20210216175725_instances_campfire_active.yml
index 5ab6dec5aa7..7d3b91b253c 100644
--- a/config/metrics/counts_all/20210216175725_instances_campfire_active.yml
+++ b/config/metrics/counts_all/20210216175725_instances_campfire_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175727_projects_inheriting_campfire_active.yml b/config/metrics/counts_all/20210216175727_projects_inheriting_campfire_active.yml
index fb53c49929f..fc00c5bc800 100644
--- a/config/metrics/counts_all/20210216175727_projects_inheriting_campfire_active.yml
+++ b/config/metrics/counts_all/20210216175727_projects_inheriting_campfire_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175729_groups_inheriting_campfire_active.yml b/config/metrics/counts_all/20210216175729_groups_inheriting_campfire_active.yml
index 9d974bf517b..3d62a32e0f8 100644
--- a/config/metrics/counts_all/20210216175729_groups_inheriting_campfire_active.yml
+++ b/config/metrics/counts_all/20210216175729_groups_inheriting_campfire_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175731_projects_confluence_active.yml b/config/metrics/counts_all/20210216175731_projects_confluence_active.yml
index 075e56155fd..9c74e8ed761 100644
--- a/config/metrics/counts_all/20210216175731_projects_confluence_active.yml
+++ b/config/metrics/counts_all/20210216175731_projects_confluence_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175733_groups_confluence_active.yml b/config/metrics/counts_all/20210216175733_groups_confluence_active.yml
index de152ddeb7d..de84d268e6e 100644
--- a/config/metrics/counts_all/20210216175733_groups_confluence_active.yml
+++ b/config/metrics/counts_all/20210216175733_groups_confluence_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175734_templates_confluence_active.yml b/config/metrics/counts_all/20210216175734_templates_confluence_active.yml
index ff059277577..88889827cd5 100644
--- a/config/metrics/counts_all/20210216175734_templates_confluence_active.yml
+++ b/config/metrics/counts_all/20210216175734_templates_confluence_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175736_instances_confluence_active.yml b/config/metrics/counts_all/20210216175736_instances_confluence_active.yml
index a2e36f00a12..6a441e394b8 100644
--- a/config/metrics/counts_all/20210216175736_instances_confluence_active.yml
+++ b/config/metrics/counts_all/20210216175736_instances_confluence_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175738_projects_inheriting_confluence_active.yml b/config/metrics/counts_all/20210216175738_projects_inheriting_confluence_active.yml
index 15a6ffd6025..e94deefbe4f 100644
--- a/config/metrics/counts_all/20210216175738_projects_inheriting_confluence_active.yml
+++ b/config/metrics/counts_all/20210216175738_projects_inheriting_confluence_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175740_groups_inheriting_confluence_active.yml b/config/metrics/counts_all/20210216175740_groups_inheriting_confluence_active.yml
index e7928fff1c5..a73868e398b 100644
--- a/config/metrics/counts_all/20210216175740_groups_inheriting_confluence_active.yml
+++ b/config/metrics/counts_all/20210216175740_groups_inheriting_confluence_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175742_projects_custom_issue_tracker_active.yml b/config/metrics/counts_all/20210216175742_projects_custom_issue_tracker_active.yml
index 0d0d2d86fdb..891bbb33777 100644
--- a/config/metrics/counts_all/20210216175742_projects_custom_issue_tracker_active.yml
+++ b/config/metrics/counts_all/20210216175742_projects_custom_issue_tracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175744_groups_custom_issue_tracker_active.yml b/config/metrics/counts_all/20210216175744_groups_custom_issue_tracker_active.yml
index e8cae4d24d7..6abbcb5554b 100644
--- a/config/metrics/counts_all/20210216175744_groups_custom_issue_tracker_active.yml
+++ b/config/metrics/counts_all/20210216175744_groups_custom_issue_tracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175745_templates_custom_issue_tracker_active.yml b/config/metrics/counts_all/20210216175745_templates_custom_issue_tracker_active.yml
index a67cd7c0435..59eb025f651 100644
--- a/config/metrics/counts_all/20210216175745_templates_custom_issue_tracker_active.yml
+++ b/config/metrics/counts_all/20210216175745_templates_custom_issue_tracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175747_instances_custom_issue_tracker_active.yml b/config/metrics/counts_all/20210216175747_instances_custom_issue_tracker_active.yml
index 00bf681c870..364f8ce53bb 100644
--- a/config/metrics/counts_all/20210216175747_instances_custom_issue_tracker_active.yml
+++ b/config/metrics/counts_all/20210216175747_instances_custom_issue_tracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175749_projects_inheriting_custom_issue_tracker_active.yml b/config/metrics/counts_all/20210216175749_projects_inheriting_custom_issue_tracker_active.yml
index ba732a12259..6df170a48e0 100644
--- a/config/metrics/counts_all/20210216175749_projects_inheriting_custom_issue_tracker_active.yml
+++ b/config/metrics/counts_all/20210216175749_projects_inheriting_custom_issue_tracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175751_groups_inheriting_custom_issue_tracker_active.yml b/config/metrics/counts_all/20210216175751_groups_inheriting_custom_issue_tracker_active.yml
index 294c557f9b1..f4dc9dcbc72 100644
--- a/config/metrics/counts_all/20210216175751_groups_inheriting_custom_issue_tracker_active.yml
+++ b/config/metrics/counts_all/20210216175751_groups_inheriting_custom_issue_tracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175753_projects_discord_active.yml b/config/metrics/counts_all/20210216175753_projects_discord_active.yml
index ab1e187d697..b564bc70e73 100644
--- a/config/metrics/counts_all/20210216175753_projects_discord_active.yml
+++ b/config/metrics/counts_all/20210216175753_projects_discord_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175755_groups_discord_active.yml b/config/metrics/counts_all/20210216175755_groups_discord_active.yml
index 8684be04c4f..fb24c471210 100644
--- a/config/metrics/counts_all/20210216175755_groups_discord_active.yml
+++ b/config/metrics/counts_all/20210216175755_groups_discord_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175756_templates_discord_active.yml b/config/metrics/counts_all/20210216175756_templates_discord_active.yml
index f66e3435221..e5a1082ca20 100644
--- a/config/metrics/counts_all/20210216175756_templates_discord_active.yml
+++ b/config/metrics/counts_all/20210216175756_templates_discord_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175758_instances_discord_active.yml b/config/metrics/counts_all/20210216175758_instances_discord_active.yml
index 0dc37b7100c..039919523fe 100644
--- a/config/metrics/counts_all/20210216175758_instances_discord_active.yml
+++ b/config/metrics/counts_all/20210216175758_instances_discord_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175800_projects_inheriting_discord_active.yml b/config/metrics/counts_all/20210216175800_projects_inheriting_discord_active.yml
index b5ef624a9da..b897c248629 100644
--- a/config/metrics/counts_all/20210216175800_projects_inheriting_discord_active.yml
+++ b/config/metrics/counts_all/20210216175800_projects_inheriting_discord_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175802_groups_inheriting_discord_active.yml b/config/metrics/counts_all/20210216175802_groups_inheriting_discord_active.yml
index a6d4c8385f3..3cdb961ba2f 100644
--- a/config/metrics/counts_all/20210216175802_groups_inheriting_discord_active.yml
+++ b/config/metrics/counts_all/20210216175802_groups_inheriting_discord_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175804_projects_drone_ci_active.yml b/config/metrics/counts_all/20210216175804_projects_drone_ci_active.yml
index f8d53e6620e..cd9459478db 100644
--- a/config/metrics/counts_all/20210216175804_projects_drone_ci_active.yml
+++ b/config/metrics/counts_all/20210216175804_projects_drone_ci_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175806_groups_drone_ci_active.yml b/config/metrics/counts_all/20210216175806_groups_drone_ci_active.yml
index 3dc182faa0c..c5487775c57 100644
--- a/config/metrics/counts_all/20210216175806_groups_drone_ci_active.yml
+++ b/config/metrics/counts_all/20210216175806_groups_drone_ci_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175807_templates_drone_ci_active.yml b/config/metrics/counts_all/20210216175807_templates_drone_ci_active.yml
index 3a45cd3aba0..09ac9cacefa 100644
--- a/config/metrics/counts_all/20210216175807_templates_drone_ci_active.yml
+++ b/config/metrics/counts_all/20210216175807_templates_drone_ci_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175809_instances_drone_ci_active.yml b/config/metrics/counts_all/20210216175809_instances_drone_ci_active.yml
index fd6581bff6a..c3a77a9c577 100644
--- a/config/metrics/counts_all/20210216175809_instances_drone_ci_active.yml
+++ b/config/metrics/counts_all/20210216175809_instances_drone_ci_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175811_projects_inheriting_drone_ci_active.yml b/config/metrics/counts_all/20210216175811_projects_inheriting_drone_ci_active.yml
index f9d8ad12795..130072f42d1 100644
--- a/config/metrics/counts_all/20210216175811_projects_inheriting_drone_ci_active.yml
+++ b/config/metrics/counts_all/20210216175811_projects_inheriting_drone_ci_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175813_groups_inheriting_drone_ci_active.yml b/config/metrics/counts_all/20210216175813_groups_inheriting_drone_ci_active.yml
index c876ef22570..74e6d5c41bd 100644
--- a/config/metrics/counts_all/20210216175813_groups_inheriting_drone_ci_active.yml
+++ b/config/metrics/counts_all/20210216175813_groups_inheriting_drone_ci_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175815_projects_emails_on_push_active.yml b/config/metrics/counts_all/20210216175815_projects_emails_on_push_active.yml
index 5dea679b5b0..8da08899b88 100644
--- a/config/metrics/counts_all/20210216175815_projects_emails_on_push_active.yml
+++ b/config/metrics/counts_all/20210216175815_projects_emails_on_push_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175817_groups_emails_on_push_active.yml b/config/metrics/counts_all/20210216175817_groups_emails_on_push_active.yml
index 4bfbefe0b7d..0c6bdeae9b4 100644
--- a/config/metrics/counts_all/20210216175817_groups_emails_on_push_active.yml
+++ b/config/metrics/counts_all/20210216175817_groups_emails_on_push_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175818_templates_emails_on_push_active.yml b/config/metrics/counts_all/20210216175818_templates_emails_on_push_active.yml
index bc6764c1d17..93d77a19008 100644
--- a/config/metrics/counts_all/20210216175818_templates_emails_on_push_active.yml
+++ b/config/metrics/counts_all/20210216175818_templates_emails_on_push_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175820_instances_emails_on_push_active.yml b/config/metrics/counts_all/20210216175820_instances_emails_on_push_active.yml
index 00c04e32b09..c526b9f18e9 100644
--- a/config/metrics/counts_all/20210216175820_instances_emails_on_push_active.yml
+++ b/config/metrics/counts_all/20210216175820_instances_emails_on_push_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175822_projects_inheriting_emails_on_push_active.yml b/config/metrics/counts_all/20210216175822_projects_inheriting_emails_on_push_active.yml
index ca2e0062f75..02581759ec3 100644
--- a/config/metrics/counts_all/20210216175822_projects_inheriting_emails_on_push_active.yml
+++ b/config/metrics/counts_all/20210216175822_projects_inheriting_emails_on_push_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175824_groups_inheriting_emails_on_push_active.yml b/config/metrics/counts_all/20210216175824_groups_inheriting_emails_on_push_active.yml
index 7d2308cd39d..a49c9a88048 100644
--- a/config/metrics/counts_all/20210216175824_groups_inheriting_emails_on_push_active.yml
+++ b/config/metrics/counts_all/20210216175824_groups_inheriting_emails_on_push_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175826_projects_external_wiki_active.yml b/config/metrics/counts_all/20210216175826_projects_external_wiki_active.yml
index e570fdb964c..fa19cf0e9be 100644
--- a/config/metrics/counts_all/20210216175826_projects_external_wiki_active.yml
+++ b/config/metrics/counts_all/20210216175826_projects_external_wiki_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175828_groups_external_wiki_active.yml b/config/metrics/counts_all/20210216175828_groups_external_wiki_active.yml
index 4d680edf42a..6ee99ca89da 100644
--- a/config/metrics/counts_all/20210216175828_groups_external_wiki_active.yml
+++ b/config/metrics/counts_all/20210216175828_groups_external_wiki_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175829_templates_external_wiki_active.yml b/config/metrics/counts_all/20210216175829_templates_external_wiki_active.yml
index 4efd0be8673..6d8b451b308 100644
--- a/config/metrics/counts_all/20210216175829_templates_external_wiki_active.yml
+++ b/config/metrics/counts_all/20210216175829_templates_external_wiki_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175831_instances_external_wiki_active.yml b/config/metrics/counts_all/20210216175831_instances_external_wiki_active.yml
index c435eed9dee..a83e2f27a58 100644
--- a/config/metrics/counts_all/20210216175831_instances_external_wiki_active.yml
+++ b/config/metrics/counts_all/20210216175831_instances_external_wiki_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175833_projects_inheriting_external_wiki_active.yml b/config/metrics/counts_all/20210216175833_projects_inheriting_external_wiki_active.yml
index 4c139e6ee8d..84836a95ae3 100644
--- a/config/metrics/counts_all/20210216175833_projects_inheriting_external_wiki_active.yml
+++ b/config/metrics/counts_all/20210216175833_projects_inheriting_external_wiki_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175835_groups_inheriting_external_wiki_active.yml b/config/metrics/counts_all/20210216175835_groups_inheriting_external_wiki_active.yml
index fe18e836df2..f7ee7624824 100644
--- a/config/metrics/counts_all/20210216175835_groups_inheriting_external_wiki_active.yml
+++ b/config/metrics/counts_all/20210216175835_groups_inheriting_external_wiki_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175837_projects_flowdock_active.yml b/config/metrics/counts_all/20210216175837_projects_flowdock_active.yml
index e8d724b51b3..4520ef6b869 100644
--- a/config/metrics/counts_all/20210216175837_projects_flowdock_active.yml
+++ b/config/metrics/counts_all/20210216175837_projects_flowdock_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175839_groups_flowdock_active.yml b/config/metrics/counts_all/20210216175839_groups_flowdock_active.yml
index 0d9f9a72cd3..d678e3174df 100644
--- a/config/metrics/counts_all/20210216175839_groups_flowdock_active.yml
+++ b/config/metrics/counts_all/20210216175839_groups_flowdock_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175840_templates_flowdock_active.yml b/config/metrics/counts_all/20210216175840_templates_flowdock_active.yml
index f1715119217..f4765aa34f3 100644
--- a/config/metrics/counts_all/20210216175840_templates_flowdock_active.yml
+++ b/config/metrics/counts_all/20210216175840_templates_flowdock_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175842_instances_flowdock_active.yml b/config/metrics/counts_all/20210216175842_instances_flowdock_active.yml
index e62259c965c..89a862d4cc8 100644
--- a/config/metrics/counts_all/20210216175842_instances_flowdock_active.yml
+++ b/config/metrics/counts_all/20210216175842_instances_flowdock_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175844_projects_inheriting_flowdock_active.yml b/config/metrics/counts_all/20210216175844_projects_inheriting_flowdock_active.yml
index 53d09e2dab1..836ecbc0576 100644
--- a/config/metrics/counts_all/20210216175844_projects_inheriting_flowdock_active.yml
+++ b/config/metrics/counts_all/20210216175844_projects_inheriting_flowdock_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175846_groups_inheriting_flowdock_active.yml b/config/metrics/counts_all/20210216175846_groups_inheriting_flowdock_active.yml
index 645d618705b..8af2e0733ac 100644
--- a/config/metrics/counts_all/20210216175846_groups_inheriting_flowdock_active.yml
+++ b/config/metrics/counts_all/20210216175846_groups_inheriting_flowdock_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175848_projects_github_active.yml b/config/metrics/counts_all/20210216175848_projects_github_active.yml
deleted file mode 100644
index 6145fc599b9..00000000000
--- a/config/metrics/counts_all/20210216175848_projects_github_active.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: counts.projects_github_active
-description: Count of projects with active integrations for GitHub
-product_section: dev
-product_stage: create
-product_group: group::ecosystem
-product_category: integrations
-value_type: number
-status: data_available
-time_frame: all
-data_source: database
-distribution:
-- ce
-- ee
-tier:
-- free
-- premium
-- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175850_groups_github_active.yml b/config/metrics/counts_all/20210216175850_groups_github_active.yml
deleted file mode 100644
index 9a43b772447..00000000000
--- a/config/metrics/counts_all/20210216175850_groups_github_active.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: counts.groups_github_active
-description: Count of groups with active integrations for GitHub
-product_section: dev
-product_stage: create
-product_group: group::ecosystem
-product_category: integrations
-value_type: number
-status: data_available
-time_frame: all
-data_source: database
-distribution:
-- ce
-- ee
-tier:
-- free
-- premium
-- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175851_templates_github_active.yml b/config/metrics/counts_all/20210216175851_templates_github_active.yml
deleted file mode 100644
index f6ceed1233c..00000000000
--- a/config/metrics/counts_all/20210216175851_templates_github_active.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: counts.templates_github_active
-description: Count of active service templates for GitHub
-product_section: dev
-product_stage: create
-product_group: group::ecosystem
-product_category: integrations
-value_type: number
-status: data_available
-time_frame: all
-data_source: database
-distribution:
-- ce
-- ee
-tier:
-- free
-- premium
-- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175853_instances_github_active.yml b/config/metrics/counts_all/20210216175853_instances_github_active.yml
deleted file mode 100644
index 8150c0ec5a1..00000000000
--- a/config/metrics/counts_all/20210216175853_instances_github_active.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: counts.instances_github_active
-description: Count of active instance-level integrations for GitHub
-product_section: dev
-product_stage: create
-product_group: group::ecosystem
-product_category: integrations
-value_type: number
-status: data_available
-time_frame: all
-data_source: database
-distribution:
-- ce
-- ee
-tier:
-- free
-- premium
-- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175855_projects_inheriting_github_active.yml b/config/metrics/counts_all/20210216175855_projects_inheriting_github_active.yml
deleted file mode 100644
index 6f5f366e72b..00000000000
--- a/config/metrics/counts_all/20210216175855_projects_inheriting_github_active.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: counts.projects_inheriting_github_active
-description: Count of active projects inheriting integrations for GitHub
-product_section: dev
-product_stage: create
-product_group: group::ecosystem
-product_category: integrations
-value_type: number
-status: data_available
-time_frame: all
-data_source: database
-distribution:
-- ce
-- ee
-tier:
-- free
-- premium
-- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175857_groups_inheriting_github_active.yml b/config/metrics/counts_all/20210216175857_groups_inheriting_github_active.yml
deleted file mode 100644
index 545fccc107e..00000000000
--- a/config/metrics/counts_all/20210216175857_groups_inheriting_github_active.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: counts.groups_inheriting_github_active
-description: Count of active groups inheriting integrations for GitHub
-product_section: dev
-product_stage: create
-product_group: group::ecosystem
-product_category: integrations
-value_type: number
-status: data_available
-time_frame: all
-data_source: database
-distribution:
-- ce
-- ee
-tier:
-- free
-- premium
-- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175859_projects_hangouts_chat_active.yml b/config/metrics/counts_all/20210216175859_projects_hangouts_chat_active.yml
index d61e94c0df8..63c913a65a0 100644
--- a/config/metrics/counts_all/20210216175859_projects_hangouts_chat_active.yml
+++ b/config/metrics/counts_all/20210216175859_projects_hangouts_chat_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175901_groups_hangouts_chat_active.yml b/config/metrics/counts_all/20210216175901_groups_hangouts_chat_active.yml
index 0a23a43cdf3..ae34972f2e9 100644
--- a/config/metrics/counts_all/20210216175901_groups_hangouts_chat_active.yml
+++ b/config/metrics/counts_all/20210216175901_groups_hangouts_chat_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175902_templates_hangouts_chat_active.yml b/config/metrics/counts_all/20210216175902_templates_hangouts_chat_active.yml
index 21cfa1ebf23..ecfffa98a04 100644
--- a/config/metrics/counts_all/20210216175902_templates_hangouts_chat_active.yml
+++ b/config/metrics/counts_all/20210216175902_templates_hangouts_chat_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175904_instances_hangouts_chat_active.yml b/config/metrics/counts_all/20210216175904_instances_hangouts_chat_active.yml
index 4a3febf985a..5227013eb51 100644
--- a/config/metrics/counts_all/20210216175904_instances_hangouts_chat_active.yml
+++ b/config/metrics/counts_all/20210216175904_instances_hangouts_chat_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175906_projects_inheriting_hangouts_chat_active.yml b/config/metrics/counts_all/20210216175906_projects_inheriting_hangouts_chat_active.yml
index 90773d663df..64e54c864bd 100644
--- a/config/metrics/counts_all/20210216175906_projects_inheriting_hangouts_chat_active.yml
+++ b/config/metrics/counts_all/20210216175906_projects_inheriting_hangouts_chat_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175908_groups_inheriting_hangouts_chat_active.yml b/config/metrics/counts_all/20210216175908_groups_inheriting_hangouts_chat_active.yml
index eda424840eb..3889c6e9a10 100644
--- a/config/metrics/counts_all/20210216175908_groups_inheriting_hangouts_chat_active.yml
+++ b/config/metrics/counts_all/20210216175908_groups_inheriting_hangouts_chat_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175910_projects_hipchat_active.yml b/config/metrics/counts_all/20210216175910_projects_hipchat_active.yml
index 32bbcb11c30..e6b0c781cb5 100644
--- a/config/metrics/counts_all/20210216175910_projects_hipchat_active.yml
+++ b/config/metrics/counts_all/20210216175910_projects_hipchat_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175912_groups_hipchat_active.yml b/config/metrics/counts_all/20210216175912_groups_hipchat_active.yml
index 1a8224ba446..4a55850b70d 100644
--- a/config/metrics/counts_all/20210216175912_groups_hipchat_active.yml
+++ b/config/metrics/counts_all/20210216175912_groups_hipchat_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175913_templates_hipchat_active.yml b/config/metrics/counts_all/20210216175913_templates_hipchat_active.yml
index 6b24dedf93a..d022ac8261d 100644
--- a/config/metrics/counts_all/20210216175913_templates_hipchat_active.yml
+++ b/config/metrics/counts_all/20210216175913_templates_hipchat_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175915_instances_hipchat_active.yml b/config/metrics/counts_all/20210216175915_instances_hipchat_active.yml
index 18d5e6f9666..c5460aecb21 100644
--- a/config/metrics/counts_all/20210216175915_instances_hipchat_active.yml
+++ b/config/metrics/counts_all/20210216175915_instances_hipchat_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175917_projects_inheriting_hipchat_active.yml b/config/metrics/counts_all/20210216175917_projects_inheriting_hipchat_active.yml
index da9f9df4fb7..5056947f70f 100644
--- a/config/metrics/counts_all/20210216175917_projects_inheriting_hipchat_active.yml
+++ b/config/metrics/counts_all/20210216175917_projects_inheriting_hipchat_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175919_groups_inheriting_hipchat_active.yml b/config/metrics/counts_all/20210216175919_groups_inheriting_hipchat_active.yml
index 4d4c265d377..2069d8d703b 100644
--- a/config/metrics/counts_all/20210216175919_groups_inheriting_hipchat_active.yml
+++ b/config/metrics/counts_all/20210216175919_groups_inheriting_hipchat_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175921_projects_irker_active.yml b/config/metrics/counts_all/20210216175921_projects_irker_active.yml
index 7933389ccc0..d761968d629 100644
--- a/config/metrics/counts_all/20210216175921_projects_irker_active.yml
+++ b/config/metrics/counts_all/20210216175921_projects_irker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175923_groups_irker_active.yml b/config/metrics/counts_all/20210216175923_groups_irker_active.yml
index f845def2053..caa1d1eae8c 100644
--- a/config/metrics/counts_all/20210216175923_groups_irker_active.yml
+++ b/config/metrics/counts_all/20210216175923_groups_irker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175924_templates_irker_active.yml b/config/metrics/counts_all/20210216175924_templates_irker_active.yml
index f40cf42f648..e3d8b04f66c 100644
--- a/config/metrics/counts_all/20210216175924_templates_irker_active.yml
+++ b/config/metrics/counts_all/20210216175924_templates_irker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175926_instances_irker_active.yml b/config/metrics/counts_all/20210216175926_instances_irker_active.yml
index d0f6475446b..b6a7a07e83f 100644
--- a/config/metrics/counts_all/20210216175926_instances_irker_active.yml
+++ b/config/metrics/counts_all/20210216175926_instances_irker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175928_projects_inheriting_irker_active.yml b/config/metrics/counts_all/20210216175928_projects_inheriting_irker_active.yml
index b805ea65220..2a140890847 100644
--- a/config/metrics/counts_all/20210216175928_projects_inheriting_irker_active.yml
+++ b/config/metrics/counts_all/20210216175928_projects_inheriting_irker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175930_groups_inheriting_irker_active.yml b/config/metrics/counts_all/20210216175930_groups_inheriting_irker_active.yml
index 99e624a52e8..4d023a1324c 100644
--- a/config/metrics/counts_all/20210216175930_groups_inheriting_irker_active.yml
+++ b/config/metrics/counts_all/20210216175930_groups_inheriting_irker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175932_projects_jenkins_active.yml b/config/metrics/counts_all/20210216175932_projects_jenkins_active.yml
index e16691fa13b..5562d5b3462 100644
--- a/config/metrics/counts_all/20210216175932_projects_jenkins_active.yml
+++ b/config/metrics/counts_all/20210216175932_projects_jenkins_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175934_groups_jenkins_active.yml b/config/metrics/counts_all/20210216175934_groups_jenkins_active.yml
index ccbaa4f96b5..08617343a10 100644
--- a/config/metrics/counts_all/20210216175934_groups_jenkins_active.yml
+++ b/config/metrics/counts_all/20210216175934_groups_jenkins_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175935_templates_jenkins_active.yml b/config/metrics/counts_all/20210216175935_templates_jenkins_active.yml
index badea034cd9..13f0d1547ad 100644
--- a/config/metrics/counts_all/20210216175935_templates_jenkins_active.yml
+++ b/config/metrics/counts_all/20210216175935_templates_jenkins_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175937_instances_jenkins_active.yml b/config/metrics/counts_all/20210216175937_instances_jenkins_active.yml
index 181155322a5..8b03256b5ce 100644
--- a/config/metrics/counts_all/20210216175937_instances_jenkins_active.yml
+++ b/config/metrics/counts_all/20210216175937_instances_jenkins_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175939_projects_inheriting_jenkins_active.yml b/config/metrics/counts_all/20210216175939_projects_inheriting_jenkins_active.yml
index 8dbdb6728bb..8726b9bbfb7 100644
--- a/config/metrics/counts_all/20210216175939_projects_inheriting_jenkins_active.yml
+++ b/config/metrics/counts_all/20210216175939_projects_inheriting_jenkins_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175941_groups_inheriting_jenkins_active.yml b/config/metrics/counts_all/20210216175941_groups_inheriting_jenkins_active.yml
index 7cacd4e5c9c..1e5d400a385 100644
--- a/config/metrics/counts_all/20210216175941_groups_inheriting_jenkins_active.yml
+++ b/config/metrics/counts_all/20210216175941_groups_inheriting_jenkins_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175943_projects_jira_active.yml b/config/metrics/counts_all/20210216175943_projects_jira_active.yml
index 90d645da327..4bc46c3ca2a 100644
--- a/config/metrics/counts_all/20210216175943_projects_jira_active.yml
+++ b/config/metrics/counts_all/20210216175943_projects_jira_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175945_groups_jira_active.yml b/config/metrics/counts_all/20210216175945_groups_jira_active.yml
index c4fbc196733..0b8923f669c 100644
--- a/config/metrics/counts_all/20210216175945_groups_jira_active.yml
+++ b/config/metrics/counts_all/20210216175945_groups_jira_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175946_templates_jira_active.yml b/config/metrics/counts_all/20210216175946_templates_jira_active.yml
index 861d83df3ec..be7b2c43d2e 100644
--- a/config/metrics/counts_all/20210216175946_templates_jira_active.yml
+++ b/config/metrics/counts_all/20210216175946_templates_jira_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175948_instances_jira_active.yml b/config/metrics/counts_all/20210216175948_instances_jira_active.yml
index 2d0a7ec85ed..8b10ec30d5f 100644
--- a/config/metrics/counts_all/20210216175948_instances_jira_active.yml
+++ b/config/metrics/counts_all/20210216175948_instances_jira_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175950_projects_inheriting_jira_active.yml b/config/metrics/counts_all/20210216175950_projects_inheriting_jira_active.yml
index 6cf7750a60a..6e3d01b0382 100644
--- a/config/metrics/counts_all/20210216175950_projects_inheriting_jira_active.yml
+++ b/config/metrics/counts_all/20210216175950_projects_inheriting_jira_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175952_groups_inheriting_jira_active.yml b/config/metrics/counts_all/20210216175952_groups_inheriting_jira_active.yml
index 0f84ed3863e..21148f3b62b 100644
--- a/config/metrics/counts_all/20210216175952_groups_inheriting_jira_active.yml
+++ b/config/metrics/counts_all/20210216175952_groups_inheriting_jira_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175954_projects_mattermost_active.yml b/config/metrics/counts_all/20210216175954_projects_mattermost_active.yml
index 67eca7e1fe9..dc81192fd9d 100644
--- a/config/metrics/counts_all/20210216175954_projects_mattermost_active.yml
+++ b/config/metrics/counts_all/20210216175954_projects_mattermost_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175956_groups_mattermost_active.yml b/config/metrics/counts_all/20210216175956_groups_mattermost_active.yml
index 30a60716409..1a7a8fb69f6 100644
--- a/config/metrics/counts_all/20210216175956_groups_mattermost_active.yml
+++ b/config/metrics/counts_all/20210216175956_groups_mattermost_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175957_templates_mattermost_active.yml b/config/metrics/counts_all/20210216175957_templates_mattermost_active.yml
index e78f17d0547..f1ec412d47c 100644
--- a/config/metrics/counts_all/20210216175957_templates_mattermost_active.yml
+++ b/config/metrics/counts_all/20210216175957_templates_mattermost_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216175959_instances_mattermost_active.yml b/config/metrics/counts_all/20210216175959_instances_mattermost_active.yml
index 8bf633cb085..8d1bab49e61 100644
--- a/config/metrics/counts_all/20210216175959_instances_mattermost_active.yml
+++ b/config/metrics/counts_all/20210216175959_instances_mattermost_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180001_projects_inheriting_mattermost_active.yml b/config/metrics/counts_all/20210216180001_projects_inheriting_mattermost_active.yml
index bca2354131d..64dcfaa0d8d 100644
--- a/config/metrics/counts_all/20210216180001_projects_inheriting_mattermost_active.yml
+++ b/config/metrics/counts_all/20210216180001_projects_inheriting_mattermost_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180003_groups_inheriting_mattermost_active.yml b/config/metrics/counts_all/20210216180003_groups_inheriting_mattermost_active.yml
index df15e6db792..b6d52295217 100644
--- a/config/metrics/counts_all/20210216180003_groups_inheriting_mattermost_active.yml
+++ b/config/metrics/counts_all/20210216180003_groups_inheriting_mattermost_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180005_projects_mattermost_slash_commands_active.yml b/config/metrics/counts_all/20210216180005_projects_mattermost_slash_commands_active.yml
index e0956199e13..5174090a00f 100644
--- a/config/metrics/counts_all/20210216180005_projects_mattermost_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180005_projects_mattermost_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180006_groups_mattermost_slash_commands_active.yml b/config/metrics/counts_all/20210216180006_groups_mattermost_slash_commands_active.yml
index c5f7385d1b8..f7d2e6d99bc 100644
--- a/config/metrics/counts_all/20210216180006_groups_mattermost_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180006_groups_mattermost_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180008_templates_mattermost_slash_commands_active.yml b/config/metrics/counts_all/20210216180008_templates_mattermost_slash_commands_active.yml
index 504e9d39ee6..375908862a6 100644
--- a/config/metrics/counts_all/20210216180008_templates_mattermost_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180008_templates_mattermost_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180010_instances_mattermost_slash_commands_active.yml b/config/metrics/counts_all/20210216180010_instances_mattermost_slash_commands_active.yml
index 2ccd3bfecc4..f0cb0cd24f9 100644
--- a/config/metrics/counts_all/20210216180010_instances_mattermost_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180010_instances_mattermost_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180012_projects_inheriting_mattermost_slash_commands_active.yml b/config/metrics/counts_all/20210216180012_projects_inheriting_mattermost_slash_commands_active.yml
index 271614cff68..b79a39c6c13 100644
--- a/config/metrics/counts_all/20210216180012_projects_inheriting_mattermost_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180012_projects_inheriting_mattermost_slash_commands_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180014_groups_inheriting_mattermost_slash_commands_active.yml b/config/metrics/counts_all/20210216180014_groups_inheriting_mattermost_slash_commands_active.yml
index df3b7e0175f..f9f9a438ad2 100644
--- a/config/metrics/counts_all/20210216180014_groups_inheriting_mattermost_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180014_groups_inheriting_mattermost_slash_commands_active.yml
@@ -17,4 +17,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180016_projects_microsoft_teams_active.yml b/config/metrics/counts_all/20210216180016_projects_microsoft_teams_active.yml
index 7f25eb0c4fe..e248d714da4 100644
--- a/config/metrics/counts_all/20210216180016_projects_microsoft_teams_active.yml
+++ b/config/metrics/counts_all/20210216180016_projects_microsoft_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180018_groups_microsoft_teams_active.yml b/config/metrics/counts_all/20210216180018_groups_microsoft_teams_active.yml
index 5f23d34dadd..6d53d5675ed 100644
--- a/config/metrics/counts_all/20210216180018_groups_microsoft_teams_active.yml
+++ b/config/metrics/counts_all/20210216180018_groups_microsoft_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180019_templates_microsoft_teams_active.yml b/config/metrics/counts_all/20210216180019_templates_microsoft_teams_active.yml
index fc5b0a2fbbe..bde0e661245 100644
--- a/config/metrics/counts_all/20210216180019_templates_microsoft_teams_active.yml
+++ b/config/metrics/counts_all/20210216180019_templates_microsoft_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180021_instances_microsoft_teams_active.yml b/config/metrics/counts_all/20210216180021_instances_microsoft_teams_active.yml
index 840e4c21ebb..eff81283775 100644
--- a/config/metrics/counts_all/20210216180021_instances_microsoft_teams_active.yml
+++ b/config/metrics/counts_all/20210216180021_instances_microsoft_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180023_projects_inheriting_microsoft_teams_active.yml b/config/metrics/counts_all/20210216180023_projects_inheriting_microsoft_teams_active.yml
index 52ee7de311b..ac3c4bad7c0 100644
--- a/config/metrics/counts_all/20210216180023_projects_inheriting_microsoft_teams_active.yml
+++ b/config/metrics/counts_all/20210216180023_projects_inheriting_microsoft_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180025_groups_inheriting_microsoft_teams_active.yml b/config/metrics/counts_all/20210216180025_groups_inheriting_microsoft_teams_active.yml
index 9f91b7119e1..6a39f71d40b 100644
--- a/config/metrics/counts_all/20210216180025_groups_inheriting_microsoft_teams_active.yml
+++ b/config/metrics/counts_all/20210216180025_groups_inheriting_microsoft_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180027_projects_packagist_active.yml b/config/metrics/counts_all/20210216180027_projects_packagist_active.yml
index 80ed0d39f9f..108c883b16a 100644
--- a/config/metrics/counts_all/20210216180027_projects_packagist_active.yml
+++ b/config/metrics/counts_all/20210216180027_projects_packagist_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180029_groups_packagist_active.yml b/config/metrics/counts_all/20210216180029_groups_packagist_active.yml
index 464d1b4faed..635b98063b6 100644
--- a/config/metrics/counts_all/20210216180029_groups_packagist_active.yml
+++ b/config/metrics/counts_all/20210216180029_groups_packagist_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180030_templates_packagist_active.yml b/config/metrics/counts_all/20210216180030_templates_packagist_active.yml
index a9b8fee8b7a..80c06a4666d 100644
--- a/config/metrics/counts_all/20210216180030_templates_packagist_active.yml
+++ b/config/metrics/counts_all/20210216180030_templates_packagist_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180032_instances_packagist_active.yml b/config/metrics/counts_all/20210216180032_instances_packagist_active.yml
index e651adc3e37..15fc1ebef92 100644
--- a/config/metrics/counts_all/20210216180032_instances_packagist_active.yml
+++ b/config/metrics/counts_all/20210216180032_instances_packagist_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180034_projects_inheriting_packagist_active.yml b/config/metrics/counts_all/20210216180034_projects_inheriting_packagist_active.yml
index 0e9ccdbb907..6bb67500dd8 100644
--- a/config/metrics/counts_all/20210216180034_projects_inheriting_packagist_active.yml
+++ b/config/metrics/counts_all/20210216180034_projects_inheriting_packagist_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180036_groups_inheriting_packagist_active.yml b/config/metrics/counts_all/20210216180036_groups_inheriting_packagist_active.yml
index bd1a7750028..c47f2e3d363 100644
--- a/config/metrics/counts_all/20210216180036_groups_inheriting_packagist_active.yml
+++ b/config/metrics/counts_all/20210216180036_groups_inheriting_packagist_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180038_projects_pipelines_email_active.yml b/config/metrics/counts_all/20210216180038_projects_pipelines_email_active.yml
index 98cd4f28a6c..6f358cd4945 100644
--- a/config/metrics/counts_all/20210216180038_projects_pipelines_email_active.yml
+++ b/config/metrics/counts_all/20210216180038_projects_pipelines_email_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180040_groups_pipelines_email_active.yml b/config/metrics/counts_all/20210216180040_groups_pipelines_email_active.yml
index e781c6a743e..be9042317fc 100644
--- a/config/metrics/counts_all/20210216180040_groups_pipelines_email_active.yml
+++ b/config/metrics/counts_all/20210216180040_groups_pipelines_email_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180041_templates_pipelines_email_active.yml b/config/metrics/counts_all/20210216180041_templates_pipelines_email_active.yml
index 982e0fe8b37..84fe24687e2 100644
--- a/config/metrics/counts_all/20210216180041_templates_pipelines_email_active.yml
+++ b/config/metrics/counts_all/20210216180041_templates_pipelines_email_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180043_instances_pipelines_email_active.yml b/config/metrics/counts_all/20210216180043_instances_pipelines_email_active.yml
index 86640daf752..8206ba25598 100644
--- a/config/metrics/counts_all/20210216180043_instances_pipelines_email_active.yml
+++ b/config/metrics/counts_all/20210216180043_instances_pipelines_email_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180045_projects_inheriting_pipelines_email_active.yml b/config/metrics/counts_all/20210216180045_projects_inheriting_pipelines_email_active.yml
index 42f4638f79e..ff16dcbe7ce 100644
--- a/config/metrics/counts_all/20210216180045_projects_inheriting_pipelines_email_active.yml
+++ b/config/metrics/counts_all/20210216180045_projects_inheriting_pipelines_email_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180047_groups_inheriting_pipelines_email_active.yml b/config/metrics/counts_all/20210216180047_groups_inheriting_pipelines_email_active.yml
index c1c05c29637..d16cccfe6d8 100644
--- a/config/metrics/counts_all/20210216180047_groups_inheriting_pipelines_email_active.yml
+++ b/config/metrics/counts_all/20210216180047_groups_inheriting_pipelines_email_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180049_projects_pivotaltracker_active.yml b/config/metrics/counts_all/20210216180049_projects_pivotaltracker_active.yml
index cc55d603e97..12d1ce1de38 100644
--- a/config/metrics/counts_all/20210216180049_projects_pivotaltracker_active.yml
+++ b/config/metrics/counts_all/20210216180049_projects_pivotaltracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180051_groups_pivotaltracker_active.yml b/config/metrics/counts_all/20210216180051_groups_pivotaltracker_active.yml
index 170951d9295..a52c3edc339 100644
--- a/config/metrics/counts_all/20210216180051_groups_pivotaltracker_active.yml
+++ b/config/metrics/counts_all/20210216180051_groups_pivotaltracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180052_templates_pivotaltracker_active.yml b/config/metrics/counts_all/20210216180052_templates_pivotaltracker_active.yml
index 9786b72a10f..eae2d8b2822 100644
--- a/config/metrics/counts_all/20210216180052_templates_pivotaltracker_active.yml
+++ b/config/metrics/counts_all/20210216180052_templates_pivotaltracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180054_instances_pivotaltracker_active.yml b/config/metrics/counts_all/20210216180054_instances_pivotaltracker_active.yml
index 6988d6ebdd4..eade998165c 100644
--- a/config/metrics/counts_all/20210216180054_instances_pivotaltracker_active.yml
+++ b/config/metrics/counts_all/20210216180054_instances_pivotaltracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180056_projects_inheriting_pivotaltracker_active.yml b/config/metrics/counts_all/20210216180056_projects_inheriting_pivotaltracker_active.yml
index 8bd473a7615..5d6f67a94b7 100644
--- a/config/metrics/counts_all/20210216180056_projects_inheriting_pivotaltracker_active.yml
+++ b/config/metrics/counts_all/20210216180056_projects_inheriting_pivotaltracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180058_groups_inheriting_pivotaltracker_active.yml b/config/metrics/counts_all/20210216180058_groups_inheriting_pivotaltracker_active.yml
index 682ae485610..8377d603000 100644
--- a/config/metrics/counts_all/20210216180058_groups_inheriting_pivotaltracker_active.yml
+++ b/config/metrics/counts_all/20210216180058_groups_inheriting_pivotaltracker_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180100_projects_pushover_active.yml b/config/metrics/counts_all/20210216180100_projects_pushover_active.yml
index 89584d140db..fb9a2146ebc 100644
--- a/config/metrics/counts_all/20210216180100_projects_pushover_active.yml
+++ b/config/metrics/counts_all/20210216180100_projects_pushover_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180102_groups_pushover_active.yml b/config/metrics/counts_all/20210216180102_groups_pushover_active.yml
index d5502041537..0cf7c1bd572 100644
--- a/config/metrics/counts_all/20210216180102_groups_pushover_active.yml
+++ b/config/metrics/counts_all/20210216180102_groups_pushover_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180104_templates_pushover_active.yml b/config/metrics/counts_all/20210216180104_templates_pushover_active.yml
index 598129d3ef6..fdee417531f 100644
--- a/config/metrics/counts_all/20210216180104_templates_pushover_active.yml
+++ b/config/metrics/counts_all/20210216180104_templates_pushover_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180105_instances_pushover_active.yml b/config/metrics/counts_all/20210216180105_instances_pushover_active.yml
index 105fd4ff93a..bde6cf54e35 100644
--- a/config/metrics/counts_all/20210216180105_instances_pushover_active.yml
+++ b/config/metrics/counts_all/20210216180105_instances_pushover_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180107_projects_inheriting_pushover_active.yml b/config/metrics/counts_all/20210216180107_projects_inheriting_pushover_active.yml
index 40b3e92c29e..44856dfe647 100644
--- a/config/metrics/counts_all/20210216180107_projects_inheriting_pushover_active.yml
+++ b/config/metrics/counts_all/20210216180107_projects_inheriting_pushover_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180109_groups_inheriting_pushover_active.yml b/config/metrics/counts_all/20210216180109_groups_inheriting_pushover_active.yml
index f99265b4c85..8e1ff124e43 100644
--- a/config/metrics/counts_all/20210216180109_groups_inheriting_pushover_active.yml
+++ b/config/metrics/counts_all/20210216180109_groups_inheriting_pushover_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180111_projects_redmine_active.yml b/config/metrics/counts_all/20210216180111_projects_redmine_active.yml
index d2b34fd0143..228827a60c6 100644
--- a/config/metrics/counts_all/20210216180111_projects_redmine_active.yml
+++ b/config/metrics/counts_all/20210216180111_projects_redmine_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180113_groups_redmine_active.yml b/config/metrics/counts_all/20210216180113_groups_redmine_active.yml
index a3e68fd6d1a..10de4fb9743 100644
--- a/config/metrics/counts_all/20210216180113_groups_redmine_active.yml
+++ b/config/metrics/counts_all/20210216180113_groups_redmine_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180115_templates_redmine_active.yml b/config/metrics/counts_all/20210216180115_templates_redmine_active.yml
index b0000ba32df..89efedbc7fc 100644
--- a/config/metrics/counts_all/20210216180115_templates_redmine_active.yml
+++ b/config/metrics/counts_all/20210216180115_templates_redmine_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180116_instances_redmine_active.yml b/config/metrics/counts_all/20210216180116_instances_redmine_active.yml
index c3c0012e205..a10db3fa2ad 100644
--- a/config/metrics/counts_all/20210216180116_instances_redmine_active.yml
+++ b/config/metrics/counts_all/20210216180116_instances_redmine_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180118_projects_inheriting_redmine_active.yml b/config/metrics/counts_all/20210216180118_projects_inheriting_redmine_active.yml
index 85ecfafcc70..6809afa4d4a 100644
--- a/config/metrics/counts_all/20210216180118_projects_inheriting_redmine_active.yml
+++ b/config/metrics/counts_all/20210216180118_projects_inheriting_redmine_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180120_groups_inheriting_redmine_active.yml b/config/metrics/counts_all/20210216180120_groups_inheriting_redmine_active.yml
index a929408e5da..9ae0bc0bfd7 100644
--- a/config/metrics/counts_all/20210216180120_groups_inheriting_redmine_active.yml
+++ b/config/metrics/counts_all/20210216180120_groups_inheriting_redmine_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180122_projects_slack_active.yml b/config/metrics/counts_all/20210216180122_projects_slack_active.yml
index 2b6b06e97d9..3a5bec84a58 100644
--- a/config/metrics/counts_all/20210216180122_projects_slack_active.yml
+++ b/config/metrics/counts_all/20210216180122_projects_slack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180124_groups_slack_active.yml b/config/metrics/counts_all/20210216180124_groups_slack_active.yml
index 60175f2861f..c63632dd59b 100644
--- a/config/metrics/counts_all/20210216180124_groups_slack_active.yml
+++ b/config/metrics/counts_all/20210216180124_groups_slack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180126_templates_slack_active.yml b/config/metrics/counts_all/20210216180126_templates_slack_active.yml
index 3fe78e3b847..0bee63532a4 100644
--- a/config/metrics/counts_all/20210216180126_templates_slack_active.yml
+++ b/config/metrics/counts_all/20210216180126_templates_slack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180127_instances_slack_active.yml b/config/metrics/counts_all/20210216180127_instances_slack_active.yml
index cb98faf7494..3a74a68251d 100644
--- a/config/metrics/counts_all/20210216180127_instances_slack_active.yml
+++ b/config/metrics/counts_all/20210216180127_instances_slack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180129_projects_inheriting_slack_active.yml b/config/metrics/counts_all/20210216180129_projects_inheriting_slack_active.yml
index 4f5613fb904..304d780314f 100644
--- a/config/metrics/counts_all/20210216180129_projects_inheriting_slack_active.yml
+++ b/config/metrics/counts_all/20210216180129_projects_inheriting_slack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180131_groups_inheriting_slack_active.yml b/config/metrics/counts_all/20210216180131_groups_inheriting_slack_active.yml
index 780104bd60e..ebb7b88d10b 100644
--- a/config/metrics/counts_all/20210216180131_groups_inheriting_slack_active.yml
+++ b/config/metrics/counts_all/20210216180131_groups_inheriting_slack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180133_projects_slack_slash_commands_active.yml b/config/metrics/counts_all/20210216180133_projects_slack_slash_commands_active.yml
index e2ae91c83ce..06c45e12040 100644
--- a/config/metrics/counts_all/20210216180133_projects_slack_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180133_projects_slack_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180135_groups_slack_slash_commands_active.yml b/config/metrics/counts_all/20210216180135_groups_slack_slash_commands_active.yml
index 0850c45bcc1..e277c4b7d41 100644
--- a/config/metrics/counts_all/20210216180135_groups_slack_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180135_groups_slack_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180137_templates_slack_slash_commands_active.yml b/config/metrics/counts_all/20210216180137_templates_slack_slash_commands_active.yml
index b68cee5b004..3751024afdd 100644
--- a/config/metrics/counts_all/20210216180137_templates_slack_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180137_templates_slack_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180138_instances_slack_slash_commands_active.yml b/config/metrics/counts_all/20210216180138_instances_slack_slash_commands_active.yml
index c629bbe7b81..69717f5a917 100644
--- a/config/metrics/counts_all/20210216180138_instances_slack_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180138_instances_slack_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180140_projects_inheriting_slack_slash_commands_active.yml b/config/metrics/counts_all/20210216180140_projects_inheriting_slack_slash_commands_active.yml
index 5fbba405579..20bd18be435 100644
--- a/config/metrics/counts_all/20210216180140_projects_inheriting_slack_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180140_projects_inheriting_slack_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180142_groups_inheriting_slack_slash_commands_active.yml b/config/metrics/counts_all/20210216180142_groups_inheriting_slack_slash_commands_active.yml
index 96cc7b0bcaa..6dc9498c679 100644
--- a/config/metrics/counts_all/20210216180142_groups_inheriting_slack_slash_commands_active.yml
+++ b/config/metrics/counts_all/20210216180142_groups_inheriting_slack_slash_commands_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180144_projects_teamcity_active.yml b/config/metrics/counts_all/20210216180144_projects_teamcity_active.yml
index 482360e0c87..2011d5cd7cc 100644
--- a/config/metrics/counts_all/20210216180144_projects_teamcity_active.yml
+++ b/config/metrics/counts_all/20210216180144_projects_teamcity_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180146_groups_teamcity_active.yml b/config/metrics/counts_all/20210216180146_groups_teamcity_active.yml
index efaf3b72f08..2a12be8c9c5 100644
--- a/config/metrics/counts_all/20210216180146_groups_teamcity_active.yml
+++ b/config/metrics/counts_all/20210216180146_groups_teamcity_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180148_templates_teamcity_active.yml b/config/metrics/counts_all/20210216180148_templates_teamcity_active.yml
index 8fe6f5997f3..528873a7139 100644
--- a/config/metrics/counts_all/20210216180148_templates_teamcity_active.yml
+++ b/config/metrics/counts_all/20210216180148_templates_teamcity_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180149_instances_teamcity_active.yml b/config/metrics/counts_all/20210216180149_instances_teamcity_active.yml
index 52f6d89497d..13beb25b4f7 100644
--- a/config/metrics/counts_all/20210216180149_instances_teamcity_active.yml
+++ b/config/metrics/counts_all/20210216180149_instances_teamcity_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180151_projects_inheriting_teamcity_active.yml b/config/metrics/counts_all/20210216180151_projects_inheriting_teamcity_active.yml
index e8ea1ffb556..0e3b2af2e45 100644
--- a/config/metrics/counts_all/20210216180151_projects_inheriting_teamcity_active.yml
+++ b/config/metrics/counts_all/20210216180151_projects_inheriting_teamcity_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180153_groups_inheriting_teamcity_active.yml b/config/metrics/counts_all/20210216180153_groups_inheriting_teamcity_active.yml
index 4656bda6da0..026d6a2789c 100644
--- a/config/metrics/counts_all/20210216180153_groups_inheriting_teamcity_active.yml
+++ b/config/metrics/counts_all/20210216180153_groups_inheriting_teamcity_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180155_projects_unify_circuit_active.yml b/config/metrics/counts_all/20210216180155_projects_unify_circuit_active.yml
index 4d783cd061f..4d1d728ef32 100644
--- a/config/metrics/counts_all/20210216180155_projects_unify_circuit_active.yml
+++ b/config/metrics/counts_all/20210216180155_projects_unify_circuit_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180157_groups_unify_circuit_active.yml b/config/metrics/counts_all/20210216180157_groups_unify_circuit_active.yml
index 074ab951200..d926c2f81d5 100644
--- a/config/metrics/counts_all/20210216180157_groups_unify_circuit_active.yml
+++ b/config/metrics/counts_all/20210216180157_groups_unify_circuit_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180159_templates_unify_circuit_active.yml b/config/metrics/counts_all/20210216180159_templates_unify_circuit_active.yml
index 99f54dfa276..a96ab7ff256 100644
--- a/config/metrics/counts_all/20210216180159_templates_unify_circuit_active.yml
+++ b/config/metrics/counts_all/20210216180159_templates_unify_circuit_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180201_instances_unify_circuit_active.yml b/config/metrics/counts_all/20210216180201_instances_unify_circuit_active.yml
index 0ca2893868c..1fc4f19b77f 100644
--- a/config/metrics/counts_all/20210216180201_instances_unify_circuit_active.yml
+++ b/config/metrics/counts_all/20210216180201_instances_unify_circuit_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180203_projects_inheriting_unify_circuit_active.yml b/config/metrics/counts_all/20210216180203_projects_inheriting_unify_circuit_active.yml
index 30172dcac3f..6af475ee5b0 100644
--- a/config/metrics/counts_all/20210216180203_projects_inheriting_unify_circuit_active.yml
+++ b/config/metrics/counts_all/20210216180203_projects_inheriting_unify_circuit_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180204_groups_inheriting_unify_circuit_active.yml b/config/metrics/counts_all/20210216180204_groups_inheriting_unify_circuit_active.yml
index 4334a352566..01e4782ec20 100644
--- a/config/metrics/counts_all/20210216180204_groups_inheriting_unify_circuit_active.yml
+++ b/config/metrics/counts_all/20210216180204_groups_inheriting_unify_circuit_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180206_projects_webex_teams_active.yml b/config/metrics/counts_all/20210216180206_projects_webex_teams_active.yml
index 7590bf98d81..c8624623371 100644
--- a/config/metrics/counts_all/20210216180206_projects_webex_teams_active.yml
+++ b/config/metrics/counts_all/20210216180206_projects_webex_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180208_groups_webex_teams_active.yml b/config/metrics/counts_all/20210216180208_groups_webex_teams_active.yml
index 15f4ccda503..4b4c0b0835f 100644
--- a/config/metrics/counts_all/20210216180208_groups_webex_teams_active.yml
+++ b/config/metrics/counts_all/20210216180208_groups_webex_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180210_templates_webex_teams_active.yml b/config/metrics/counts_all/20210216180210_templates_webex_teams_active.yml
index 36d21424329..4cb97212de3 100644
--- a/config/metrics/counts_all/20210216180210_templates_webex_teams_active.yml
+++ b/config/metrics/counts_all/20210216180210_templates_webex_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180212_instances_webex_teams_active.yml b/config/metrics/counts_all/20210216180212_instances_webex_teams_active.yml
index 0b66249713b..bf8277ce740 100644
--- a/config/metrics/counts_all/20210216180212_instances_webex_teams_active.yml
+++ b/config/metrics/counts_all/20210216180212_instances_webex_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180214_projects_inheriting_webex_teams_active.yml b/config/metrics/counts_all/20210216180214_projects_inheriting_webex_teams_active.yml
index b1b91278215..bf09ee1e791 100644
--- a/config/metrics/counts_all/20210216180214_projects_inheriting_webex_teams_active.yml
+++ b/config/metrics/counts_all/20210216180214_projects_inheriting_webex_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180215_groups_inheriting_webex_teams_active.yml b/config/metrics/counts_all/20210216180215_groups_inheriting_webex_teams_active.yml
index bd1986796d7..3d1a01b4c92 100644
--- a/config/metrics/counts_all/20210216180215_groups_inheriting_webex_teams_active.yml
+++ b/config/metrics/counts_all/20210216180215_groups_inheriting_webex_teams_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180217_projects_youtrack_active.yml b/config/metrics/counts_all/20210216180217_projects_youtrack_active.yml
index 1225d494f77..8693bbeabc2 100644
--- a/config/metrics/counts_all/20210216180217_projects_youtrack_active.yml
+++ b/config/metrics/counts_all/20210216180217_projects_youtrack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180219_groups_youtrack_active.yml b/config/metrics/counts_all/20210216180219_groups_youtrack_active.yml
index 47389011bcf..9c0b4c7404d 100644
--- a/config/metrics/counts_all/20210216180219_groups_youtrack_active.yml
+++ b/config/metrics/counts_all/20210216180219_groups_youtrack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180221_templates_youtrack_active.yml b/config/metrics/counts_all/20210216180221_templates_youtrack_active.yml
index c89c8602877..7b852f69b7f 100644
--- a/config/metrics/counts_all/20210216180221_templates_youtrack_active.yml
+++ b/config/metrics/counts_all/20210216180221_templates_youtrack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180223_instances_youtrack_active.yml b/config/metrics/counts_all/20210216180223_instances_youtrack_active.yml
index a5316c15120..33eb2139a20 100644
--- a/config/metrics/counts_all/20210216180223_instances_youtrack_active.yml
+++ b/config/metrics/counts_all/20210216180223_instances_youtrack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180225_projects_inheriting_youtrack_active.yml b/config/metrics/counts_all/20210216180225_projects_inheriting_youtrack_active.yml
index 982ad4dfdad..f68a0049429 100644
--- a/config/metrics/counts_all/20210216180225_projects_inheriting_youtrack_active.yml
+++ b/config/metrics/counts_all/20210216180225_projects_inheriting_youtrack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180226_groups_inheriting_youtrack_active.yml b/config/metrics/counts_all/20210216180226_groups_inheriting_youtrack_active.yml
index 2a86d74ebf3..a758fdb63e5 100644
--- a/config/metrics/counts_all/20210216180226_groups_inheriting_youtrack_active.yml
+++ b/config/metrics/counts_all/20210216180226_groups_inheriting_youtrack_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180228_projects_jira_server_active.yml b/config/metrics/counts_all/20210216180228_projects_jira_server_active.yml
index 88d0d954780..503a76eb05a 100644
--- a/config/metrics/counts_all/20210216180228_projects_jira_server_active.yml
+++ b/config/metrics/counts_all/20210216180228_projects_jira_server_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180230_projects_jira_cloud_active.yml b/config/metrics/counts_all/20210216180230_projects_jira_cloud_active.yml
index d2a5cfc062c..1b79cde456b 100644
--- a/config/metrics/counts_all/20210216180230_projects_jira_cloud_active.yml
+++ b/config/metrics/counts_all/20210216180230_projects_jira_cloud_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml b/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml
index aa362c989de..33e42e55558 100644
--- a/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml
+++ b/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml b/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml
index fb3df0de122..5866c2e8eab 100644
--- a/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml
+++ b/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml
@@ -16,4 +16,3 @@ tier:
- free
- premium
- ultimate
-skip_validation: true
diff --git a/config/routes/project.rb b/config/routes/project.rb
index 9a77e7a98ac..632ef34f317 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -565,7 +565,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
# Deprecated unscoped routing.
scope as: 'deprecated' do
# Issue https://gitlab.com/gitlab-org/gitlab/issues/118849
- draw :repository
+ draw :repository_deprecated
# Issue https://gitlab.com/gitlab-org/gitlab/-/issues/223719
# rubocop: disable Cop/PutProjectRoutesUnderScope
diff --git a/config/routes/repository.rb b/config/routes/repository_deprecated.rb
index 854c6517cd5..7626ceb3529 100644
--- a/config/routes/repository.rb
+++ b/config/routes/repository_deprecated.rb
@@ -1,9 +1,9 @@
# frozen_string_literal: true
-# All routing related to repository browsing
-#
-# NOTE: Add new routes to repository_scoped.rb instead (see
-# https://docs.gitlab.com/ee/development/routing.html#project-routes).
+# Repository routes without /-/ scope.
+# Issue https://gitlab.com/gitlab-org/gitlab/-/issues/28848.
+# Do not add new routes here. Add new routes to repository_scoped.rb instead
+# (see https://docs.gitlab.com/ee/development/routing.html#project-routes).
resource :repository, only: [:create]
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index a7116c508bb..b54a36b6024 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -283,6 +283,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
| <a id="queryprojectssearch"></a>`search` | [`String`](#string) | Search query for project name, path, or description. |
| <a id="queryprojectssearchnamespaces"></a>`searchNamespaces` | [`Boolean`](#boolean) | Include namespace in project search. |
| <a id="queryprojectssort"></a>`sort` | [`String`](#string) | Sort order of results. |
+| <a id="queryprojectstopics"></a>`topics` | [`[String!]`](#string) | Filters projects by topics. |
### `Query.runner`
diff --git a/doc/api/issues.md b/doc/api/issues.md
index b4d421290e3..71610ba7422 100644
--- a/doc/api/issues.md
+++ b/doc/api/issues.md
@@ -65,7 +65,6 @@ GET /issues?state=opened
| `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))_ |
| `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)_ |
-| `milestone` | string | no | The milestone title. `None` lists all issues with no milestone. `Any` lists all issues that have an assigned milestone. |
| `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)_ |
diff --git a/doc/development/usage_ping/dictionary.md b/doc/development/usage_ping/dictionary.md
index 694f570e2fb..fa2b933c5ab 100644
--- a/doc/development/usage_ping/dictionary.md
+++ b/doc/development/usage_ping/dictionary.md
@@ -1382,13 +1382,13 @@ Tiers: `free`, `premium`, `ultimate`
Count of groups with active integrations for GitHub
-[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216175850_groups_github_active.yml)
+[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216175850_groups_github_active.yml)
Group: `group::ecosystem`
Status: `data_available`
-Tiers: `free`, `premium`, `ultimate`
+Tiers: `premium`, `ultimate`
### `counts.groups_hangouts_chat_active`
@@ -1598,13 +1598,13 @@ Tiers: `free`, `premium`, `ultimate`
Count of active groups inheriting integrations for GitHub
-[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216175857_groups_inheriting_github_active.yml)
+[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216175857_groups_inheriting_github_active.yml)
Group: `group::ecosystem`
Status: `data_available`
-Tiers: `free`, `premium`, `ultimate`
+Tiers: `premium`, `ultimate`
### `counts.groups_inheriting_hangouts_chat_active`
@@ -2738,13 +2738,13 @@ Tiers: `free`, `premium`, `ultimate`
Count of active instance-level integrations for GitHub
-[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216175853_instances_github_active.yml)
+[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216175853_instances_github_active.yml)
Group: `group::ecosystem`
Status: `data_available`
-Tiers: `free`, `premium`, `ultimate`
+Tiers: `premium`, `ultimate`
### `counts.instances_hangouts_chat_active`
@@ -4394,13 +4394,13 @@ Tiers: `free`, `premium`, `ultimate`
Count of projects with active integrations for GitHub
-[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216175848_projects_github_active.yml)
+[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216175848_projects_github_active.yml)
Group: `group::ecosystem`
Status: `data_available`
-Tiers: `free`, `premium`, `ultimate`
+Tiers: `premium`, `ultimate`
### `counts.projects_hangouts_chat_active`
@@ -4622,13 +4622,13 @@ Tiers: `free`, `premium`, `ultimate`
Count of active projects inheriting integrations for GitHub
-[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216175855_projects_inheriting_github_active.yml)
+[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216175855_projects_inheriting_github_active.yml)
Group: `group::ecosystem`
Status: `data_available`
-Tiers: `free`, `premium`, `ultimate`
+Tiers: `premium`, `ultimate`
### `counts.projects_inheriting_hangouts_chat_active`
@@ -6074,13 +6074,13 @@ Tiers: `free`, `premium`, `ultimate`
Count of active service templates for GitHub
-[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216175851_templates_github_active.yml)
+[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216175851_templates_github_active.yml)
Group: `group::ecosystem`
Status: `data_available`
-Tiers: `free`, `premium`, `ultimate`
+Tiers: `premium`, `ultimate`
### `counts.templates_hangouts_chat_active`
diff --git a/doc/gitlab-basics/add-file.md b/doc/gitlab-basics/add-file.md
index 33db7d74949..6dd0c608983 100644
--- a/doc/gitlab-basics/add-file.md
+++ b/doc/gitlab-basics/add-file.md
@@ -33,7 +33,7 @@ cd <destination folder>
to the default branch should be avoided unless your project is very small and you're the
only person working on it.
-You can also [switch to an existing branch](start-using-git.md#work-on-an-existing-branch)
+You can also [switch to an existing branch](start-using-git.md#switch-to-a-branch)
if you have one already.
Using your standard tool for copying files (for example, Finder in macOS, or File Explorer
diff --git a/doc/gitlab-basics/create-branch.md b/doc/gitlab-basics/create-branch.md
index 55b4579ae5a..098eccf1a26 100644
--- a/doc/gitlab-basics/create-branch.md
+++ b/doc/gitlab-basics/create-branch.md
@@ -9,7 +9,7 @@ type: howto
A branch is an independent line of development in a [project](../user/project/index.md).
-When you create a new branch (in your [terminal](start-using-git.md#create-a-branch) or with
+When you create a new branch (in your [terminal](start-using-git.md#create-and-work-in-a-branch) or with
[the web interface](../user/project/repository/web_editor.md#create-a-new-branch)),
you are creating a snapshot of a certain branch, usually the main branch,
at its current state. From there, you can start to make your own changes without
diff --git a/doc/gitlab-basics/start-using-git.md b/doc/gitlab-basics/start-using-git.md
index 0e67d3e2061..e6ed83bc283 100644
--- a/doc/gitlab-basics/start-using-git.md
+++ b/doc/gitlab-basics/start-using-git.md
@@ -13,39 +13,38 @@ handle everything from small to very large projects with speed and efficiency. G
on top of Git.
While GitLab has a powerful user interface from which you can do a great amount of Git operations
-directly in the browser, you'll eventually need to use Git through the command line for advanced
-tasks.
+directly in the browser, the command line is required for advanced tasks.
For example, if you need to fix complex merge conflicts, rebase branches,
-merge manually, or undo and roll back commits, you must use Git from
+or undo and roll back commits, you must use Git from
the command line and then push your changes to the remote server.
-This guide helps you get started with Git through the command line and can be your reference
+This guide helps you get started with Git through the command line and can be a reference
for Git commands in the future. If you're only looking for a quick reference of Git commands, you
can download the GitLab [Git Cheat Sheet](https://about.gitlab.com/images/press/git-cheat-sheet.pdf).
-> For more information about the advantages of working with Git and GitLab:
->
-> - <i class="fa fa-youtube-play youtube" aria-hidden="true"></i>&nbsp;Watch the [GitLab Source Code Management Walkthrough](https://www.youtube.com/watch?v=wTQ3aXJswtM) video.
-> - Learn how GitLab became the backbone of [Worldline](https://about.gitlab.com/customers/worldline/)'s development environment.
+For more information about the advantages of working with Git and GitLab:
+
+- <i class="fa fa-youtube-play youtube" aria-hidden="true"></i>&nbsp;Watch the [GitLab Source Code Management Walkthrough](https://www.youtube.com/watch?v=wTQ3aXJswtM) video.
+- Learn how [GitLab became the backbone of Worldline](https://about.gitlab.com/customers/worldline/)'s development environment.
NOTE:
To help you visualize what you're doing locally, there are
[Git GUI apps](https://git-scm.com/download/gui/) you can install.
-## Requirements
+## Prerequisites
You don't need a GitLab account to use Git locally, but for the purpose of this guide we
recommend registering and signing into your account before starting. Some commands need a
-connection between the files in your computer and their version on a remote server.
+connection between the files on your computer and their version on a remote server.
-You must also open a [command shell](#command-shell) and have
-[Git installed](#install-git) in your computer.
+You must also open a [terminal](#open-a-terminal) and have
+[Git installed](#install-git) on your computer.
-### Command shell
+### Open a terminal
-To execute Git commands in your computer, you must open a command shell (also known as command
-prompt, terminal, and command line) of your preference. Here are some suggestions:
+To execute Git commands on your computer, you must open a terminal (also known as command
+prompt, command shell, and command line) of your preference. Here are some suggestions:
- For macOS users:
- Built-in: [Terminal](https://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line). Press <kbd>⌘ command</kbd> + <kbd>space</kbd> and type "terminal" to find it.
@@ -59,7 +58,7 @@ prompt, terminal, and command line) of your preference. Here are some suggestion
### Install Git
-Open a command shell and run the following command to check if Git is already installed in your
+Open a terminal and run the following command to check if Git is already installed in your
computer:
```shell
@@ -113,45 +112,35 @@ You have two options:
- Authenticate on a project-by-project basis through HTTPS, and enter your credentials every time
you perform an operation between your computer and GitLab.
-- Authenticate through SSH once and GitLab no longer requests your credentials every time you pull, push,
- and clone.
+- Authenticate through SSH once and GitLab no longer requests your credentials every time you
+ perform an operation between your computer and GitLab.
To start the authentication process, we'll [clone](#clone-a-repository) an existing repository
to our computer:
- If you want to use **SSH** to authenticate, follow the instructions on the [SSH documentation](../ssh/README.md)
to set it up before cloning.
-- If you want to use **HTTPS**, GitLab requests your user name and password:
+- If you want to use **HTTPS**, GitLab requests your username and password:
- If you have 2FA enabled for your account, you must use a [Personal Access Token](../user/profile/personal_access_tokens.md)
with **read_repository** or **write_repository** permissions instead of your account's password.
- Create one before cloning.
- If you don't have 2FA enabled, use your account's password.
NOTE:
-Authenticating via SSH is the GitLab recommended method. You can read more about credential storage
+Authenticating through SSH is the GitLab recommended method. You can read more about credential storage
in the [Git Credentials documentation](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage).
## Git terminology
-If you're familiar with the Git terminology, you may want to jump directly
-into the [basic commands](#basic-git-commands).
-
-### Namespace
-
-A **namespace** is either a **user name** or a **group name**.
-
-For example, suppose Jo is a GitLab.com user and they chose their user name as
-`jo`. You can see Jo's profile at `https://gitlab.com/jo`. `jo` is a namespace.
-
-Jo also created a group in GitLab, and chose the path `test-group` for their
-group. The group can be accessed under `https://gitlab.com/test-group`. `test-group` is a namespace.
+If you're familiar with Git terminology, you may want to jump directly
+into [setting up a repository](#set-up-a-repository).
### Repository
Your files in GitLab live in a **repository**, similar to how you have them in a folder or
-directory in your computer. **Remote** repository refers to the files in
-GitLab and the copy in your computer is called **local** copy.
-A **project** in GitLab is what holds a repository, which holds your files.
+directory on your computer.
+
+- **Remote** repository refers to the files in GitLab.
+- A **local** copy refers to the files on your computer.
<!-- vale gitlab.Spelling = NO -->
<!-- vale gitlab.SubstitutionWarning = NO -->
@@ -159,22 +148,25 @@ Often, the word "repository" is shortened to "repo".
<!-- vale gitlab.Spelling = YES -->
<!-- vale gitlab.SubstitutionWarning = YES -->
+A **project** in GitLab is what holds a repository.
+
### Fork
When you want to copy someone else's repository, you [**fork**](../user/project/repository/forking_workflow.md#creating-a-fork)
the project. By forking it, you create a copy of the project into your own
-namespace to have read and write permissions to modify the project files
+[namespace](../user/group/#namespaces) to have read and write permissions to modify the project files
and settings.
-For example, if you fork this project, <https://gitlab.com/gitlab-tests/sample-project/> into your namespace, you create your own copy of the repository in your namespace (`https://gitlab.com/your-namespace/sample-project/`). From there, you can clone it into your computer,
-work on its files, and (optionally) submit proposed changes back to the
-original repository if you'd like.
+For example, if you fork this project, <https://gitlab.com/gitlab-tests/sample-project/> into your namespace,
+you create your own copy of the repository in your namespace (`https://gitlab.com/your-namespace/sample-project/`).
+From there, you can clone the repository, work on the files, and (optionally) submit proposed changes back to the
+original repository.
-### Download vs clone
+### Difference between download and clone
To create a copy of a remote repository's files on your computer, you can either
-**download** or **clone**. If you download, you cannot sync it with the
-remote repository on GitLab.
+**download** or **clone** the repository. If you download it, you cannot sync the repository with the
+remote version on GitLab.
[Cloning](#clone-a-repository) a repository is the same as downloading, except it preserves the Git connection
with the remote repository. This allows you to modify the files locally and
@@ -182,44 +174,42 @@ upload the changes to the remote repository on GitLab.
### Pull and push
-After you saved a local copy of a repository and modified its files on your computer, you can upload the
-changes to GitLab. This is referred to as **pushing** to GitLab, as this is achieved by the command
+After you save a local copy of a repository and modify the files on your computer, you can upload the
+changes to GitLab. This is referred to as **pushing** to the remote, as this is achieved by the command
[`git push`](#send-changes-to-gitlabcom).
-When the remote repository changes, your local copy is behind it. You can update it with the new
+When the remote repository changes, your local copy is behind. You can update your local copy with the new
changes in the remote repository.
-This is referred to as **pulling** from GitLab, as this is achieved by the command
+This is referred to as **pulling** from the remote, as this is achieved by the command
[`git pull`](#download-the-latest-changes-in-the-project).
-## Basic Git commands
+## Set up a repository
-For the purposes of this guide, we use this example project on GitLab.com:
-[https://gitlab.com/gitlab-tests/sample-project/](https://gitlab.com/gitlab-tests/sample-project/).
+Git commands will work with any Git repository.
-To use it, log into GitLab.com and fork the example project into your
-namespace to have your own copy to playing with. Your sample
-project is available under `https://gitlab.com/<your-namespace>/sample-project/`.
+For the purposes of this guide, we refer to this example project on GitLab.com:
+[https://gitlab.com/gitlab-tests/sample-project/](https://gitlab.com/gitlab-tests/sample-project/).
+Remember to replace the example URLs with the relevant path of your project.
-You can also choose any other project to follow this guide. Then, replace the
-example URLs with your own project's.
+To get started, choose one of the following:
-If you want to start by copying an existing GitLab repository onto your
-computer, see how to [clone a repository](#clone-a-repository). On the other
-hand, if you want to start by uploading an existing folder from your computer
-to GitLab, see how to [convert a local folder into a Git repository](#convert-a-local-directory-into-a-repository).
+- Use the example project by signing into GitLab.com and [forking](../user/project/repository/forking_workflow.md#creating-a-fork)
+it into your namespace to make it available under `https://gitlab.com/<your-namespace>/sample-project/`.
+- Copy an existing GitLab repository onto your computer by [cloning a repository](#clone-a-repository).
+- Upload an existing folder from your computer to GitLab by [converting a local folder into a Git repository](#convert-a-local-directory-into-a-repository).
### Clone a repository
To start working locally on an existing remote repository, clone it with the
-command `git clone <repository path>`. You can either clone it via [HTTPS](#clone-via-https)
-or [SSH](#clone-via-ssh), according to your preferred [authentication method](#git-authentication-methods).
+command `git clone <repository path>`. You can either clone it using [HTTPS](#clone-using-https)
+or [SSH](#clone-using-ssh), according to your preferred [authentication method](#git-authentication-methods).
You can find both paths (HTTPS and SSH) by navigating to your project's landing page
and clicking **Clone**. GitLab prompts you with both paths, from which you can copy
and paste in your command line. You can also
[clone and open directly in Visual Studio Code](../user/project/repository/index.md#clone-and-open-in-apple-xcode).
-For example, considering our [sample project](https://gitlab.com/gitlab-tests/sample-project/):
+For example, with our [sample project](https://gitlab.com/gitlab-tests/sample-project/):
- To clone through HTTPS, use `https://gitlab.com/gitlab-tests/sample-project.git`.
- To clone through SSH, use `git@gitlab.com:gitlab-tests/sample-project.git`.
@@ -232,22 +222,22 @@ name and preserve the connection with the remote repository.
You can then navigate to the new directory with `cd sample-project` and start working on it
locally.
-#### Clone via HTTPS
+#### Clone using HTTPS
-To clone `https://gitlab.com/gitlab-tests/sample-project/` via HTTPS:
+To clone `https://gitlab.com/gitlab-tests/sample-project/` using HTTPS:
```shell
git clone https://gitlab.com/gitlab-tests/sample-project.git
```
NOTE:
-On Windows, if you entered incorrect passwords multiple times and GitLab is responding `Access denied`,
-you may have to add your namespace (user name or group name) to clone through HTTPS:
+On Windows, if you enter your password incorrectly multiple times and GitLab is responding `Access denied`,
+add your namespace (username or group):
`git clone https://namespace@gitlab.com/gitlab-org/gitlab.git`.
-#### Clone via SSH
+#### Clone using SSH
-To clone `git@gitlab.com:gitlab-org/gitlab.git` via SSH:
+To clone `git@gitlab.com:gitlab-org/gitlab.git` using SSH:
```shell
git clone git@gitlab.com:gitlab-org/gitlab.git
@@ -257,8 +247,8 @@ git clone git@gitlab.com:gitlab-org/gitlab.git
When you have your files in a local folder and want to convert it into
a repository, you must _initialize_ the folder through the `git init`
-command. This instructs Git to begin to track that directory as a
-repository. To do so, open the terminal on the directory you'd like to convert
+command. This command instructs Git to track that directory as a
+repository. Open the terminal in the directory you'd like to convert
and run:
```shell
@@ -269,15 +259,14 @@ This command creates a `.git` folder in your directory that contains Git
records and configuration files. We advise against editing these files
directly.
-Then, on the next step, add the [path to your remote repository](#add-a-remote-repository)
+Following the steps in the next section, add the [path to your remote repository](#add-a-remote-repository)
so that Git can upload your files into the correct project.
#### Add a remote repository
-By "adding a remote repository" to your local directory you tell Git that
-the path to that specific project in GitLab corresponds to that specific
-folder you have in your computer. This way, your local folder is
-identified by Git as the local content for that specific remote project.
+You add a remote repository to tell Git which remote project in GitLab is tied
+to the specific local folder on your computer.
+The remote tells Git where to push or pull from.
To add a remote repository to your local copy:
@@ -293,8 +282,7 @@ After you've done that, you can [stage your files](#add-and-commit-local-changes
### Download the latest changes in the project
-To work on an up-to-date copy of the project (it is important to do this every time
-you start working on a project), you `pull` to get all the changes made by users
+To work on an up-to-date copy of the project, you `pull` to get all the changes made by users
since the last time you cloned or pulled the project. Replace `<name-of-branch>`
with the name of your [default branch](../user/project/repository/branches/default.md)
to get the main branch code, or replace it with the branch name of the branch
@@ -331,16 +319,15 @@ to work on a different **branch**.
When you create a branch in a Git repository, you make a copy of its files at the time of branching. You're free
to do whatever you want with the code in your branch without impacting the main branch or other branches. And when
-you're ready to bring your changes to the main codebase, you can merge your branch into the default branch
+you're ready to add your changes to the main codebase, you can merge your branch into the default branch
used in your project (such as `main`).
A new branch is often called **feature branch** to differentiate from the
[default branch](../user/project/repository/branches/default.md).
-### Create a branch
+### Create and work in a branch
-To create a new feature branch and work from without affecting the default
-branch:
+To create a new feature branch to work with:
```shell
git checkout -b <name-of-branch>
@@ -350,56 +337,56 @@ Note that Git does **not** accept empty spaces and special characters in branch
names, so use only lowercase letters, numbers, hyphens (`-`), and underscores
(`_`). Do not use capital letters, as it may cause duplications.
-### Switch to the default branch
-
-You are always in a branch when working with Git. The
-[default branch](../user/project/repository/branches/default.md) can vary depending
-on your version of GitLab, but you can alter this command to switch to a different branch by
-changing `main` to the branch name:
-
-```shell
-git checkout main
-```
+### Switch to a branch
-### Work on an existing branch
+You are always in a branch when working with Git.
+You can switch between branches to see the state of the files and work in that branch.
-To switch to an existing branch, so you can work on it:
+To switch to an existing branch:
```shell
git checkout <name-of-branch>
```
-### View the changes you've made
-
-It's important to be aware of what's happening and the status of your changes. When
-you add, change, or delete files/folders, Git knows about it. To check the status of
-your changes:
+For example, to change to the `main` branch:
```shell
-git status
+git checkout main
```
### View differences
-To view the differences between your local, unstaged changes and the repository versions
+To view the differences between your local, unstaged changes and the latest version
that you cloned or pulled, type:
```shell
git diff
```
+### View the files that have changes
+
+It's important to be aware of what's happening and the status of your changes. When
+you add, change, or delete files or folders, Git knows about the changes.
+To check which files have been changed use:
+
+```shell
+git status
+```
+
### Add and commit local changes
-Local changes are shown in red when you type `git status`. These changes may
-be new, modified, or deleted files/folders. Use `git add` to first stage (prepare)
-a local file/folder for committing. Then use `git commit` to commit (save) the staged
-files:
+Locally changed files are shown in red when you type `git status`. These changes may
+be new, modified, or deleted files/folders. Use `git add` to **stage** (prepare)
+a local file/folder for committing. Then use `git commit` to commit (save) the staged files.
```shell
git add <file-name OR folder-name>
git commit -m "COMMENT TO DESCRIBE THE INTENTION OF THE COMMIT"
```
+To add more than one file or folder, repeat `git add` for each file or folder you want included
+in the commit command before using `git commit`. Files that have been added show green when using `git status`.
+
#### Add all changes to commit
To add and commit (save) all local changes quickly:
@@ -412,6 +399,12 @@ git commit -m "COMMENT TO DESCRIBE THE INTENTION OF THE COMMIT"
NOTE:
The `.` character means _all file changes in the current directory and all subdirectories_.
+To run `git add .` as part of the commit command, use the `-a` option:
+
+```shell
+git commit -a -m "COMMENT TO DESCRIBE THE INTENTION OF THE COMMIT"
+```
+
### Send changes to GitLab.com
To push all local commits (saved changes) to the remote repository:
@@ -420,7 +413,7 @@ To push all local commits (saved changes) to the remote repository:
git push <remote> <name-of-branch>
```
-For example, to push your local commits to the _`main`_ branch of the _`origin`_ remote:
+For example, to push your local commits to the `main` branch of the `origin` remote:
```shell
git push origin main
@@ -435,21 +428,21 @@ To create a merge request from a fork to an upstream repository, see the
### Delete all changes in the branch
-To delete all local changes in the branch that have not been added to the staging
-area, and leave unstaged files/folders, type:
+To discard all changes of tracked files, type:
```shell
git checkout .
```
Note that this removes *changes* to files, not the files themselves.
+Any untracked (new) files are untouched.
### Unstage all changes that have been added to the staging area
-To undo the most recently added, but not committed, changes to files/folders:
+To unstage (remove) all files that have not been committed from being committed, use:
```shell
-git reset .
+git reset
```
### Undo most recent commit
@@ -463,10 +456,13 @@ git reset HEAD~1
This leaves the changed files and folders unstaged in your local repository.
WARNING:
-A Git commit should not usually be reversed, particularly if you already pushed it
+A Git commit should not be reversed if you already pushed it
to the remote repository. Although you can undo a commit, the best option is to avoid
the situation altogether by working carefully.
+You can learn more about the different ways Git can undo changes in the
+[Git Undoing Things documentation](https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things).
+
### Merge a branch with default branch
When you are ready to make all the changes in a branch a permanent addition to
@@ -478,6 +474,8 @@ git checkout <feature-branch>
git merge <default-branch>
```
+In GitLab, you typically merge using a [merge request](../user/project/merge_requests/) instead of performing the command locally.
+
## Advanced use of Git through the command line
For an introduction of more advanced Git techniques, see [Git rebase, force-push, and merge conflicts](../topics/git/git_rebase.md).
@@ -487,7 +485,7 @@ For an introduction of more advanced Git techniques, see [Git rebase, force-push
[Forking a repository](../user/project/repository/forking_workflow.md) lets you create
a copy of a repository in your namespace. Changes made to your copy of the repository
are not synchronized automatically with the original.
-Your local fork (copy) contains changes made by you only, so to keep the project
+Your local fork (copy) only contains changes you have made, so to keep the project
in sync with the original project, you need to `pull` from the original repository.
You must [create a link to the remote repository](#add-a-remote-repository) to pull
diff --git a/doc/user/project/repository/branches/index.md b/doc/user/project/repository/branches/index.md
index 91858ff9a65..de513407f3d 100644
--- a/doc/user/project/repository/branches/index.md
+++ b/doc/user/project/repository/branches/index.md
@@ -33,7 +33,7 @@ For more information on managing branches using the GitLab UI, see:
- [Branch filter search box](#branch-filter-search-box)
You can also manage branches using the
-[command line](../../../../gitlab-basics/start-using-git.md#create-a-branch).
+[command line](../../../../gitlab-basics/start-using-git.md#create-and-work-in-a-branch).
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>Watch the video [GitLab Flow](https://www.youtube.com/watch?v=InKNIvky2KE).
diff --git a/lib/gitlab/integrations/sti_type.rb b/lib/gitlab/integrations/sti_type.rb
index b25b1250d01..9d7254f49f7 100644
--- a/lib/gitlab/integrations/sti_type.rb
+++ b/lib/gitlab/integrations/sti_type.rb
@@ -5,7 +5,7 @@ module Gitlab
class StiType < ActiveRecord::Type::String
NAMESPACED_INTEGRATIONS = Set.new(%w(
Asana Assembla Bamboo Bugzilla Buildkite Campfire Confluence CustomIssueTracker Datadog
- Discord DroneCi EmailsOnPush Ewm ExternalWiki Flowdock HangoutsChat IssueTracker Irker
+ Discord DroneCi EmailsOnPush Ewm ExternalWiki Flowdock HangoutsChat Irker
Jenkins Jira Mattermost MattermostSlashCommands MicrosoftTeams MockCi Packagist PipelinesEmail Pivotaltracker
Pushover Redmine Slack SlackSlashCommands Teamcity UnifyCircuit Youtrack WebexTeams
)).freeze
diff --git a/qa/qa/page/group/new.rb b/qa/qa/page/group/new.rb
index 3687d759336..ec8472d35ff 100644
--- a/qa/qa/page/group/new.rb
+++ b/qa/qa/page/group/new.rb
@@ -52,6 +52,9 @@ module QA
# @param [String] gitlab_token
# @return [void]
def connect_gitlab_instance(gitlab_url, gitlab_token)
+ # Wait until element is present and refresh if not in case feature flag did not kick in
+ wait_until(max_duration: 10) { has_element?(:import_gitlab_url, wait: 1) }
+
set_gitlab_url(gitlab_url)
set_gitlab_token(gitlab_token)
diff --git a/qa/qa/specs/features/browser_ui/1_manage/group/bulk_import_group_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/group/bulk_import_group_spec.rb
index 38ded86782e..acfd52758c5 100644
--- a/qa/qa/specs/features/browser_ui/1_manage/group/bulk_import_group_spec.rb
+++ b/qa/qa/specs/features/browser_ui/1_manage/group/bulk_import_group_spec.rb
@@ -3,19 +3,20 @@
module QA
RSpec.describe 'Manage', :requires_admin do
describe 'Bulk group import' do
- let!(:api_client) { Runtime::API::Client.as_admin }
+ let!(:admin_api_client) { Runtime::API::Client.as_admin }
let!(:user) do
Resource::User.fabricate_via_api! do |usr|
- usr.api_client = api_client
+ usr.api_client = admin_api_client
usr.hard_delete_on_api_removal = true
end
end
- let!(:personal_access_token) { Runtime::API::Client.new(user: user).personal_access_token }
+ let!(:api_client) { Runtime::API::Client.new(user: user) }
+ let!(:personal_access_token) { api_client.personal_access_token }
let!(:sandbox) do
Resource::Sandbox.fabricate_via_api! do |group|
- group.api_client = api_client
+ group.api_client = admin_api_client
end
end
@@ -61,7 +62,6 @@ module QA
before do
sandbox.add_member(user, Resource::Members::AccessLevel::MAINTAINER)
- source_group.add_member(user, Resource::Members::AccessLevel::MAINTAINER)
Flow::Login.sign_in(as: user)
Page::Main::Menu.new.go_to_import_group
@@ -71,7 +71,7 @@ module QA
# Non blocking issues:
# https://gitlab.com/gitlab-org/gitlab/-/issues/331252
it(
- 'imports group with subgroups',
+ 'imports group with subgroups and labels',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1785',
quarantine: {
only: { job: 'relative_url' },
@@ -79,23 +79,6 @@ module QA
type: :bug
}
) do
- Page::Group::BulkImport.perform do |import_page|
- import_page.import_group(source_group.path, sandbox.path)
-
- aggregate_failures do
- expect(import_page).to have_imported_group(source_group.path, wait: 120)
-
- expect { imported_group.reload! }.to eventually_eq(source_group).within(duration: 30)
- expect { imported_subgroup.reload! }.to eventually_eq(subgroup).within(duration: 30)
- end
- end
- end
-
- it(
- 'imports group labels',
- testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1785',
- quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/331704', type: :bug }
- ) do
Resource::GroupLabel.fabricate_via_api! do |label|
label.api_client = api_client
label.group = source_group
@@ -113,6 +96,9 @@ module QA
aggregate_failures do
expect(import_page).to have_imported_group(source_group.path, wait: 120)
+ expect { imported_group.reload! }.to eventually_eq(source_group).within(duration: 10)
+ expect { imported_subgroup.reload! }.to eventually_eq(subgroup).within(duration: 10)
+
expect { imported_group.labels }.to eventually_include(*source_group.labels).within(duration: 10)
expect { imported_subgroup.labels }.to eventually_include(*subgroup.labels).within(duration: 10)
end
@@ -121,7 +107,6 @@ module QA
after do
user.remove_via_api!
- source_group.remove_via_api!
end
after(:all) do
diff --git a/spec/factories/integrations.rb b/spec/factories/integrations.rb
index 71492a6faf6..c47c3791255 100644
--- a/spec/factories/integrations.rb
+++ b/spec/factories/integrations.rb
@@ -188,13 +188,13 @@ FactoryBot.define do
create_data { false }
after(:build) do
- Integrations::IssueTracker.skip_callback(:validation, :before, :handle_properties)
+ Integrations::BaseIssueTracker.skip_callback(:validation, :before, :handle_properties)
end
to_create { |instance| instance.save!(validate: false) }
after(:create) do
- Integrations::IssueTracker.set_callback(:validation, :before, :handle_properties)
+ Integrations::BaseIssueTracker.set_callback(:validation, :before, :handle_properties)
end
end
diff --git a/spec/features/merge_request/user_views_diffs_spec.rb b/spec/features/merge_request/user_views_diffs_spec.rb
index a0b3067994c..d5061657c59 100644
--- a/spec/features/merge_request/user_views_diffs_spec.rb
+++ b/spec/features/merge_request/user_views_diffs_spec.rb
@@ -66,6 +66,7 @@ RSpec.describe 'User views diffs', :js do
expect(page).to have_button('Expand all')
click_button 'Expand all'
+ wait_for_requests
expect(page).not_to have_button('Expand all')
end
diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb
index f47f070fea8..b8b5e2c3bb7 100644
--- a/spec/finders/projects_finder_spec.rb
+++ b/spec/finders/projects_finder_spec.rb
@@ -150,13 +150,33 @@ RSpec.describe ProjectsFinder do
describe 'filter by topics' do
before do
- public_project.topic_list = 'foo'
+ public_project.topic_list = 'foo, bar'
public_project.save!
end
- let(:params) { { topic: 'foo' } }
+ context 'single topic' do
+ let(:params) { { topic: 'foo' } }
- it { is_expected.to eq([public_project]) }
+ it { is_expected.to eq([public_project]) }
+ end
+
+ context 'multiple topics' do
+ let(:params) { { topic: 'bar, foo' } }
+
+ it { is_expected.to eq([public_project]) }
+ end
+
+ context 'one topic matches, other one does not' do
+ let(:params) { { topic: 'foo, xyz' } }
+
+ it { is_expected.to eq([]) }
+ end
+
+ context 'no matching topic' do
+ let(:params) { { topic: 'xyz' } }
+
+ it { is_expected.to eq([]) }
+ end
end
describe 'filter by personal' do
diff --git a/spec/graphql/resolvers/projects_resolver_spec.rb b/spec/graphql/resolvers/projects_resolver_spec.rb
index 34ddc9cd8cb..ed798fb0351 100644
--- a/spec/graphql/resolvers/projects_resolver_spec.rb
+++ b/spec/graphql/resolvers/projects_resolver_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe Resolvers::ProjectsResolver do
let_it_be(:group) { create(:group, name: 'public-group') }
let_it_be(:private_group) { create(:group, name: 'private-group') }
- let_it_be(:project) { create(:project, :public) }
+ let_it_be(:project) { create(:project, :public, tag_list: %w(ruby javascript)) }
let_it_be(:other_project) { create(:project, :public) }
let_it_be(:group_project) { create(:project, :public, group: group) }
let_it_be(:private_project) { create(:project, :private) }
@@ -70,6 +70,14 @@ RSpec.describe Resolvers::ProjectsResolver do
is_expected.to be_empty
end
end
+
+ context 'when topics filter is provided' do
+ let(:filters) { { topics: %w(ruby) } }
+
+ it 'returns matching project' do
+ is_expected.to contain_exactly(project)
+ end
+ end
end
end
@@ -138,6 +146,14 @@ RSpec.describe Resolvers::ProjectsResolver do
is_expected.to match_array([named_project3, named_project1, named_project2])
end
end
+
+ context 'when topics filter is provided' do
+ let(:filters) { { topics: %w(ruby) } }
+
+ it 'returns matching project' do
+ is_expected.to contain_exactly(project)
+ end
+ end
end
end
end
diff --git a/spec/lib/gitlab/usage/metric_definition_spec.rb b/spec/lib/gitlab/usage/metric_definition_spec.rb
index e6b9351858b..1ed639b2f7d 100644
--- a/spec/lib/gitlab/usage/metric_definition_spec.rb
+++ b/spec/lib/gitlab/usage/metric_definition_spec.rb
@@ -44,7 +44,7 @@ RSpec.describe Gitlab::Usage::MetricDefinition do
end
it 'has all definitons valid' do
- expect { described_class.definitions }.not_to raise_error(Gitlab::Usage::Metric::InvalidMetricError)
+ expect { described_class.definitions }.not_to raise_error
end
describe '#key' do
diff --git a/spec/models/ci/build_dependencies_spec.rb b/spec/models/ci/build_dependencies_spec.rb
index d00d88ae397..331ba9953ca 100644
--- a/spec/models/ci/build_dependencies_spec.rb
+++ b/spec/models/ci/build_dependencies_spec.rb
@@ -187,15 +187,6 @@ RSpec.describe Ci::BuildDependencies do
it { expect(cross_pipeline_deps).to contain_exactly(upstream_job) }
it { is_expected.to be_valid }
end
-
- context 'when feature flag `ci_cross_pipeline_artifacts_download` is disabled' do
- before do
- stub_feature_flags(ci_cross_pipeline_artifacts_download: false)
- end
-
- it { expect(cross_pipeline_deps).to be_empty }
- it { is_expected.to be_valid }
- end
end
context 'when same job names exist in other pipelines in the hierarchy' do
diff --git a/spec/models/integration_spec.rb b/spec/models/integration_spec.rb
index d6dc2aa931a..696897188b2 100644
--- a/spec/models/integration_spec.rb
+++ b/spec/models/integration_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe Integration do
describe 'validations' do
it { is_expected.to validate_presence_of(:type) }
+ it { is_expected.to validate_exclusion_of(:type).in_array(described_class::BASE_CLASSES) }
where(:project_id, :group_id, :template, :instance, :valid) do
1 | nil | false | false | true
diff --git a/spec/models/integrations/issue_tracker_spec.rb b/spec/models/integrations/base_issue_tracker_spec.rb
index f030d04baa5..4b2bd355f9b 100644
--- a/spec/models/integrations/issue_tracker_spec.rb
+++ b/spec/models/integrations/base_issue_tracker_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Integrations::IssueTracker do
+RSpec.describe Integrations::BaseIssueTracker do
describe 'Validations' do
let(:project) { create :project }