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

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-08-06 15:10:15 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-06 15:10:15 +0300
commit14b5bf2629cf6cd77fe9bb6108d4a6dc0963f6c1 (patch)
tree90544438a276b7cd3c9b24ab92f46927ef768185
parentff490fb7dfd0f4fedbd45b9079fcfa13ade3144c (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--GITALY_SERVER_VERSION2
-rw-r--r--app/assets/images/dev_ops_report_overview.svg (renamed from app/views/shared/icons/_dev_ops_report_overview.svg)0
-rw-r--r--app/assets/javascripts/analytics/devops_report/components/devops_score.vue83
-rw-r--r--app/assets/javascripts/analytics/devops_report/components/devops_score_callout.vue55
-rw-r--r--app/assets/javascripts/analytics/devops_report/constants.js11
-rw-r--r--app/assets/javascripts/analytics/devops_report/devops_score.js8
-rw-r--r--app/assets/javascripts/filtered_search/admin_runners_filtered_search_token_keys.js36
-rw-r--r--app/assets/javascripts/packages_and_registries/package_registry/components/details/app.vue10
-rw-r--r--app/assets/javascripts/packages_and_registries/package_registry/components/details/npm_installation.vue84
-rw-r--r--app/assets/javascripts/packages_and_registries/package_registry/components/details/nuget_installation.vue37
-rw-r--r--app/assets/javascripts/packages_and_registries/package_registry/components/details/pypi_installation.vue42
-rw-r--r--app/assets/javascripts/packages_and_registries/package_registry/constants.js3
-rw-r--r--app/assets/javascripts/pages/admin/runners/index/index.js16
-rw-r--r--app/assets/javascripts/repository/components/breadcrumbs.vue3
-rw-r--r--app/controllers/admin/runners_controller.rb8
-rw-r--r--app/models/concerns/each_batch.rb6
-rw-r--r--app/models/integrations/datadog.rb14
-rw-r--r--app/views/admin/dev_ops_report/_callout.html.haml13
-rw-r--r--app/views/admin/dev_ops_report/_report.html.haml5
-rw-r--r--app/views/admin/runners/_runner.html.haml80
-rw-r--r--app/views/admin/runners/index.html.haml138
-rw-r--r--app/views/groups/runners/_settings.html.haml2
-rw-r--r--app/views/groups/runners/_sort_dropdown.html.haml (renamed from app/views/admin/runners/_sort_dropdown.html.haml)1
-rw-r--r--config/feature_flags/development/runner_list_view_vue_ui.yml8
-rw-r--r--config/feature_flags/development/similarity_search.yml8
-rw-r--r--config/metrics/counts_28d/20210201124930_deployments.yml3
-rw-r--r--config/metrics/counts_28d/20210216174910_analytics_unique_visits_for_any_target_monthly.yml8
-rw-r--r--config/metrics/counts_28d/20210216174933_p_analytics_pipelines_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216174941_p_analytics_valuestream_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216174956_i_analytics_cohorts_monthly.yml5
-rw-r--r--config/metrics/counts_28d/20210216175000_i_analytics_dev_ops_score_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216175004_g_analytics_merge_request_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175012_i_analytics_instance_statistics_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216175016_analytics_total_unique_counts_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216175055_merge_requests.yml1
-rw-r--r--config/metrics/counts_28d/20210216175057_projects_with_disable_overriding_approvers_per_merge_request.yml1
-rw-r--r--config/metrics/counts_28d/20210216175059_projects_without_disable_overriding_approvers_per_merge_request.yml1
-rw-r--r--config/metrics/counts_28d/20210216175101_merge_requests_users.yml3
-rw-r--r--config/metrics/counts_28d/20210216175109_suggestions.yml1
-rw-r--r--config/metrics/counts_28d/20210216175113_merge_request_action_monthly.yml9
-rw-r--r--config/metrics/counts_28d/20210216175117_i_source_code_code_intelligence_monthly.yml9
-rw-r--r--config/metrics/counts_28d/20210216175120_i_code_review_mr_diffs_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175124_i_code_review_user_single_file_diffs_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175128_i_code_review_mr_single_file_diffs_monthly.yml10
-rw-r--r--config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175136_i_code_review_user_close_mr_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175140_i_code_review_user_reopen_mr_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175144_i_code_review_user_merge_mr_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175148_i_code_review_user_create_mr_comment_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175152_i_code_review_user_edit_mr_comment_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175156_i_code_review_user_remove_mr_comment_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216175405_clusters_applications_cert_managers.yml3
-rw-r--r--config/metrics/counts_28d/20210216175407_clusters_applications_helm.yml3
-rw-r--r--config/metrics/counts_28d/20210216175409_clusters_applications_ingress.yml3
-rw-r--r--config/metrics/counts_28d/20210216175411_clusters_applications_knative.yml3
-rw-r--r--config/metrics/counts_28d/20210216175413_clusters_management_project.yml1
-rw-r--r--config/metrics/counts_28d/20210216175415_clusters_disabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175417_clusters_enabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175419_clusters_platforms_gke.yml3
-rw-r--r--config/metrics/counts_28d/20210216175420_clusters_platforms_eks.yml3
-rw-r--r--config/metrics/counts_28d/20210216175422_clusters_platforms_user.yml3
-rw-r--r--config/metrics/counts_28d/20210216175424_instance_clusters_disabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175426_instance_clusters_enabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175428_group_clusters_disabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175430_group_clusters_enabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175432_project_clusters_disabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175434_project_clusters_enabled.yml3
-rw-r--r--config/metrics/counts_28d/20210216175542_ci_builds.yml2
-rw-r--r--config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml1
-rw-r--r--config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml1
-rw-r--r--config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml1
-rw-r--r--config/metrics/counts_28d/20210216175550_ci_pipeline_config_repository.yml1
-rw-r--r--config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml1
-rw-r--r--config/metrics/counts_28d/20210216175554_ci_pipelines.yml6
-rw-r--r--config/metrics/counts_28d/20210216175556_ci_triggers.yml1
-rw-r--r--config/metrics/counts_28d/20210216175616_user_dast_jobs.yml5
-rw-r--r--config/metrics/counts_28d/20210216175618_dast_pipeline.yml3
-rw-r--r--config/metrics/counts_28d/20210216180308_personal_snippets.yml1
-rw-r--r--config/metrics/counts_28d/20210216180310_project_snippets.yml1
-rw-r--r--config/metrics/counts_28d/20210216180312_snippets.yml1
-rw-r--r--config/metrics/counts_28d/20210216180317_snippets.yml3
-rw-r--r--config/metrics/counts_28d/20210216180319_action_monthly_active_users_web_ide_edit.yml3
-rw-r--r--config/metrics/counts_28d/20210216180321_action_monthly_active_users_sfe_edit.yml1
-rw-r--r--config/metrics/counts_28d/20210216180323_action_monthly_active_users_snippet_editor_edit.yml1
-rw-r--r--config/metrics/counts_28d/20210216180325_action_monthly_active_users_sse_edit.yml1
-rw-r--r--config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml3
-rw-r--r--config/metrics/counts_28d/20210216180330_g_edit_by_web_ide_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180334_g_edit_by_sfe_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180338_g_edit_by_snippet_ide_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180341_ide_edit_total_unique_counts_monthly.yml9
-rw-r--r--config/metrics/counts_28d/20210216180355_user_api_fuzzing_jobs.yml5
-rw-r--r--config/metrics/counts_28d/20210216180424_i_search_total_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180431_search_total_unique_counts_monthly.yml8
-rw-r--r--config/metrics/counts_28d/20210216180509_incident_management_alerts_total_unique_counts.yml1
-rw-r--r--config/metrics/counts_28d/20210216180511_incident_management_incidents_total_unique_counts.yml1
-rw-r--r--config/metrics/counts_28d/20210216180524_projects_with_incidents.yml1
-rw-r--r--config/metrics/counts_28d/20210216180526_projects_with_alert_incidents.yml1
-rw-r--r--config/metrics/counts_28d/20210216180530_incident_management_alert_status_changed_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180533_incident_management_alert_assigned_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180537_incident_management_alert_todo_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180541_incident_management_incident_created_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180545_incident_management_incident_reopened_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180548_incident_management_incident_closed_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180552_incident_management_incident_assigned_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180556_incident_management_incident_todo_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180559_incident_management_incident_comment_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180603_incident_management_incident_zoom_meeting_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180611_incident_management_incident_relate_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180614_incident_management_incident_unrelate_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180618_incident_management_incident_change_confidential_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216180622_incident_management_total_unique_counts_monthly.yml6
-rw-r--r--config/metrics/counts_28d/20210216180625_incident_management_alert_create_incident_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml1
-rw-r--r--config/metrics/counts_28d/20210216180745_action_monthly_active_users_design_management.yml2
-rw-r--r--config/metrics/counts_28d/20210216180747_action_monthly_active_users_wiki_repo.yml1
-rw-r--r--config/metrics/counts_28d/20210216180814_events.yml10
-rw-r--r--config/metrics/counts_28d/20210216180816_groups.yml1
-rw-r--r--config/metrics/counts_28d/20210216180818_users_created.yml1
-rw-r--r--config/metrics/counts_28d/20210216180955_projects_with_prometheus_alerts.yml13
-rw-r--r--config/metrics/counts_28d/20210216180956_clusters.yml13
-rw-r--r--config/metrics/counts_28d/20210216180958_clusters_applications_prometheus.yml13
-rw-r--r--config/metrics/counts_28d/20210216181000_operations_dashboard_default_dashboard.yml13
-rw-r--r--config/metrics/counts_28d/20210216181002_projects_with_tracing_enabled.yml13
-rw-r--r--config/metrics/counts_28d/20210216181004_projects_with_error_tracking_enabled.yml13
-rw-r--r--config/metrics/counts_28d/20210216181006_operations_dashboard_users_with_projects_added.yml13
-rw-r--r--config/metrics/counts_28d/20210216181050_packages.yml1
-rw-r--r--config/metrics/counts_28d/20210216181057_projects_with_packages.yml1
-rw-r--r--config/metrics/counts_28d/20210216181139_issues.yml1
-rw-r--r--config/metrics/counts_28d/20210216181141_notes.yml7
-rw-r--r--config/metrics/counts_28d/20210216181143_projects.yml9
-rw-r--r--config/metrics/counts_28d/20210216181145_todos.yml9
-rw-r--r--config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml9
-rw-r--r--config/metrics/counts_28d/20210216181148_service_desk_issues.yml9
-rw-r--r--config/metrics/counts_28d/20210216181150_projects_jira_active.yml9
-rw-r--r--config/metrics/counts_28d/20210216181152_projects_jira_dvcs_cloud_active.yml9
-rw-r--r--config/metrics/counts_28d/20210216181154_projects_jira_dvcs_server_active.yml9
-rw-r--r--config/metrics/counts_28d/20210216181158_epics.yml11
-rw-r--r--config/metrics/counts_28d/20210216181200_label_lists.yml13
-rw-r--r--config/metrics/counts_28d/20210216181304_g_project_management_issue_title_changed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181308_g_project_management_issue_description_changed_monthly.yml5
-rw-r--r--config/metrics/counts_28d/20210216181311_g_project_management_issue_assignee_changed_monthly.yml12
-rw-r--r--config/metrics/counts_28d/20210216181315_g_project_management_issue_made_confidential_monthly.yml5
-rw-r--r--config/metrics/counts_28d/20210216181319_g_project_management_issue_made_visible_monthly.yml5
-rw-r--r--config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216181326_g_project_management_issue_closed_monthly.yml5
-rw-r--r--config/metrics/counts_28d/20210216181330_g_project_management_issue_reopened_monthly.yml5
-rw-r--r--config/metrics/counts_28d/20210216181334_g_project_management_issue_label_changed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181337_g_project_management_issue_milestone_changed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181348_g_project_management_issue_cross_referenced_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181352_g_project_management_issue_moved_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181356_g_project_management_issue_related_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181400_g_project_management_issue_unrelated_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181403_g_project_management_issue_marked_as_duplicate_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181407_g_project_management_issue_locked_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181411_g_project_management_issue_unlocked_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181424_g_project_management_issue_designs_added_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181427_g_project_management_issue_designs_modified_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181431_g_project_management_issue_designs_removed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181435_g_project_management_issue_due_date_changed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181438_g_project_management_issue_time_estimate_changed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181442_g_project_management_issue_time_spent_changed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181446_g_project_management_issue_comment_added_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181450_g_project_management_issue_comment_edited_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181453_g_project_management_issue_comment_removed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181501_g_project_management_issue_cloned_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216181504_issues_edit_total_unique_counts_monthly.yml4
-rw-r--r--config/metrics/counts_28d/20210216181923_successful_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216181924_failed_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216181935_deployments.yml3
-rw-r--r--config/metrics/counts_28d/20210216181937_failed_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216181939_releases.yml4
-rw-r--r--config/metrics/counts_28d/20210216181941_successful_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216181951_clusters_applications_runner.yml3
-rw-r--r--config/metrics/counts_28d/20210216181956_user_unique_users_all_secure_scanners.yml10
-rw-r--r--config/metrics/counts_28d/20210216182034_deploy_keys.yml1
-rw-r--r--config/metrics/counts_28d/20210216182036_keys.yml1
-rw-r--r--config/metrics/counts_28d/20210216182038_remote_mirrors.yml1
-rw-r--r--config/metrics/counts_28d/20210216182040_action_monthly_active_users_project_repo.yml4
-rw-r--r--config/metrics/counts_28d/20210216182041_action_monthly_active_users_git_write.yml1
-rw-r--r--config/metrics/counts_28d/20210216182051_protected_branches.yml1
-rw-r--r--config/metrics/counts_28d/20210216182102_wiki_action_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216182106_design_action_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216182109_project_action_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216182125_user_sast_jobs.yml3
-rw-r--r--config/metrics/counts_28d/20210216182127_user_secret_detection_jobs.yml3
-rw-r--r--config/metrics/counts_28d/20210216182129_sast_pipeline.yml1
-rw-r--r--config/metrics/counts_28d/20210216182131_secret_detection_pipeline.yml1
-rw-r--r--config/metrics/counts_28d/20210216182136_i_testing_test_case_parsed_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216183159_projects_with_alerts_created.yml13
-rw-r--r--config/metrics/counts_28d/20210216183627_omniauth_providers.yml1
-rw-r--r--config/metrics/counts_28d/20210216183634_standard.yml1
-rw-r--r--config/metrics/counts_28d/20210216183636_google_oauth2.yml1
-rw-r--r--config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml3
-rw-r--r--config/metrics/counts_28d/20210216183640_gitlab.yml1
-rw-r--r--config/metrics/counts_28d/20210216183712_total.yml1
-rw-r--r--config/metrics/counts_28d/20210216183714_gitlab_project.yml1
-rw-r--r--config/metrics/counts_28d/20210216183716_gitlab.yml1
-rw-r--r--config/metrics/counts_28d/20210216183718_github.yml1
-rw-r--r--config/metrics/counts_28d/20210216183720_bitbucket.yml1
-rw-r--r--config/metrics/counts_28d/20210216183722_bitbucket_server.yml1
-rw-r--r--config/metrics/counts_28d/20210216183724_gitea.yml1
-rw-r--r--config/metrics/counts_28d/20210216183726_git.yml1
-rw-r--r--config/metrics/counts_28d/20210216183728_manifest.yml1
-rw-r--r--config/metrics/counts_28d/20210216183730_jira.yml1
-rw-r--r--config/metrics/counts_28d/20210216183731_fogbugz.yml1
-rw-r--r--config/metrics/counts_28d/20210216183733_phabricator.yml1
-rw-r--r--config/metrics/counts_28d/20210216183735_csv.yml1
-rw-r--r--config/metrics/counts_28d/20210216183737_groups_imported.yml1
-rw-r--r--config/metrics/counts_28d/20210216183817_user_coverage_fuzzing_jobs.yml5
-rw-r--r--config/metrics/counts_28d/20210216183826_sast_scans.yml3
-rw-r--r--config/metrics/counts_28d/20210216183830_container_scanning_scans.yml3
-rw-r--r--config/metrics/counts_28d/20210216183832_dast_scans.yml3
-rw-r--r--config/metrics/counts_28d/20210216183834_secret_detection_scans.yml3
-rw-r--r--config/metrics/counts_28d/20210216183836_coverage_fuzzing_scans.yml3
-rw-r--r--config/metrics/counts_28d/20210216183838_api_fuzzing_scans.yml3
-rw-r--r--config/metrics/counts_28d/20210216184024_g_edit_by_sse_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216184047_git_write_action_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216184140_testing_total_unique_counts_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184255_i_snippets_show_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184259_p_terraform_state_api_unique_users_monthly.yml4
-rw-r--r--config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184353_i_code_review_user_create_review_note_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216184357_i_code_review_user_publish_review_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216184401_i_code_review_user_create_multiline_mr_comment_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216184405_i_code_review_user_edit_multiline_mr_comment_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216184446_i_code_review_user_vs_code_api_request_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216184454_code_review_total_unique_counts_monthly.yml7
-rw-r--r--config/metrics/counts_28d/20210216184517_p_ci_templates_5_min_production_app_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184523_p_ci_templates_auto_devops_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184534_p_ci_templates_auto_devops_build_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184538_p_ci_templates_auto_devops_deploy_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184546_p_ci_templates_security_sast_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184551_p_ci_templates_security_secret_detection_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184555_p_ci_templates_terraform_base_latest_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20210216184830_i_package_maven_deploy_token_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184834_i_package_npm_deploy_token_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184838_i_package_nuget_deploy_token_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184842_i_package_pypi_deploy_token_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20210216184850_deploy_token_packages_total_unique_counts_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184854_i_package_composer_user_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184858_i_package_conan_user_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184917_i_package_maven_user_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184921_i_package_npm_user_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184925_i_package_nuget_user_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184929_i_package_pypi_user_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210216184937_user_packages_total_unique_counts_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210216184957_ecosystem_total_unique_counts_monthly.yml3
-rw-r--r--config/metrics/counts_28d/20210301144228_o_pipeline_authoring_unique_users_pushing_mr_ciconfigfile_monthly.yml1
-rw-r--r--config/metrics/counts_28d/20210427102618_code_review_category_monthly_active_users.yml15
-rw-r--r--config/metrics/counts_28d/20210427103010_code_review_extension_category_monthly_active_users.yml15
-rw-r--r--config/metrics/counts_28d/20210427103119_code_review_group_monthly_active_users.yml15
-rw-r--r--config/metrics/counts_28d/20210427213346_geo_secondary_web_oauth_users.yml17
-rw-r--r--doc/api/groups.md7
-rw-r--r--doc/development/usage_ping/dictionary.md2
-rw-r--r--lib/api/groups.rb2
-rw-r--r--lib/gitlab/quick_actions/issuable_actions.rb10
-rw-r--r--locale/gitlab.pot3
-rw-r--r--spec/controllers/admin/runners_controller_spec.rb33
-rw-r--r--spec/features/admin/admin_dev_ops_report_spec.rb4
-rw-r--r--spec/frontend/admin/analytics/devops_score/components/devops_score_callout_spec.js67
-rw-r--r--spec/frontend/admin/analytics/devops_score/components/devops_score_spec.js10
-rw-r--r--spec/frontend/admin/analytics/devops_score/mock_data.js2
-rw-r--r--spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap4
-rw-r--r--spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap4
-rw-r--r--spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap7
-rw-r--r--spec/frontend/packages_and_registries/package_registry/components/details/app_spec.js15
-rw-r--r--spec/frontend/packages_and_registries/package_registry/components/details/npm_installation_spec.js67
-rw-r--r--spec/frontend/packages_and_registries/package_registry/components/details/nuget_installation_spec.js48
-rw-r--r--spec/frontend/packages_and_registries/package_registry/components/details/pypi_installation_spec.js58
-rw-r--r--spec/frontend/repository/components/breadcrumbs_spec.js29
-rw-r--r--spec/lib/gitlab/data_builder/pipeline_spec.rb2
-rw-r--r--spec/models/concerns/each_batch_spec.rb13
-rw-r--r--spec/models/hooks/system_hook_spec.rb15
-rw-r--r--spec/models/hooks/web_hook_spec.rb13
-rw-r--r--spec/models/integrations/datadog_spec.rb28
-rw-r--r--spec/requests/api/groups_spec.rb17
-rw-r--r--spec/services/ci/create_pipeline_service/cross_project_pipeline_spec.rb6
-rw-r--r--spec/services/quick_actions/interpret_service_spec.rb13
279 files changed, 1122 insertions, 858 deletions
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index a7802efdf73..0fcdcbd4e2a 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-59dfc252c79b7f9d290a3ede54c9ba8a3b12d4bd
+70f304398220d95c05dc109e122ff5e806640303
diff --git a/app/views/shared/icons/_dev_ops_report_overview.svg b/app/assets/images/dev_ops_report_overview.svg
index 2f31113bad7..2f31113bad7 100644
--- a/app/views/shared/icons/_dev_ops_report_overview.svg
+++ b/app/assets/images/dev_ops_report_overview.svg
diff --git a/app/assets/javascripts/analytics/devops_report/components/devops_score.vue b/app/assets/javascripts/analytics/devops_report/components/devops_score.vue
index 1a3289ffb75..be38b32c119 100644
--- a/app/assets/javascripts/analytics/devops_report/components/devops_score.vue
+++ b/app/assets/javascripts/analytics/devops_report/components/devops_score.vue
@@ -2,6 +2,7 @@
import { GlBadge, GlTable, GlLink, GlEmptyState } from '@gitlab/ui';
import { GlSingleStat } from '@gitlab/ui/dist/charts';
import { sprintf, s__ } from '~/locale';
+import DevopsScoreCallout from './devops_score_callout.vue';
const defaultHeaderAttrs = {
thClass: 'gl-bg-white!',
@@ -15,6 +16,7 @@ export default {
GlSingleStat,
GlLink,
GlEmptyState,
+ DevopsScoreCallout,
},
inject: {
devopsScoreMetrics: {
@@ -65,46 +67,49 @@ export default {
};
</script>
<template>
- <gl-empty-state
- v-if="isEmpty"
- :title="__('Data is still calculating...')"
- :svg-path="noDataImagePath"
- >
- <template #description>
- <p class="gl-mb-0">{{ __('It may be several days before you see feature usage data.') }}</p>
- <gl-link :href="devopsReportDocsPath">{{
- __('See example DevOps Score page in our documentation.')
- }}</gl-link>
- </template>
- </gl-empty-state>
- <div v-else data-testid="devops-score-app">
- <div class="gl-text-gray-400 gl-my-4" data-testid="devops-score-note-text">
- {{ titleHelperText }}
- </div>
- <gl-single-stat
- unit="%"
- size="sm"
- :title="s__('DevopsReport|Your score')"
- :should-animate="true"
- :value="devopsScoreMetrics.averageScore.value"
- :meta-icon="devopsScoreMetrics.averageScore.scoreLevel.icon"
- :meta-text="devopsScoreMetrics.averageScore.scoreLevel.label"
- :variant="devopsScoreMetrics.averageScore.scoreLevel.variant"
- />
- <gl-table
- :fields="$options.tableHeaderFields"
- :items="devopsScoreMetrics.cards"
- thead-class="gl-border-t-0 gl-border-b-solid gl-border-b-1 gl-border-b-gray-100"
- stacked="sm"
+ <div data-testid="devops-score-container">
+ <devops-score-callout />
+ <gl-empty-state
+ v-if="isEmpty"
+ :title="__('Data is still calculating...')"
+ :svg-path="noDataImagePath"
>
- <template #cell(usage)="{ item }">
- <div data-testid="usageCol">
- <span>{{ item.usage }}</span>
- <gl-badge :variant="item.scoreLevel.variant" size="sm" class="gl-ml-1">{{
- item.scoreLevel.label
- }}</gl-badge>
- </div>
+ <template #description>
+ <p class="gl-mb-0">{{ __('It may be several days before you see feature usage data.') }}</p>
+ <gl-link :href="devopsReportDocsPath">{{
+ __('See example DevOps Score page in our documentation.')
+ }}</gl-link>
</template>
- </gl-table>
+ </gl-empty-state>
+ <div v-else data-testid="devops-score-app">
+ <div class="gl-text-gray-400 gl-my-4" data-testid="devops-score-note-text">
+ {{ titleHelperText }}
+ </div>
+ <gl-single-stat
+ unit="%"
+ size="sm"
+ :title="s__('DevopsReport|Your score')"
+ :should-animate="true"
+ :value="devopsScoreMetrics.averageScore.value"
+ :meta-icon="devopsScoreMetrics.averageScore.scoreLevel.icon"
+ :meta-text="devopsScoreMetrics.averageScore.scoreLevel.label"
+ :variant="devopsScoreMetrics.averageScore.scoreLevel.variant"
+ />
+ <gl-table
+ :fields="$options.tableHeaderFields"
+ :items="devopsScoreMetrics.cards"
+ thead-class="gl-border-t-0 gl-border-b-solid gl-border-b-1 gl-border-b-gray-100"
+ stacked="sm"
+ >
+ <template #cell(usage)="{ item }">
+ <div data-testid="usageCol">
+ <span>{{ item.usage }}</span>
+ <gl-badge :variant="item.scoreLevel.variant" size="sm" class="gl-ml-1">{{
+ item.scoreLevel.label
+ }}</gl-badge>
+ </div>
+ </template>
+ </gl-table>
+ </div>
</div>
</template>
diff --git a/app/assets/javascripts/analytics/devops_report/components/devops_score_callout.vue b/app/assets/javascripts/analytics/devops_report/components/devops_score_callout.vue
new file mode 100644
index 00000000000..e594b4e360a
--- /dev/null
+++ b/app/assets/javascripts/analytics/devops_report/components/devops_score_callout.vue
@@ -0,0 +1,55 @@
+<script>
+import { GlBanner } from '@gitlab/ui';
+import { parseBoolean, getCookie, setCookie } from '~/lib/utils/common_utils';
+import {
+ INTRO_COOKIE_KEY,
+ INTRO_BANNER_TITLE,
+ INTRO_BANNER_BODY,
+ INTRO_BANNER_ACTION_TEXT,
+} from '../constants';
+
+export default {
+ name: 'DevopsScoreCallout',
+ components: {
+ GlBanner,
+ },
+ inject: {
+ devopsReportDocsPath: {
+ default: '',
+ },
+ devopsScoreIntroImagePath: {
+ default: '',
+ },
+ },
+ data() {
+ return {
+ bannerDismissed: parseBoolean(getCookie(INTRO_COOKIE_KEY)),
+ };
+ },
+ i18n: {
+ title: INTRO_BANNER_TITLE,
+ body: INTRO_BANNER_BODY,
+ action: INTRO_BANNER_ACTION_TEXT,
+ },
+ methods: {
+ dismissBanner() {
+ setCookie(INTRO_COOKIE_KEY, 'true');
+ this.bannerDismissed = true;
+ },
+ },
+};
+</script>
+<template>
+ <gl-banner
+ v-if="!bannerDismissed"
+ class="gl-mt-3"
+ variant="introduction"
+ :title="$options.i18n.title"
+ :button-text="$options.i18n.action"
+ :button-link="devopsReportDocsPath"
+ :svg-path="devopsScoreIntroImagePath"
+ @close="dismissBanner"
+ >
+ <p>{{ $options.i18n.body }}</p>
+ </gl-banner>
+</template>
diff --git a/app/assets/javascripts/analytics/devops_report/constants.js b/app/assets/javascripts/analytics/devops_report/constants.js
new file mode 100644
index 00000000000..b395d7eb464
--- /dev/null
+++ b/app/assets/javascripts/analytics/devops_report/constants.js
@@ -0,0 +1,11 @@
+import { __ } from '~/locale';
+
+export const INTRO_COOKIE_KEY = 'dev_ops_report_intro_callout_dismissed';
+
+export const INTRO_BANNER_TITLE = __('Introducing Your DevOps Report');
+
+export const INTRO_BANNER_BODY = __(
+ 'Your DevOps Report gives an overview of how you are using GitLab from a feature perspective. Use it to view how you compare with other organizations.',
+);
+
+export const INTRO_BANNER_ACTION_TEXT = __('Read more');
diff --git a/app/assets/javascripts/analytics/devops_report/devops_score.js b/app/assets/javascripts/analytics/devops_report/devops_score.js
index 18f7cf0c3ab..20e9fc776bc 100644
--- a/app/assets/javascripts/analytics/devops_report/devops_score.js
+++ b/app/assets/javascripts/analytics/devops_report/devops_score.js
@@ -6,7 +6,12 @@ export default () => {
if (!el) return false;
- const { devopsScoreMetrics, devopsReportDocsPath, noDataImagePath } = el.dataset;
+ const {
+ devopsScoreMetrics,
+ devopsReportDocsPath,
+ noDataImagePath,
+ devopsScoreIntroImagePath,
+ } = el.dataset;
return new Vue({
el,
@@ -14,6 +19,7 @@ export default () => {
devopsScoreMetrics: JSON.parse(devopsScoreMetrics),
devopsReportDocsPath,
noDataImagePath,
+ devopsScoreIntroImagePath,
},
render(h) {
return h(DevopsScore);
diff --git a/app/assets/javascripts/filtered_search/admin_runners_filtered_search_token_keys.js b/app/assets/javascripts/filtered_search/admin_runners_filtered_search_token_keys.js
deleted file mode 100644
index 42d0fbacca0..00000000000
--- a/app/assets/javascripts/filtered_search/admin_runners_filtered_search_token_keys.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { __ } from '~/locale';
-import FilteredSearchTokenKeys from './filtered_search_token_keys';
-
-const tokenKeys = [
- {
- formattedKey: __('Status'),
- key: 'status',
- type: 'string',
- param: 'status',
- symbol: '',
- icon: 'messages',
- tag: 'status',
- },
- {
- formattedKey: __('Type'),
- key: 'type',
- type: 'string',
- param: 'type',
- symbol: '',
- icon: 'cube',
- tag: 'type',
- },
- {
- formattedKey: __('Tag'),
- key: 'tag',
- type: 'array',
- param: 'name[]',
- symbol: '~',
- icon: 'tag',
- tag: '~tag',
- },
-];
-
-const AdminRunnersFilteredSearchTokenKeys = new FilteredSearchTokenKeys(tokenKeys);
-
-export default AdminRunnersFilteredSearchTokenKeys;
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/details/app.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/details/app.vue
index ae5558111e6..707f186d4da 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/components/details/app.vue
+++ b/app/assets/javascripts/packages_and_registries/package_registry/components/details/app.vue
@@ -20,12 +20,12 @@ import { numberToHumanSize } from '~/lib/utils/number_utils';
import { objectToQuery } from '~/lib/utils/url_utility';
import { s__, __ } from '~/locale';
// import DependencyRow from '~/packages/details/components/dependency_row.vue';
-// import InstallationCommands from '~/packages/details/components/installation_commands.vue';
// import PackageFiles from '~/packages/details/components/package_files.vue';
// import PackageListRow from '~/packages/shared/components/package_list_row.vue';
import PackagesListLoader from '~/packages/shared/components/packages_list_loader.vue';
import { packageTypeToTrackCategory } from '~/packages/shared/utils';
import AdditionalMetadata from '~/packages_and_registries/package_registry/components/details/additional_metadata.vue';
+import InstallationCommands from '~/packages_and_registries/package_registry/components/details/installation_commands.vue';
import PackageHistory from '~/packages_and_registries/package_registry/components/details/package_history.vue';
import {
PACKAGE_TYPE_NUGET,
@@ -62,7 +62,7 @@ export default {
// DependencyRow,
PackageHistory,
AdditionalMetadata,
- // InstallationCommands,
+ InstallationCommands,
// PackageFiles,
},
directives: {
@@ -240,11 +240,7 @@ export default {
<div v-if="!isLoading" data-qa-selector="package_information_content">
<package-history :package-entity="packageEntity" :project-name="projectName" />
- <!-- <installation-commands
- :package-entity="packageEntity"
- :npm-path="npmPath"
- :npm-help-path="npmHelpPath"
- /> -->
+ <installation-commands :package-entity="packageEntity" />
<additional-metadata :package-entity="packageEntity" />
</div>
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/details/npm_installation.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/details/npm_installation.vue
index c178d3e97e9..47081e23318 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/components/details/npm_installation.vue
+++ b/app/assets/javascripts/packages_and_registries/package_registry/components/details/npm_installation.vue
@@ -1,9 +1,17 @@
<script>
import { GlLink, GlSprintf } from '@gitlab/ui';
-import { mapGetters, mapState } from 'vuex';
import { s__ } from '~/locale';
-import { NpmManager, TrackingActions, TrackingLabels } from '~/packages/details/constants';
+
import InstallationTitle from '~/packages_and_registries/package_registry/components/details/installation_title.vue';
+import {
+ TRACKING_ACTION_COPY_NPM_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_NPM_SETUP_COMMAND,
+ TRACKING_ACTION_COPY_YARN_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_YARN_SETUP_COMMAND,
+ TRACKING_LABEL_CODE_INSTRUCTION,
+ NPM_PACKAGE_MANAGER,
+ YARN_PACKAGE_MANAGER,
+} from '~/packages_and_registries/package_registry/constants';
import CodeInstruction from '~/vue_shared/components/registry/code_instruction.vue';
export default {
@@ -14,40 +22,70 @@ export default {
GlLink,
GlSprintf,
},
+ inject: ['npmHelpPath', 'npmPath'],
+ props: {
+ packageEntity: {
+ type: Object,
+ required: true,
+ },
+ },
data() {
return {
- instructionType: 'npm',
+ instructionType: NPM_PACKAGE_MANAGER,
};
},
computed: {
- ...mapState(['npmHelpPath']),
- ...mapGetters(['npmInstallationCommand', 'npmSetupCommand']),
npmCommand() {
- return this.npmInstallationCommand(NpmManager.NPM);
+ return this.npmInstallationCommand(NPM_PACKAGE_MANAGER);
},
npmSetup() {
- return this.npmSetupCommand(NpmManager.NPM);
+ return this.npmSetupCommand(NPM_PACKAGE_MANAGER);
},
yarnCommand() {
- return this.npmInstallationCommand(NpmManager.YARN);
+ return this.npmInstallationCommand(YARN_PACKAGE_MANAGER);
},
yarnSetupCommand() {
- return this.npmSetupCommand(NpmManager.YARN);
+ return this.npmSetupCommand(YARN_PACKAGE_MANAGER);
},
showNpm() {
- return this.instructionType === 'npm';
+ return this.instructionType === NPM_PACKAGE_MANAGER;
+ },
+ },
+ methods: {
+ npmInstallationCommand(type) {
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ const instruction = type === NPM_PACKAGE_MANAGER ? 'npm i' : 'yarn add';
+
+ return `${instruction} ${this.packageEntity.name}`;
},
+ npmSetupCommand(type) {
+ const scope = this.packageEntity.name.substring(0, this.packageEntity.name.indexOf('/'));
+
+ if (type === NPM_PACKAGE_MANAGER) {
+ return `echo ${scope}:registry=${this.npmPath}/ >> .npmrc`;
+ }
+
+ return `echo \\"${scope}:registry\\" \\"${this.npmPath}/\\" >> .yarnrc`;
+ },
+ },
+ packageManagers: {
+ NPM_PACKAGE_MANAGER,
+ },
+ tracking: {
+ TRACKING_ACTION_COPY_NPM_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_NPM_SETUP_COMMAND,
+ TRACKING_ACTION_COPY_YARN_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_YARN_SETUP_COMMAND,
+ TRACKING_LABEL_CODE_INSTRUCTION,
},
i18n: {
helpText: s__(
'PackageRegistry|You may also need to setup authentication using an auth token. %{linkStart}See the documentation%{linkEnd} to find out more.',
),
},
- trackingActions: { ...TrackingActions },
- TrackingLabels,
installOptions: [
- { value: 'npm', label: s__('PackageRegistry|Show NPM commands') },
- { value: 'yarn', label: s__('PackageRegistry|Show Yarn commands') },
+ { value: NPM_PACKAGE_MANAGER, label: s__('PackageRegistry|Show NPM commands') },
+ { value: YARN_PACKAGE_MANAGER, label: s__('PackageRegistry|Show Yarn commands') },
],
};
</script>
@@ -55,7 +93,7 @@ export default {
<template>
<div>
<installation-title
- package-type="npm"
+ :package-type="$options.packageManagers.NPM_PACKAGE_MANAGER"
:options="$options.installOptions"
@change="instructionType = $event"
/>
@@ -64,16 +102,16 @@ export default {
v-if="showNpm"
:instruction="npmCommand"
:copy-text="s__('PackageRegistry|Copy npm command')"
- :tracking-action="$options.trackingActions.COPY_NPM_INSTALL_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_NPM_INSTALL_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<code-instruction
v-else
:instruction="yarnCommand"
:copy-text="s__('PackageRegistry|Copy yarn command')"
- :tracking-action="$options.trackingActions.COPY_YARN_INSTALL_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_YARN_INSTALL_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<h3 class="gl-font-lg">{{ __('Registry setup') }}</h3>
@@ -82,16 +120,16 @@ export default {
v-if="showNpm"
:instruction="npmSetup"
:copy-text="s__('PackageRegistry|Copy npm setup command')"
- :tracking-action="$options.trackingActions.COPY_NPM_SETUP_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_NPM_SETUP_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<code-instruction
v-else
:instruction="yarnSetupCommand"
:copy-text="s__('PackageRegistry|Copy yarn setup command')"
- :tracking-action="$options.trackingActions.COPY_YARN_SETUP_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_YARN_SETUP_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<gl-sprintf :message="$options.i18n.helpText">
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/details/nuget_installation.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/details/nuget_installation.vue
index 84493790b4d..2e9991b7be5 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/components/details/nuget_installation.vue
+++ b/app/assets/javascripts/packages_and_registries/package_registry/components/details/nuget_installation.vue
@@ -1,9 +1,12 @@
<script>
import { GlLink, GlSprintf } from '@gitlab/ui';
-import { mapGetters, mapState } from 'vuex';
import { s__ } from '~/locale';
-import { TrackingActions, TrackingLabels } from '~/packages/details/constants';
import InstallationTitle from '~/packages_and_registries/package_registry/components/details/installation_title.vue';
+import {
+ TRACKING_ACTION_COPY_NUGET_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_NUGET_SETUP_COMMAND,
+ TRACKING_LABEL_CODE_INSTRUCTION,
+} from '~/packages_and_registries/package_registry/constants';
import CodeInstruction from '~/vue_shared/components/registry/code_instruction.vue';
export default {
@@ -14,17 +17,31 @@ export default {
GlLink,
GlSprintf,
},
+ inject: ['nugetHelpPath', 'nugetPath'],
+ props: {
+ packageEntity: {
+ type: Object,
+ required: true,
+ },
+ },
computed: {
- ...mapState(['nugetHelpPath']),
- ...mapGetters(['nugetInstallationCommand', 'nugetSetupCommand']),
+ nugetInstallationCommand() {
+ return `nuget install ${this.packageEntity.name} -Source "GitLab"`;
+ },
+ nugetSetupCommand() {
+ return `nuget source Add -Name "GitLab" -Source "${this.nugetPath}" -UserName <your_username> -Password <your_token>`;
+ },
+ },
+ tracking: {
+ TRACKING_ACTION_COPY_NUGET_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_NUGET_SETUP_COMMAND,
+ TRACKING_LABEL_CODE_INSTRUCTION,
},
i18n: {
helpText: s__(
'PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}.',
),
},
- trackingActions: { ...TrackingActions },
- TrackingLabels,
installOptions: [{ value: 'nuget', label: s__('PackageRegistry|Show Nuget commands') }],
};
</script>
@@ -37,8 +54,8 @@ export default {
:label="s__('PackageRegistry|NuGet Command')"
:instruction="nugetInstallationCommand"
:copy-text="s__('PackageRegistry|Copy NuGet Command')"
- :tracking-action="$options.trackingActions.COPY_NUGET_INSTALL_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_NUGET_INSTALL_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<h3 class="gl-font-lg">{{ __('Registry setup') }}</h3>
@@ -46,8 +63,8 @@ export default {
:label="s__('PackageRegistry|Add NuGet Source')"
:instruction="nugetSetupCommand"
:copy-text="s__('PackageRegistry|Copy NuGet Setup Command')"
- :tracking-action="$options.trackingActions.COPY_NUGET_SETUP_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_NUGET_SETUP_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<gl-sprintf :message="$options.i18n.helpText">
<template #link="{ content }">
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/details/pypi_installation.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/details/pypi_installation.vue
index 21eba44a720..669adab9df6 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/components/details/pypi_installation.vue
+++ b/app/assets/javascripts/packages_and_registries/package_registry/components/details/pypi_installation.vue
@@ -1,9 +1,13 @@
<script>
import { GlLink, GlSprintf } from '@gitlab/ui';
-import { mapGetters, mapState } from 'vuex';
+
import { s__ } from '~/locale';
-import { TrackingActions, TrackingLabels } from '~/packages/details/constants';
import InstallationTitle from '~/packages_and_registries/package_registry/components/details/installation_title.vue';
+import {
+ TRACKING_ACTION_COPY_PIP_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_PYPI_SETUP_COMMAND,
+ TRACKING_LABEL_CODE_INSTRUCTION,
+} from '~/packages_and_registries/package_registry/constants';
import CodeInstruction from '~/vue_shared/components/registry/code_instruction.vue';
export default {
@@ -14,9 +18,29 @@ export default {
GlLink,
GlSprintf,
},
+ inject: ['pypiHelpPath', 'pypiPath', 'pypiSetupPath'],
+ props: {
+ packageEntity: {
+ type: Object,
+ required: true,
+ },
+ },
computed: {
- ...mapState(['pypiHelpPath']),
- ...mapGetters(['pypiPipCommand', 'pypiSetupCommand']),
+ pypiPipCommand() {
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ return `pip install ${this.packageEntity.name} --extra-index-url ${this.pypiPath}`;
+ },
+ pypiSetupCommand() {
+ return `[gitlab]
+repository = ${this.pypiSetupPath}
+username = __token__
+password = <your personal access token>`;
+ },
+ },
+ tracking: {
+ TRACKING_ACTION_COPY_PIP_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_PYPI_SETUP_COMMAND,
+ TRACKING_LABEL_CODE_INSTRUCTION,
},
i18n: {
setupText: s__(
@@ -26,8 +50,6 @@ export default {
'PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}.',
),
},
- trackingActions: { ...TrackingActions },
- TrackingLabels,
installOptions: [{ value: 'pypi', label: s__('PackageRegistry|Show PyPi commands') }],
};
</script>
@@ -41,8 +63,8 @@ export default {
:instruction="pypiPipCommand"
:copy-text="s__('PackageRegistry|Copy Pip command')"
data-testid="pip-command"
- :tracking-action="$options.trackingActions.COPY_PIP_INSTALL_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_PIP_INSTALL_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<h3 class="gl-font-lg">{{ __('Registry setup') }}</h3>
@@ -59,8 +81,8 @@ export default {
:copy-text="s__('PackageRegistry|Copy .pypirc content')"
data-testid="pypi-setup-content"
multiline
- :tracking-action="$options.trackingActions.COPY_PYPI_SETUP_COMMAND"
- :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION"
+ :tracking-action="$options.tracking.TRACKING_ACTION_COPY_PYPI_SETUP_COMMAND"
+ :tracking-label="$options.tracking.TRACKING_LABEL_CODE_INSTRUCTION"
/>
<gl-sprintf :message="$options.i18n.helpText">
<template #link="{ content }">
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/constants.js b/app/assets/javascripts/packages_and_registries/package_registry/constants.js
index 0008e5f0c98..c1de9e7a61e 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/constants.js
+++ b/app/assets/javascripts/packages_and_registries/package_registry/constants.js
@@ -83,3 +83,6 @@ export const PACKAGE_ERROR_STATUS = 'error';
export const PACKAGE_DEFAULT_STATUS = 'default';
export const PACKAGE_HIDDEN_STATUS = 'hidden';
export const PACKAGE_PROCESSING_STATUS = 'processing';
+
+export const NPM_PACKAGE_MANAGER = 'npm';
+export const YARN_PACKAGE_MANAGER = 'yarn';
diff --git a/app/assets/javascripts/pages/admin/runners/index/index.js b/app/assets/javascripts/pages/admin/runners/index/index.js
index 8e7861c300a..f83111b6385 100644
--- a/app/assets/javascripts/pages/admin/runners/index/index.js
+++ b/app/assets/javascripts/pages/admin/runners/index/index.js
@@ -1,17 +1,3 @@
-import AdminRunnersFilteredSearchTokenKeys from '~/filtered_search/admin_runners_filtered_search_token_keys';
-import { FILTERED_SEARCH } from '~/pages/constants';
-import initFilteredSearch from '~/pages/search/init_filtered_search';
-import { initInstallRunner } from '~/pages/shared/mount_runner_instructions';
import { initAdminRunners } from '~/runner/admin_runners';
-initFilteredSearch({
- page: FILTERED_SEARCH.ADMIN_RUNNERS,
- filteredSearchTokenKeys: AdminRunnersFilteredSearchTokenKeys,
- useDefaultState: true,
-});
-
-initInstallRunner();
-
-if (gon.features?.runnerListViewVueUi) {
- initAdminRunners();
-}
+initAdminRunners();
diff --git a/app/assets/javascripts/repository/components/breadcrumbs.vue b/app/assets/javascripts/repository/components/breadcrumbs.vue
index 0b8408643ac..db84e2b5912 100644
--- a/app/assets/javascripts/repository/components/breadcrumbs.vue
+++ b/app/assets/javascripts/repository/components/breadcrumbs.vue
@@ -247,7 +247,8 @@ export default {
return items;
},
renderAddToTreeDropdown() {
- return this.canCollaborate || this.canCreateMrFromFork;
+ const isBlobPath = this.$route.name === 'blobPath' || this.$route.name === 'blobPathDecoded';
+ return !isBlobPath && (this.canCollaborate || this.canCreateMrFromFork);
},
},
methods: {
diff --git a/app/controllers/admin/runners_controller.rb b/app/controllers/admin/runners_controller.rb
index d1c91d9617f..8c74352a179 100644
--- a/app/controllers/admin/runners_controller.rb
+++ b/app/controllers/admin/runners_controller.rb
@@ -4,19 +4,11 @@ class Admin::RunnersController < Admin::ApplicationController
include RunnerSetupScripts
before_action :runner, except: [:index, :tag_list, :runner_setup_scripts]
- before_action only: [:index] do
- push_frontend_feature_flag(:runner_list_view_vue_ui, current_user, default_enabled: :yaml)
- end
feature_category :runner
- NUMBER_OF_RUNNERS_PER_PAGE = 30
-
def index
- finder = Ci::RunnersFinder.new(current_user: current_user, params: params)
- @runners = finder.execute.page(params[:page]).per(NUMBER_OF_RUNNERS_PER_PAGE)
@active_runners_count = Ci::Runner.online.count
- @sort = finder.sort_key
end
def show
diff --git a/app/models/concerns/each_batch.rb b/app/models/concerns/each_batch.rb
index a59f00d73ec..443e1ab53b4 100644
--- a/app/models/concerns/each_batch.rb
+++ b/app/models/concerns/each_batch.rb
@@ -91,7 +91,11 @@ module EachBatch
# Any ORDER BYs are useless for this relation and can lead to less
# efficient UPDATE queries, hence we get rid of it.
- yield relation.except(:order), index
+ relation = relation.except(:order)
+
+ # Using unscoped is necessary to prevent leaking the current scope used by
+ # ActiveRecord to chain `each_batch` method.
+ unscoped { yield relation, index }
break unless stop
end
diff --git a/app/models/integrations/datadog.rb b/app/models/integrations/datadog.rb
index 8a356cf8abc..08cd451db94 100644
--- a/app/models/integrations/datadog.rb
+++ b/app/models/integrations/datadog.rb
@@ -129,14 +129,12 @@ module Integrations
end
def test(data)
- begin
- result = execute(data)
- return { success: false, result: result[:message] } if result[:http_status] != 200
- rescue StandardError => error
- return { success: false, result: error }
- end
-
- { success: true, result: result[:message] }
+ result = execute(data)
+
+ {
+ success: (200..299).cover?(result[:http_status]),
+ result: result[:message]
+ }
end
private
diff --git a/app/views/admin/dev_ops_report/_callout.html.haml b/app/views/admin/dev_ops_report/_callout.html.haml
deleted file mode 100644
index 2b4c258a00c..00000000000
--- a/app/views/admin/dev_ops_report/_callout.html.haml
+++ /dev/null
@@ -1,13 +0,0 @@
-.gl-mt-3
-.user-callout{ data: { uid: 'dev_ops_report_intro_callout_dismissed' } }
- .bordered-box.landing.content-block
- %button.gl-button.btn.btn-default-tertiary.close.js-close-callout{ type: 'button',
- 'aria-label' => _('Dismiss DevOps Report introduction') }
- = sprite_icon('close', size: 16, css_class: 'dismiss-icon')
- .user-callout-copy
- %h4
- = _('Introducing Your DevOps Report')
- %p
- = _('Your DevOps Report gives an overview of how you are using GitLab from a feature perspective. Use it to view how you compare with other organizations.')
- .svg-container.devops
- = custom_icon('dev_ops_report_overview')
diff --git a/app/views/admin/dev_ops_report/_report.html.haml b/app/views/admin/dev_ops_report/_report.html.haml
index 0b26548d6e6..5ab68a463ba 100644
--- a/app/views/admin/dev_ops_report/_report.html.haml
+++ b/app/views/admin/dev_ops_report/_report.html.haml
@@ -1,9 +1,6 @@
- service_ping_enabled = Gitlab::CurrentSettings.usage_ping_enabled
-- if service_ping_enabled && show_callout?('dev_ops_report_intro_callout_dismissed')
- = render 'callout'
-
- if !service_ping_enabled
#js-devops-service-ping-disabled{ data: { is_admin: current_user&.admin.to_s, empty_state_svg_path: image_path('illustrations/convdev/convdev_no_index.svg'), enable_service_ping_path: metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), docs_link: help_page_path('development/service_ping/index.md') } }
- else
- #js-devops-score{ data: { devops_score_metrics: devops_score_metrics(@metric).to_json, devops_report_docs_path: help_page_path('user/admin_area/analytics/dev_ops_report'), no_data_image_path: image_path('dev_ops_report_no_data.svg') } }
+ #js-devops-score{ data: { devops_score_metrics: devops_score_metrics(@metric).to_json, devops_report_docs_path: help_page_path('user/admin_area/analytics/dev_ops_report'), no_data_image_path: image_path('dev_ops_report_no_data.svg'), devops_score_intro_image_path: image_path('dev_ops_report_overview.svg') } }
diff --git a/app/views/admin/runners/_runner.html.haml b/app/views/admin/runners/_runner.html.haml
deleted file mode 100644
index ce143a6b155..00000000000
--- a/app/views/admin/runners/_runner.html.haml
+++ /dev/null
@@ -1,80 +0,0 @@
--# Note: This file should stay aligned with:
--# `app/views/groups/runners/_runner.html.haml`
-
-.gl-responsive-table-row{ data: { testid: "runner-row-#{runner.id}" } }
- .table-section.section-10.section-wrap
- .table-mobile-header{ role: 'rowheader' }= _('Type')
- .table-mobile-content
- - if runner.instance_type?
- %span.badge.badge-pill.gl-badge.sm.badge-success= s_('Runners|shared')
- - elsif runner.group_type?
- %span.badge.badge-pill.gl-badge.sm.badge-success= s_('Runners|group')
- - else
- %span.badge.badge-pill.gl-badge.sm.badge-info= s_('Runners|specific')
- - if runner.locked?
- %span.badge.badge-pill.gl-badge.sm.badge-warning= s_('Runners|locked')
- - unless runner.active?
- %span.badge.badge-pill.gl-badge.sm.badge-danger= s_('Runners|paused')
-
- .table-section.section-30
- .table-mobile-header{ role: 'rowheader' }= s_('Runners|Runner')
- .table-mobile-content
- = link_to("##{runner.id} (#{runner.short_sha})", admin_runner_path(runner))
- .gl-text-truncate
- %span{ title: runner.description, data: { toggle: 'tooltip', container: 'body' } }
- = runner.description
-
- .table-section.section-10
- .table-mobile-header{ role: 'rowheader' }= _('Version')
- .table-mobile-content.str-truncated.has-tooltip{ title: runner.version }
- = runner.version
-
- .table-section.section-10
- .table-mobile-header{ role: 'rowheader' }= _('IP Address')
- .table-mobile-content.str-truncated.has-tooltip{ title: runner.ip_address }
- = runner.ip_address
-
- .table-section.section-5
- .table-mobile-header{ role: 'rowheader' }= _('Projects')
- .table-mobile-content
- - if runner.instance_type? || runner.group_type?
- = _('n/a')
- - else
- = runner.projects.count(:all)
-
- .table-section.section-5
- .table-mobile-header{ role: 'rowheader' }= _('Jobs')
- .table-mobile-content
- = limited_counter_with_delimiter(runner.builds)
-
- .table-section.section-10.section-wrap
- .table-mobile-header{ role: 'rowheader' }= _('Tags')
- .table-mobile-content
- - runner.tags.map(&:name).sort.each do |tag|
- %span.badge.badge-primary.str-truncated.has-tooltip{ title: tag }
- = tag
-
- .table-section.section-10
- .table-mobile-header{ role: 'rowheader' }= _('Last contact')
- .table-mobile-content
- - contacted_at = runner_contacted_at(runner)
- - if contacted_at
- = time_ago_with_tooltip contacted_at
- - else
- = _('Never')
-
- .table-section.table-button-footer.section-10
- .btn-group.table-action-buttons
- .btn-group
- = link_to admin_runner_path(runner), class: 'gl-button btn btn-default btn-icon has-tooltip', title: _('Edit'), ref: 'tooltip', aria: { label: _('Edit') }, data: { placement: 'top', container: 'body'} do
- = sprite_icon('pencil', css_class: 'gl-icon')
- .btn-group
- - if runner.active?
- = link_to [:pause, :admin, runner], method: :post, class: 'gl-button btn btn-default btn-icon has-tooltip', title: _('Pause'), ref: 'tooltip', aria: { label: _('Pause') }, data: { placement: 'top', container: 'body', confirm: _('Are you sure?') } do
- = sprite_icon('pause', css_class: 'gl-icon')
- - else
- = link_to [:resume, :admin, runner], method: :post, class: 'gl-button btn btn-default btn-icon has-tooltip gl-px-3', title: _('Resume'), ref: 'tooltip', aria: { label: _('Resume') }, data: { placement: 'top', container: 'body'} do
- = sprite_icon('play', css_class: 'gl-icon')
- .btn-group
- = link_to [:admin, runner], method: :delete, class: 'gl-button btn btn-danger btn-icon has-tooltip', title: _('Remove'), ref: 'tooltip', aria: { label: _('Remove') }, data: { placement: 'top', container: 'body', confirm: _('Are you sure?') } do
- = sprite_icon('close', css_class: 'gl-icon')
diff --git a/app/views/admin/runners/index.html.haml b/app/views/admin/runners/index.html.haml
index 5dce44a787c..f298fce7bcf 100644
--- a/app/views/admin/runners/index.html.haml
+++ b/app/views/admin/runners/index.html.haml
@@ -1,140 +1,4 @@
- breadcrumb_title _('Runners')
- page_title _('Runners')
-- if Feature.enabled?(:runner_list_view_vue_ui, current_user, default_enabled: :yaml)
- #js-admin-runners{ data: { registration_token: Gitlab::CurrentSettings.runners_registration_token, runner_install_help_page: 'https://docs.gitlab.com/runner/install/', active_runners_count: @active_runners_count } }
-- else
- .row
- .col-sm-6
- .bs-callout
- %p
- = _("Runners are processes that pick up and execute CI/CD jobs for GitLab.")
- %br
- = _('You can register runners as separate users, on separate servers, and on your local machine. Register as many runners as you want.')
- %br
-
- %div
- %span= _('Runners can be:')
- %ul
- %li
- %span.badge.badge-pill.gl-badge.sm.badge-success= s_('Runners|shared')
- \-
- = _('Runs jobs from all unassigned projects.')
- %li
- %span.badge.badge-pill.gl-badge.sm.badge-success= s_('Runners|group')
- \-
- = _('Runs jobs from all unassigned projects in its group.')
- %li
- %span.badge.badge-pill.gl-badge.sm.badge-info= s_('Runners|specific')
- \-
- = _('Runs jobs from assigned projects.')
- %li
- %span.badge.badge-pill.gl-badge.sm.badge-warning= s_('Runners|locked')
- \-
- = _('Cannot be assigned to other projects.')
- %li
- %span.badge.badge-pill.gl-badge.sm.badge-danger= s_('Runners|paused')
- \-
- = _('Not available to run jobs.')
-
- .col-sm-6
- .bs-callout
- = render partial: 'ci/runner/how_to_setup_runner',
- locals: { registration_token: Gitlab::CurrentSettings.runners_registration_token,
- type: s_('Runners|shared'),
- reset_token_url: reset_registration_token_admin_application_settings_path,
- project_path: '',
- group_path: '' }
-
- .row
- .col-sm-9
- = form_tag admin_runners_path, id: 'runners-search', method: :get, class: 'filter-form js-filter-form' do
- .filtered-search-wrapper.d-flex
- .filtered-search-box
- = dropdown_tag(_('Recent searches'),
- options: { wrapper_class: 'filtered-search-history-dropdown-wrapper',
- toggle_class: 'gl-button btn btn-default filtered-search-history-dropdown-toggle-button',
- dropdown_class: 'filtered-search-history-dropdown',
- content_class: 'filtered-search-history-dropdown-content' }) do
- .js-filtered-search-history-dropdown{ data: { full_path: admin_runners_path } }
- .filtered-search-box-input-container.droplab-dropdown
- .scroll-container
- %ul.tokens-container.list-unstyled
- %li.input-token
- %input.form-control.filtered-search{ search_filter_input_options('runners') }
- #js-dropdown-hint.filtered-search-input-dropdown-menu.dropdown-menu.hint-dropdown
- %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }
- %li.filter-dropdown-item{ data: {hint: "#{'{{hint}}'}", tag: "#{'{{tag}}'}", action: "#{'{{hint === \'search\' ? \'submit\' : \'\' }}'}" } }
- = button_tag class: %w[gl-button btn btn-link] do
- -# Encapsulate static class name `{{icon}}` inside #{} to bypass
- -# haml lint's ClassAttributeWithStaticValue
- %svg
- %use{ 'xlink:href': "#{'{{icon}}'}" }
- %span.js-filter-hint
- {{formattedKey}}
- #js-dropdown-operator.filtered-search-input-dropdown-menu.dropdown-menu
- %ul.filter-dropdown{ data: { dropdown: true, dynamic: true } }
- %li.filter-dropdown-item{ data: { value: "{{ title }}" } }
- %button.gl-button.btn.btn-link{ type: 'button' }
- {{ title }}
- %span.btn-helptext
- {{ help }}
- #js-dropdown-admin-runner-status.filtered-search-input-dropdown-menu.dropdown-menu
- %ul{ data: { dropdown: true } }
- - Ci::Runner::AVAILABLE_STATUSES.each do |status|
- %li.filter-dropdown-item{ data: { value: status } }
- = button_tag class: %w[gl-button btn btn-link] do
- = status.titleize
-
- #js-dropdown-admin-runner-type.filtered-search-input-dropdown-menu.dropdown-menu
- %ul{ data: { dropdown: true } }
- - Ci::Runner::AVAILABLE_TYPES.each do |runner_type|
- %li.filter-dropdown-item{ data: { value: runner_type } }
- = button_tag class: %w[gl-button btn btn-link] do
- = runner_type.titleize
-
- #js-dropdown-admin-runner-type.filtered-search-input-dropdown-menu.dropdown-menu
- %ul{ data: { dropdown: true } }
- - Ci::Runner::AVAILABLE_TYPES.each do |runner_type|
- %li.filter-dropdown-item{ data: { value: runner_type } }
- = button_tag class: %w[gl-button btn btn-link] do
- = runner_type.titleize
-
- #js-dropdown-runner-tag.filtered-search-input-dropdown-menu.dropdown-menu
- %ul{ data: { dropdown: true } }
- %li.filter-dropdown-item{ data: { value: 'none' } }
- %button.gl-button.btn.btn-link
- = _('No Tag')
- %li.divider.droplab-item-ignore
- %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }
- %li.filter-dropdown-item
- %button.gl-button.btn.btn-link.js-data-value
- %span.dropdown-light-content
- {{name}}
-
- = button_tag class: %w[clear-search hidden] do
- = sprite_icon('close', size: 16, css_class: 'clear-search-icon')
- .filter-dropdown-container
- = render 'sort_dropdown'
-
- .col-sm-3.text-right-lg
- = _('Runners currently online: %{active_runners_count}') % { active_runners_count: @active_runners_count }
- - if @runners.any?
- .content-list{ data: { testid: 'runners-table' } }
- .table-holder
- .gl-responsive-table-row.table-row-header{ role: 'row' }
- .table-section.section-10{ role: 'rowheader' }= _('Type/State')
- .table-section.section-30{ role: 'rowheader' }= s_('Runners|Runner')
- .table-section.section-10{ role: 'rowheader' }= _('Version')
- .table-section.section-10{ role: 'rowheader' }= _('IP Address')
- .table-section.section-5{ role: 'rowheader' }= _('Projects')
- .table-section.section-5{ role: 'rowheader' }= _('Jobs')
- .table-section.section-10{ role: 'rowheader' }= _('Tags')
- .table-section.section-10{ role: 'rowheader' }= _('Last contact')
- .table-section.section-10{ role: 'rowheader' }
-
- - @runners.each do |runner|
- = render 'admin/runners/runner', runner: runner
- = paginate @runners, theme: 'gitlab'
- - else
- .nothing-here-block= _('No runners found')
+#js-admin-runners{ data: { registration_token: Gitlab::CurrentSettings.runners_registration_token, runner_install_help_page: 'https://docs.gitlab.com/runner/install/', active_runners_count: @active_runners_count } }
diff --git a/app/views/groups/runners/_settings.html.haml b/app/views/groups/runners/_settings.html.haml
index 187588f5f11..50982fa381c 100644
--- a/app/views/groups/runners/_settings.html.haml
+++ b/app/views/groups/runners/_settings.html.haml
@@ -75,7 +75,7 @@
= button_tag class: 'clear-search hidden' do
= sprite_icon('close', size: 16, css_class: 'clear-search-icon')
.filter-dropdown-container
- = render 'admin/runners/sort_dropdown'
+ = render 'groups/runners/sort_dropdown'
.col-sm-3.text-right-lg
= _('Runners currently online: %{active_runners_count}') % { active_runners_count: limited_counter_with_delimiter(@all_group_runners.online) }
diff --git a/app/views/admin/runners/_sort_dropdown.html.haml b/app/views/groups/runners/_sort_dropdown.html.haml
index c6627ae0f27..eb826552211 100644
--- a/app/views/admin/runners/_sort_dropdown.html.haml
+++ b/app/views/groups/runners/_sort_dropdown.html.haml
@@ -8,4 +8,3 @@
%li
= sortable_item(sort_title_created_date, page_filter_path(sort: sort_value_created_date), sorted_by)
= sortable_item(sort_title_contacted_date, page_filter_path(sort: sort_value_contacted_date), sorted_by)
-
diff --git a/config/feature_flags/development/runner_list_view_vue_ui.yml b/config/feature_flags/development/runner_list_view_vue_ui.yml
deleted file mode 100644
index 2c539e5b91c..00000000000
--- a/config/feature_flags/development/runner_list_view_vue_ui.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: runner_list_view_vue_ui
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61241
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/330969
-milestone: '13.12'
-type: development
-group: group::runner
-default_enabled: true
diff --git a/config/feature_flags/development/similarity_search.yml b/config/feature_flags/development/similarity_search.yml
deleted file mode 100644
index 978095c94b5..00000000000
--- a/config/feature_flags/development/similarity_search.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: similarity_search
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37300/
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38675
-milestone: '13.3'
-type: development
-group: group::optimize
-default_enabled: true
diff --git a/config/metrics/counts_28d/20210201124930_deployments.yml b/config/metrics/counts_28d/20210201124930_deployments.yml
index ff6456731fe..80a6bc1bf4f 100644
--- a/config/metrics/counts_28d/20210201124930_deployments.yml
+++ b/config/metrics/counts_28d/20210201124930_deployments.yml
@@ -5,7 +5,7 @@ description: Total deployments count for recent 28 days
product_section: ops
product_stage: release
product_group: group::ops release
-product_category:
+product_category:
value_type: number
status: data_available
milestone: "13.2"
@@ -19,3 +19,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216174910_analytics_unique_visits_for_any_target_monthly.yml b/config/metrics/counts_28d/20210216174910_analytics_unique_visits_for_any_target_monthly.yml
index a9340d29e26..7c2636a297e 100644
--- a/config/metrics/counts_28d/20210216174910_analytics_unique_visits_for_any_target_monthly.yml
+++ b/config/metrics/counts_28d/20210216174910_analytics_unique_visits_for_any_target_monthly.yml
@@ -5,13 +5,17 @@ description: Unique visitors to any analytics feature by month
product_section: dev
product_stage: manage
product_group: group::optimize
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type:
+- smau
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216174933_p_analytics_pipelines_monthly.yml b/config/metrics/counts_28d/20210216174933_p_analytics_pipelines_monthly.yml
index f261fcfda1b..fcc5c0d5154 100644
--- a/config/metrics/counts_28d/20210216174933_p_analytics_pipelines_monthly.yml
+++ b/config/metrics/counts_28d/20210216174933_p_analytics_pipelines_monthly.yml
@@ -5,7 +5,7 @@ description: Unique visitors to /groups/:group/-/analytics/ci_cd by month
product_section: dev
product_stage: manage
product_group: group::optimize
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216174941_p_analytics_valuestream_monthly.yml b/config/metrics/counts_28d/20210216174941_p_analytics_valuestream_monthly.yml
index d81846a1736..2144c420690 100644
--- a/config/metrics/counts_28d/20210216174941_p_analytics_valuestream_monthly.yml
+++ b/config/metrics/counts_28d/20210216174941_p_analytics_valuestream_monthly.yml
@@ -5,7 +5,7 @@ description: Unique visitors to /:group/:project/-/value_stream_analytics by mon
product_section: dev
product_stage: manage
product_group: group::optimize
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216174956_i_analytics_cohorts_monthly.yml b/config/metrics/counts_28d/20210216174956_i_analytics_cohorts_monthly.yml
index c0c45f2df2f..0fa3c63371c 100644
--- a/config/metrics/counts_28d/20210216174956_i_analytics_cohorts_monthly.yml
+++ b/config/metrics/counts_28d/20210216174956_i_analytics_cohorts_monthly.yml
@@ -1,11 +1,11 @@
---
data_category: Optional
key_path: redis_hll_counters.analytics.i_analytics_cohorts_monthly
-description:
+description:
product_section: fulfillment
product_stage: fulfillment
product_group: group::utilization
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175000_i_analytics_dev_ops_score_monthly.yml b/config/metrics/counts_28d/20210216175000_i_analytics_dev_ops_score_monthly.yml
index 03187736700..17a54feb331 100644
--- a/config/metrics/counts_28d/20210216175000_i_analytics_dev_ops_score_monthly.yml
+++ b/config/metrics/counts_28d/20210216175000_i_analytics_dev_ops_score_monthly.yml
@@ -5,7 +5,7 @@ description: Unique visitors to /admin/dev_ops_report by month
product_section: dev
product_stage: manage
product_group: group::optimize
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175004_g_analytics_merge_request_monthly.yml b/config/metrics/counts_28d/20210216175004_g_analytics_merge_request_monthly.yml
index e9fb3dbfbb2..5153b1136b7 100644
--- a/config/metrics/counts_28d/20210216175004_g_analytics_merge_request_monthly.yml
+++ b/config/metrics/counts_28d/20210216175004_g_analytics_merge_request_monthly.yml
@@ -1,11 +1,11 @@
---
data_category: Optional
key_path: redis_hll_counters.analytics.g_analytics_merge_request_monthly
-description:
+description:
product_section: dev
product_stage: manage
product_group: group::optimize
-product_category:
+product_category:
value_type: number
status: removed
time_frame: 28d
@@ -14,4 +14,5 @@ distribution:
- ce
tier:
- free
-skip_validation: true \ No newline at end of file
+skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175012_i_analytics_instance_statistics_monthly.yml b/config/metrics/counts_28d/20210216175012_i_analytics_instance_statistics_monthly.yml
index 4d4f70b4e99..c3126fa4ea3 100644
--- a/config/metrics/counts_28d/20210216175012_i_analytics_instance_statistics_monthly.yml
+++ b/config/metrics/counts_28d/20210216175012_i_analytics_instance_statistics_monthly.yml
@@ -5,7 +5,7 @@ description: Unique visitors to /admin/usage_trends by month
product_section: dev
product_stage: manage
product_group: group::optimize
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175016_analytics_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216175016_analytics_total_unique_counts_monthly.yml
index 195b5c2fed5..789ec32aee1 100644
--- a/config/metrics/counts_28d/20210216175016_analytics_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216175016_analytics_total_unique_counts_monthly.yml
@@ -5,7 +5,7 @@ description: The number of unique users who visited any analytics feature by mon
product_section: dev
product_stage: manage
product_group: group::optimize
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175055_merge_requests.yml b/config/metrics/counts_28d/20210216175055_merge_requests.yml
index b932ade9be2..746cfa2b8f7 100644
--- a/config/metrics/counts_28d/20210216175055_merge_requests.yml
+++ b/config/metrics/counts_28d/20210216175055_merge_requests.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175057_projects_with_disable_overriding_approvers_per_merge_request.yml b/config/metrics/counts_28d/20210216175057_projects_with_disable_overriding_approvers_per_merge_request.yml
index dc5ba4a9f61..e7b5a17c4aa 100644
--- a/config/metrics/counts_28d/20210216175057_projects_with_disable_overriding_approvers_per_merge_request.yml
+++ b/config/metrics/counts_28d/20210216175057_projects_with_disable_overriding_approvers_per_merge_request.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175059_projects_without_disable_overriding_approvers_per_merge_request.yml b/config/metrics/counts_28d/20210216175059_projects_without_disable_overriding_approvers_per_merge_request.yml
index 6420fd972fe..ede7c42724d 100644
--- a/config/metrics/counts_28d/20210216175059_projects_without_disable_overriding_approvers_per_merge_request.yml
+++ b/config/metrics/counts_28d/20210216175059_projects_without_disable_overriding_approvers_per_merge_request.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175101_merge_requests_users.yml b/config/metrics/counts_28d/20210216175101_merge_requests_users.yml
index e51b3819df6..27aa5b65d3e 100644
--- a/config/metrics/counts_28d/20210216175101_merge_requests_users.yml
+++ b/config/metrics/counts_28d/20210216175101_merge_requests_users.yml
@@ -17,3 +17,6 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216175109_suggestions.yml b/config/metrics/counts_28d/20210216175109_suggestions.yml
index 9e29b3f3e4b..ce82d927e77 100644
--- a/config/metrics/counts_28d/20210216175109_suggestions.yml
+++ b/config/metrics/counts_28d/20210216175109_suggestions.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175113_merge_request_action_monthly.yml b/config/metrics/counts_28d/20210216175113_merge_request_action_monthly.yml
index 969b426dc4e..b6e3c697afb 100644
--- a/config/metrics/counts_28d/20210216175113_merge_request_action_monthly.yml
+++ b/config/metrics/counts_28d/20210216175113_merge_request_action_monthly.yml
@@ -13,11 +13,12 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - merge_request_action
+ - merge_request_action
distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175117_i_source_code_code_intelligence_monthly.yml b/config/metrics/counts_28d/20210216175117_i_source_code_code_intelligence_monthly.yml
index e8fa311ed23..d29e9bbc25e 100644
--- a/config/metrics/counts_28d/20210216175117_i_source_code_code_intelligence_monthly.yml
+++ b/config/metrics/counts_28d/20210216175117_i_source_code_code_intelligence_monthly.yml
@@ -13,11 +13,12 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - i_source_code_code_intelligence
+ - i_source_code_code_intelligence
distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175120_i_code_review_mr_diffs_monthly.yml b/config/metrics/counts_28d/20210216175120_i_code_review_mr_diffs_monthly.yml
index 24509103daa..91bece0a527 100644
--- a/config/metrics/counts_28d/20210216175120_i_code_review_mr_diffs_monthly.yml
+++ b/config/metrics/counts_28d/20210216175120_i_code_review_mr_diffs_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175124_i_code_review_user_single_file_diffs_monthly.yml b/config/metrics/counts_28d/20210216175124_i_code_review_user_single_file_diffs_monthly.yml
index 569666d47af..0606f00db55 100644
--- a/config/metrics/counts_28d/20210216175124_i_code_review_user_single_file_diffs_monthly.yml
+++ b/config/metrics/counts_28d/20210216175124_i_code_review_user_single_file_diffs_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175128_i_code_review_mr_single_file_diffs_monthly.yml b/config/metrics/counts_28d/20210216175128_i_code_review_mr_single_file_diffs_monthly.yml
index b22ba8104cf..cd6d8e3fda9 100644
--- a/config/metrics/counts_28d/20210216175128_i_code_review_mr_single_file_diffs_monthly.yml
+++ b/config/metrics/counts_28d/20210216175128_i_code_review_mr_single_file_diffs_monthly.yml
@@ -1,8 +1,7 @@
---
data_category: Optional
key_path: redis_hll_counters.code_review.i_code_review_mr_single_file_diffs_monthly
-description: Count of unique merge requests per month with diffs viewed file
- by file
+description: Count of unique merge requests per month with diffs viewed file by file
product_section: dev
product_stage: create
product_group: group::code review
@@ -15,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml b/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml
index 99bb06699f5..ef497c0f2bc 100644
--- a/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml
+++ b/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175136_i_code_review_user_close_mr_monthly.yml b/config/metrics/counts_28d/20210216175136_i_code_review_user_close_mr_monthly.yml
index 05b843d275b..f2e7067d43d 100644
--- a/config/metrics/counts_28d/20210216175136_i_code_review_user_close_mr_monthly.yml
+++ b/config/metrics/counts_28d/20210216175136_i_code_review_user_close_mr_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175140_i_code_review_user_reopen_mr_monthly.yml b/config/metrics/counts_28d/20210216175140_i_code_review_user_reopen_mr_monthly.yml
index eddb909eb93..e7f3816ca5d 100644
--- a/config/metrics/counts_28d/20210216175140_i_code_review_user_reopen_mr_monthly.yml
+++ b/config/metrics/counts_28d/20210216175140_i_code_review_user_reopen_mr_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175144_i_code_review_user_merge_mr_monthly.yml b/config/metrics/counts_28d/20210216175144_i_code_review_user_merge_mr_monthly.yml
index 485b47344d0..e299be1ac0b 100644
--- a/config/metrics/counts_28d/20210216175144_i_code_review_user_merge_mr_monthly.yml
+++ b/config/metrics/counts_28d/20210216175144_i_code_review_user_merge_mr_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175148_i_code_review_user_create_mr_comment_monthly.yml b/config/metrics/counts_28d/20210216175148_i_code_review_user_create_mr_comment_monthly.yml
index 710cd9c05de..4194b2fee18 100644
--- a/config/metrics/counts_28d/20210216175148_i_code_review_user_create_mr_comment_monthly.yml
+++ b/config/metrics/counts_28d/20210216175148_i_code_review_user_create_mr_comment_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175152_i_code_review_user_edit_mr_comment_monthly.yml b/config/metrics/counts_28d/20210216175152_i_code_review_user_edit_mr_comment_monthly.yml
index 304b0f2f8f3..b7fe37e659e 100644
--- a/config/metrics/counts_28d/20210216175152_i_code_review_user_edit_mr_comment_monthly.yml
+++ b/config/metrics/counts_28d/20210216175152_i_code_review_user_edit_mr_comment_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175156_i_code_review_user_remove_mr_comment_monthly.yml b/config/metrics/counts_28d/20210216175156_i_code_review_user_remove_mr_comment_monthly.yml
index cfe688f36c5..b48a12ecfe5 100644
--- a/config/metrics/counts_28d/20210216175156_i_code_review_user_remove_mr_comment_monthly.yml
+++ b/config/metrics/counts_28d/20210216175156_i_code_review_user_remove_mr_comment_monthly.yml
@@ -14,6 +14,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175405_clusters_applications_cert_managers.yml b/config/metrics/counts_28d/20210216175405_clusters_applications_cert_managers.yml
index dd9b9706b7d..b030dfc360f 100644
--- a/config/metrics/counts_28d/20210216175405_clusters_applications_cert_managers.yml
+++ b/config/metrics/counts_28d/20210216175405_clusters_applications_cert_managers.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters_applications_cert_managers.status IN (3, 5))'>_clusters_<with>_<adjective describing: '(clusters_applications_cert_managers.status IN (3, 5))'>_clusters_applications_cert_managers"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175407_clusters_applications_helm.yml b/config/metrics/counts_28d/20210216175407_clusters_applications_helm.yml
index bad028774ed..fd76f35188e 100644
--- a/config/metrics/counts_28d/20210216175407_clusters_applications_helm.yml
+++ b/config/metrics/counts_28d/20210216175407_clusters_applications_helm.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters_applications_helm.status IN (3, 5))'>_clusters_<with>_<adjective describing: '(clusters_applications_helm.status IN (3, 5))'>_clusters_applications_helm"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175409_clusters_applications_ingress.yml b/config/metrics/counts_28d/20210216175409_clusters_applications_ingress.yml
index a9af8e1cd3f..821855f4cd5 100644
--- a/config/metrics/counts_28d/20210216175409_clusters_applications_ingress.yml
+++ b/config/metrics/counts_28d/20210216175409_clusters_applications_ingress.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters_applications_ingress.status IN (3, 5))'>_clusters_<with>_<adjective describing: '(clusters_applications_ingress.status IN (3, 5))'>_clusters_applications_ingress"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175411_clusters_applications_knative.yml b/config/metrics/counts_28d/20210216175411_clusters_applications_knative.yml
index 0d24c5e0fae..67862bc7644 100644
--- a/config/metrics/counts_28d/20210216175411_clusters_applications_knative.yml
+++ b/config/metrics/counts_28d/20210216175411_clusters_applications_knative.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters_applications_knative.status IN (3, 5))'>_clusters_<with>_<adjective describing: '(clusters_applications_knative.status IN (3, 5))'>_clusters_applications_knative"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175413_clusters_management_project.yml b/config/metrics/counts_28d/20210216175413_clusters_management_project.yml
index 71ceb5cd3ea..6b573f81478 100644
--- a/config/metrics/counts_28d/20210216175413_clusters_management_project.yml
+++ b/config/metrics/counts_28d/20210216175413_clusters_management_project.yml
@@ -18,3 +18,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175415_clusters_disabled.yml b/config/metrics/counts_28d/20210216175415_clusters_disabled.yml
index b62ee3c733b..e96d62d730c 100644
--- a/config/metrics/counts_28d/20210216175415_clusters_disabled.yml
+++ b/config/metrics/counts_28d/20210216175415_clusters_disabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = FALSE)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175417_clusters_enabled.yml b/config/metrics/counts_28d/20210216175417_clusters_enabled.yml
index 15fa74276ff..6cc770051ff 100644
--- a/config/metrics/counts_28d/20210216175417_clusters_enabled.yml
+++ b/config/metrics/counts_28d/20210216175417_clusters_enabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = TRUE)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175419_clusters_platforms_gke.yml b/config/metrics/counts_28d/20210216175419_clusters_platforms_gke.yml
index 0f3f4129558..b1b433590b2 100644
--- a/config/metrics/counts_28d/20210216175419_clusters_platforms_gke.yml
+++ b/config/metrics/counts_28d/20210216175419_clusters_platforms_gke.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.provider_type = 1 AND (cluster_providers_gcp.status IN (3)) AND clusters.enabled = TRUE)'>_clusters_<with>_<adjective describing: '(clusters.provider_type = 1 AND (cluster_providers_gcp.status IN (3)) AND clusters.enabled = TRUE)'>_cluster_providers_gcp"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175420_clusters_platforms_eks.yml b/config/metrics/counts_28d/20210216175420_clusters_platforms_eks.yml
index c6834fd28d9..d4747dcaf91 100644
--- a/config/metrics/counts_28d/20210216175420_clusters_platforms_eks.yml
+++ b/config/metrics/counts_28d/20210216175420_clusters_platforms_eks.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.provider_type = 2 AND (cluster_providers_aws.status IN (3)) AND clusters.enabled = TRUE)'>_clusters_<with>_<adjective describing: '(clusters.provider_type = 2 AND (cluster_providers_aws.status IN (3)) AND clusters.enabled = TRUE)'>_cluster_providers_aws"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175422_clusters_platforms_user.yml b/config/metrics/counts_28d/20210216175422_clusters_platforms_user.yml
index 1e9e9f02343..374032da3ec 100644
--- a/config/metrics/counts_28d/20210216175422_clusters_platforms_user.yml
+++ b/config/metrics/counts_28d/20210216175422_clusters_platforms_user.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.provider_type = 0 AND clusters.enabled = TRUE)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175424_instance_clusters_disabled.yml b/config/metrics/counts_28d/20210216175424_instance_clusters_disabled.yml
index cb1339c8475..11917dbc798 100644
--- a/config/metrics/counts_28d/20210216175424_instance_clusters_disabled.yml
+++ b/config/metrics/counts_28d/20210216175424_instance_clusters_disabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = FALSE AND clusters.cluster_type = 1)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175426_instance_clusters_enabled.yml b/config/metrics/counts_28d/20210216175426_instance_clusters_enabled.yml
index eae8c0f7a3c..e649c0dba9a 100644
--- a/config/metrics/counts_28d/20210216175426_instance_clusters_enabled.yml
+++ b/config/metrics/counts_28d/20210216175426_instance_clusters_enabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = TRUE AND clusters.cluster_type = 1)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175428_group_clusters_disabled.yml b/config/metrics/counts_28d/20210216175428_group_clusters_disabled.yml
index 4c69b0a7671..f4d7b8ab504 100644
--- a/config/metrics/counts_28d/20210216175428_group_clusters_disabled.yml
+++ b/config/metrics/counts_28d/20210216175428_group_clusters_disabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = FALSE AND clusters.cluster_type = 2)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175430_group_clusters_enabled.yml b/config/metrics/counts_28d/20210216175430_group_clusters_enabled.yml
index 3e149eefbd1..89210bba5da 100644
--- a/config/metrics/counts_28d/20210216175430_group_clusters_enabled.yml
+++ b/config/metrics/counts_28d/20210216175430_group_clusters_enabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = TRUE AND clusters.cluster_type = 2)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175432_project_clusters_disabled.yml b/config/metrics/counts_28d/20210216175432_project_clusters_disabled.yml
index f93a6925e96..2db09000f86 100644
--- a/config/metrics/counts_28d/20210216175432_project_clusters_disabled.yml
+++ b/config/metrics/counts_28d/20210216175432_project_clusters_disabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = FALSE AND clusters.cluster_type = 3)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175434_project_clusters_enabled.yml b/config/metrics/counts_28d/20210216175434_project_clusters_enabled.yml
index bac36e62664..3369612a761 100644
--- a/config/metrics/counts_28d/20210216175434_project_clusters_enabled.yml
+++ b/config/metrics/counts_28d/20210216175434_project_clusters_enabled.yml
@@ -9,7 +9,7 @@ product_category: kubernetes_management
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -19,3 +19,4 @@ tier:
- ultimate
skip_validation: true
name: "count_distinct_user_id_from_<adjective describing: '(clusters.enabled = TRUE AND clusters.cluster_type = 3)'>_clusters"
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175542_ci_builds.yml b/config/metrics/counts_28d/20210216175542_ci_builds.yml
index d856c0d2fd1..f7a8eca77ec 100644
--- a/config/metrics/counts_28d/20210216175542_ci_builds.yml
+++ b/config/metrics/counts_28d/20210216175542_ci_builds.yml
@@ -17,4 +17,4 @@ tier:
- free
- premium
- ultimate
-
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml b/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml
index 9898d32b111..31c3fbf4ce0 100644
--- a/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml
+++ b/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml b/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml
index 319d1d06e62..cb629d4cc6d 100644
--- a/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml
+++ b/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml b/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml
index 774387813a3..185161d661d 100644
--- a/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml
+++ b/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175550_ci_pipeline_config_repository.yml b/config/metrics/counts_28d/20210216175550_ci_pipeline_config_repository.yml
index 31e92760c74..128f5eac72a 100644
--- a/config/metrics/counts_28d/20210216175550_ci_pipeline_config_repository.yml
+++ b/config/metrics/counts_28d/20210216175550_ci_pipeline_config_repository.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml b/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml
index 5c31532f666..ace1c8d01dc 100644
--- a/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml
+++ b/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175554_ci_pipelines.yml b/config/metrics/counts_28d/20210216175554_ci_pipelines.yml
index 8af3e4f4248..d6f8c6bcdbf 100644
--- a/config/metrics/counts_28d/20210216175554_ci_pipelines.yml
+++ b/config/metrics/counts_28d/20210216175554_ci_pipelines.yml
@@ -1,7 +1,7 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.verify.ci_pipelines
-description: "Distinct users triggering pipelines in a month"
+description: "Distinct users triggering pipelines in a month"
product_section: ops
product_stage: verify
product_group: group::pipeline execution
@@ -18,3 +18,7 @@ tier:
- premium
- ultimate
- free
+performance_indicator_type:
+- smau
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216175556_ci_triggers.yml b/config/metrics/counts_28d/20210216175556_ci_triggers.yml
index c02acdfeed6..f4f94c25df9 100644
--- a/config/metrics/counts_28d/20210216175556_ci_triggers.yml
+++ b/config/metrics/counts_28d/20210216175556_ci_triggers.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216175616_user_dast_jobs.yml b/config/metrics/counts_28d/20210216175616_user_dast_jobs.yml
index 6b6503e8c34..ef0454089c5 100644
--- a/config/metrics/counts_28d/20210216175616_user_dast_jobs.yml
+++ b/config/metrics/counts_28d/20210216175616_user_dast_jobs.yml
@@ -9,9 +9,12 @@ product_category: dynamic_application_security_testing
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216175618_dast_pipeline.yml b/config/metrics/counts_28d/20210216175618_dast_pipeline.yml
index a6c78293691..f7295051f8f 100644
--- a/config/metrics/counts_28d/20210216175618_dast_pipeline.yml
+++ b/config/metrics/counts_28d/20210216175618_dast_pipeline.yml
@@ -9,9 +9,10 @@ product_category: dynamic_application_security_testing
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- ultimate
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180308_personal_snippets.yml b/config/metrics/counts_28d/20210216180308_personal_snippets.yml
index b36c6eddc02..2d6364cb49e 100644
--- a/config/metrics/counts_28d/20210216180308_personal_snippets.yml
+++ b/config/metrics/counts_28d/20210216180308_personal_snippets.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180310_project_snippets.yml b/config/metrics/counts_28d/20210216180310_project_snippets.yml
index c2b9edd4ece..2e9a55b8237 100644
--- a/config/metrics/counts_28d/20210216180310_project_snippets.yml
+++ b/config/metrics/counts_28d/20210216180310_project_snippets.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180312_snippets.yml b/config/metrics/counts_28d/20210216180312_snippets.yml
index 1d8b2e3725b..89260564d97 100644
--- a/config/metrics/counts_28d/20210216180312_snippets.yml
+++ b/config/metrics/counts_28d/20210216180312_snippets.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180317_snippets.yml b/config/metrics/counts_28d/20210216180317_snippets.yml
index 169b79e7316..690827f5fbd 100644
--- a/config/metrics/counts_28d/20210216180317_snippets.yml
+++ b/config/metrics/counts_28d/20210216180317_snippets.yml
@@ -2,7 +2,7 @@
data_category: Optional
key_path: usage_activity_by_stage_monthly.create.snippets
name: count_distinct_author_id_from_snippets
-description: Count of distinct author_id from snippets for last 28 days
+description: Count of distinct author_id from snippets for last 28 days
product_section: dev
product_stage: create
product_group: group::editor
@@ -18,3 +18,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180319_action_monthly_active_users_web_ide_edit.yml b/config/metrics/counts_28d/20210216180319_action_monthly_active_users_web_ide_edit.yml
index d66a7c0a63c..91d086b3f27 100644
--- a/config/metrics/counts_28d/20210216180319_action_monthly_active_users_web_ide_edit.yml
+++ b/config/metrics/counts_28d/20210216180319_action_monthly_active_users_web_ide_edit.yml
@@ -1,7 +1,7 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_web_ide_edit
-description: Number of users editing using web IDE
+description: Number of users editing using web IDE
product_section: dev
product_stage: create
product_group: group::editor
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180321_action_monthly_active_users_sfe_edit.yml b/config/metrics/counts_28d/20210216180321_action_monthly_active_users_sfe_edit.yml
index df023578215..2cd4666cd4a 100644
--- a/config/metrics/counts_28d/20210216180321_action_monthly_active_users_sfe_edit.yml
+++ b/config/metrics/counts_28d/20210216180321_action_monthly_active_users_sfe_edit.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180323_action_monthly_active_users_snippet_editor_edit.yml b/config/metrics/counts_28d/20210216180323_action_monthly_active_users_snippet_editor_edit.yml
index 164128a6307..a48d6e7c263 100644
--- a/config/metrics/counts_28d/20210216180323_action_monthly_active_users_snippet_editor_edit.yml
+++ b/config/metrics/counts_28d/20210216180323_action_monthly_active_users_snippet_editor_edit.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180325_action_monthly_active_users_sse_edit.yml b/config/metrics/counts_28d/20210216180325_action_monthly_active_users_sse_edit.yml
index e9e408bb1f6..020e5b68e59 100644
--- a/config/metrics/counts_28d/20210216180325_action_monthly_active_users_sse_edit.yml
+++ b/config/metrics/counts_28d/20210216180325_action_monthly_active_users_sse_edit.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml b/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
index 3d123932ab2..0e141a85463 100644
--- a/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
+++ b/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
@@ -17,3 +17,6 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216180330_g_edit_by_web_ide_monthly.yml b/config/metrics/counts_28d/20210216180330_g_edit_by_web_ide_monthly.yml
index 519d51e1148..c5e0d1a1128 100644
--- a/config/metrics/counts_28d/20210216180330_g_edit_by_web_ide_monthly.yml
+++ b/config/metrics/counts_28d/20210216180330_g_edit_by_web_ide_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - g_edit_by_web_ide
+ - g_edit_by_web_ide
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180334_g_edit_by_sfe_monthly.yml b/config/metrics/counts_28d/20210216180334_g_edit_by_sfe_monthly.yml
index e0d48f56bd3..113d9343e78 100644
--- a/config/metrics/counts_28d/20210216180334_g_edit_by_sfe_monthly.yml
+++ b/config/metrics/counts_28d/20210216180334_g_edit_by_sfe_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - g_edit_by_sfe
+ - g_edit_by_sfe
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180338_g_edit_by_snippet_ide_monthly.yml b/config/metrics/counts_28d/20210216180338_g_edit_by_snippet_ide_monthly.yml
index d41df97ffba..70a509045f0 100644
--- a/config/metrics/counts_28d/20210216180338_g_edit_by_snippet_ide_monthly.yml
+++ b/config/metrics/counts_28d/20210216180338_g_edit_by_snippet_ide_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - g_edit_by_snippet_ide
+ - g_edit_by_snippet_ide
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180341_ide_edit_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216180341_ide_edit_total_unique_counts_monthly.yml
index ae276335097..b2744df874d 100644
--- a/config/metrics/counts_28d/20210216180341_ide_edit_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216180341_ide_edit_total_unique_counts_monthly.yml
@@ -13,10 +13,10 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - g_edit_by_web_ide
- - g_edit_by_sfe
- - g_edit_by_snippet_ide
- - g_edit_by_sse
+ - g_edit_by_web_ide
+ - g_edit_by_sfe
+ - g_edit_by_snippet_ide
+ - g_edit_by_sse
distribution:
- ce
- ee
@@ -24,3 +24,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180355_user_api_fuzzing_jobs.yml b/config/metrics/counts_28d/20210216180355_user_api_fuzzing_jobs.yml
index aa02ce01a0d..9bc7e8b0772 100644
--- a/config/metrics/counts_28d/20210216180355_user_api_fuzzing_jobs.yml
+++ b/config/metrics/counts_28d/20210216180355_user_api_fuzzing_jobs.yml
@@ -5,13 +5,14 @@ description: Count of API Fuzzing jobs by job name
product_section: sec
product_stage: secure
product_group: group::fuzz testing
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180424_i_search_total_monthly.yml b/config/metrics/counts_28d/20210216180424_i_search_total_monthly.yml
index dfec960830d..7f32bc22606 100644
--- a/config/metrics/counts_28d/20210216180424_i_search_total_monthly.yml
+++ b/config/metrics/counts_28d/20210216180424_i_search_total_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - i_search_total
+ - i_search_total
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180431_search_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216180431_search_total_unique_counts_monthly.yml
index 2bb0d4edc0d..fbfc43eb553 100644
--- a/config/metrics/counts_28d/20210216180431_search_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216180431_search_total_unique_counts_monthly.yml
@@ -13,9 +13,9 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - i_search_total
- - i_search_advanced
- - i_search_paid
+ - i_search_total
+ - i_search_advanced
+ - i_search_paid
distribution:
- ce
- ee
@@ -23,3 +23,5 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- gmau
diff --git a/config/metrics/counts_28d/20210216180509_incident_management_alerts_total_unique_counts.yml b/config/metrics/counts_28d/20210216180509_incident_management_alerts_total_unique_counts.yml
index 0d784481951..00cc03ebd88 100644
--- a/config/metrics/counts_28d/20210216180509_incident_management_alerts_total_unique_counts.yml
+++ b/config/metrics/counts_28d/20210216180509_incident_management_alerts_total_unique_counts.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180511_incident_management_incidents_total_unique_counts.yml b/config/metrics/counts_28d/20210216180511_incident_management_incidents_total_unique_counts.yml
index 58fd23391b0..1928f834fe0 100644
--- a/config/metrics/counts_28d/20210216180511_incident_management_incidents_total_unique_counts.yml
+++ b/config/metrics/counts_28d/20210216180511_incident_management_incidents_total_unique_counts.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180524_projects_with_incidents.yml b/config/metrics/counts_28d/20210216180524_projects_with_incidents.yml
index 3046bf5f8a8..12739d124f4 100644
--- a/config/metrics/counts_28d/20210216180524_projects_with_incidents.yml
+++ b/config/metrics/counts_28d/20210216180524_projects_with_incidents.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180526_projects_with_alert_incidents.yml b/config/metrics/counts_28d/20210216180526_projects_with_alert_incidents.yml
index 3ac5ec37317..7626b56bc11 100644
--- a/config/metrics/counts_28d/20210216180526_projects_with_alert_incidents.yml
+++ b/config/metrics/counts_28d/20210216180526_projects_with_alert_incidents.yml
@@ -18,3 +18,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180530_incident_management_alert_status_changed_monthly.yml b/config/metrics/counts_28d/20210216180530_incident_management_alert_status_changed_monthly.yml
index 9d1a1327a99..8cdfa4851ae 100644
--- a/config/metrics/counts_28d/20210216180530_incident_management_alert_status_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216180530_incident_management_alert_status_changed_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users changing alert's status changes per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180533_incident_management_alert_assigned_monthly.yml b/config/metrics/counts_28d/20210216180533_incident_management_alert_assigned_monthly.yml
index 8d35a78d5a5..3a8ff85518b 100644
--- a/config/metrics/counts_28d/20210216180533_incident_management_alert_assigned_monthly.yml
+++ b/config/metrics/counts_28d/20210216180533_incident_management_alert_assigned_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users assigning an alert per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180537_incident_management_alert_todo_monthly.yml b/config/metrics/counts_28d/20210216180537_incident_management_alert_todo_monthly.yml
index 56ae20c7ebd..d056f6e5883 100644
--- a/config/metrics/counts_28d/20210216180537_incident_management_alert_todo_monthly.yml
+++ b/config/metrics/counts_28d/20210216180537_incident_management_alert_todo_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users adding alerts to the TODO list per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180541_incident_management_incident_created_monthly.yml b/config/metrics/counts_28d/20210216180541_incident_management_incident_created_monthly.yml
index 1c3c339c710..6fa9855a966 100644
--- a/config/metrics/counts_28d/20210216180541_incident_management_incident_created_monthly.yml
+++ b/config/metrics/counts_28d/20210216180541_incident_management_incident_created_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users creating incidents per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180545_incident_management_incident_reopened_monthly.yml b/config/metrics/counts_28d/20210216180545_incident_management_incident_reopened_monthly.yml
index 9f1d199dd1f..e17d074f243 100644
--- a/config/metrics/counts_28d/20210216180545_incident_management_incident_reopened_monthly.yml
+++ b/config/metrics/counts_28d/20210216180545_incident_management_incident_reopened_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users reopening incidents per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180548_incident_management_incident_closed_monthly.yml b/config/metrics/counts_28d/20210216180548_incident_management_incident_closed_monthly.yml
index bcdd4e9a1f5..73c595574d4 100644
--- a/config/metrics/counts_28d/20210216180548_incident_management_incident_closed_monthly.yml
+++ b/config/metrics/counts_28d/20210216180548_incident_management_incident_closed_monthly.yml
@@ -5,7 +5,7 @@ description: Count of users closing incidents per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180552_incident_management_incident_assigned_monthly.yml b/config/metrics/counts_28d/20210216180552_incident_management_incident_assigned_monthly.yml
index 01fb17158b6..9201fba4905 100644
--- a/config/metrics/counts_28d/20210216180552_incident_management_incident_assigned_monthly.yml
+++ b/config/metrics/counts_28d/20210216180552_incident_management_incident_assigned_monthly.yml
@@ -5,7 +5,7 @@ description: Count of users assigning incidents per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180556_incident_management_incident_todo_monthly.yml b/config/metrics/counts_28d/20210216180556_incident_management_incident_todo_monthly.yml
index bd4c919018c..5d4a04a823c 100644
--- a/config/metrics/counts_28d/20210216180556_incident_management_incident_todo_monthly.yml
+++ b/config/metrics/counts_28d/20210216180556_incident_management_incident_todo_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users adding incidents to the TODO list per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180559_incident_management_incident_comment_monthly.yml b/config/metrics/counts_28d/20210216180559_incident_management_incident_comment_monthly.yml
index f4846c3a820..fb0b8b1c784 100644
--- a/config/metrics/counts_28d/20210216180559_incident_management_incident_comment_monthly.yml
+++ b/config/metrics/counts_28d/20210216180559_incident_management_incident_comment_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users adding comments per month on incidents
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180603_incident_management_incident_zoom_meeting_monthly.yml b/config/metrics/counts_28d/20210216180603_incident_management_incident_zoom_meeting_monthly.yml
index 989d0b2ece3..e71c7b597c3 100644
--- a/config/metrics/counts_28d/20210216180603_incident_management_incident_zoom_meeting_monthly.yml
+++ b/config/metrics/counts_28d/20210216180603_incident_management_incident_zoom_meeting_monthly.yml
@@ -5,7 +5,7 @@ description: Count of users creating Zoom meetings about incidents per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180611_incident_management_incident_relate_monthly.yml b/config/metrics/counts_28d/20210216180611_incident_management_incident_relate_monthly.yml
index 1609cabbe7a..906014bccf5 100644
--- a/config/metrics/counts_28d/20210216180611_incident_management_incident_relate_monthly.yml
+++ b/config/metrics/counts_28d/20210216180611_incident_management_incident_relate_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users adding issues per month that are related to a
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180614_incident_management_incident_unrelate_monthly.yml b/config/metrics/counts_28d/20210216180614_incident_management_incident_unrelate_monthly.yml
index 8c14ea79a40..f8d9cfb416a 100644
--- a/config/metrics/counts_28d/20210216180614_incident_management_incident_unrelate_monthly.yml
+++ b/config/metrics/counts_28d/20210216180614_incident_management_incident_unrelate_monthly.yml
@@ -5,7 +5,7 @@ description: Count of users removing issues that are related to an incident per
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180618_incident_management_incident_change_confidential_monthly.yml b/config/metrics/counts_28d/20210216180618_incident_management_incident_change_confidential_monthly.yml
index ac884241332..6eb5f7b7757 100644
--- a/config/metrics/counts_28d/20210216180618_incident_management_incident_change_confidential_monthly.yml
+++ b/config/metrics/counts_28d/20210216180618_incident_management_incident_change_confidential_monthly.yml
@@ -5,7 +5,7 @@ description: Count of users changing incidents to confidential per month
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180622_incident_management_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216180622_incident_management_total_unique_counts_monthly.yml
index 851528087b3..aabf78c5a20 100644
--- a/config/metrics/counts_28d/20210216180622_incident_management_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216180622_incident_management_total_unique_counts_monthly.yml
@@ -5,7 +5,7 @@ description: Count of unique users performing events related with incidents per
product_section: ops
product_stage: monitor
product_group: group::monitor
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
@@ -34,3 +34,7 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- smau
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216180625_incident_management_alert_create_incident_monthly.yml b/config/metrics/counts_28d/20210216180625_incident_management_alert_create_incident_monthly.yml
index 4dc304d685f..e5c543e7ea7 100644
--- a/config/metrics/counts_28d/20210216180625_incident_management_alert_create_incident_monthly.yml
+++ b/config/metrics/counts_28d/20210216180625_incident_management_alert_create_incident_monthly.yml
@@ -22,3 +22,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml b/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml
index 1ac24ccf6c8..afeec6c1e9c 100644
--- a/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml
+++ b/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180745_action_monthly_active_users_design_management.yml b/config/metrics/counts_28d/20210216180745_action_monthly_active_users_design_management.yml
index 1468589281d..eec12d91eb7 100644
--- a/config/metrics/counts_28d/20210216180745_action_monthly_active_users_design_management.yml
+++ b/config/metrics/counts_28d/20210216180745_action_monthly_active_users_design_management.yml
@@ -17,3 +17,5 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216180747_action_monthly_active_users_wiki_repo.yml b/config/metrics/counts_28d/20210216180747_action_monthly_active_users_wiki_repo.yml
index fa650effab3..c8b4e7bc9ad 100644
--- a/config/metrics/counts_28d/20210216180747_action_monthly_active_users_wiki_repo.yml
+++ b/config/metrics/counts_28d/20210216180747_action_monthly_active_users_wiki_repo.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180814_events.yml b/config/metrics/counts_28d/20210216180814_events.yml
index 745a3c0066a..6d30965425e 100644
--- a/config/metrics/counts_28d/20210216180814_events.yml
+++ b/config/metrics/counts_28d/20210216180814_events.yml
@@ -1,18 +1,20 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.events
-description:
+description:
product_section: dev
-product_stage:
+product_stage:
product_group: group::manage
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
tier:
- free
skip_validation: true
+performance_indicator_type:
+- umau
diff --git a/config/metrics/counts_28d/20210216180816_groups.yml b/config/metrics/counts_28d/20210216180816_groups.yml
index 0ae86d09c13..e47143bc3c9 100644
--- a/config/metrics/counts_28d/20210216180816_groups.yml
+++ b/config/metrics/counts_28d/20210216180816_groups.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180818_users_created.yml b/config/metrics/counts_28d/20210216180818_users_created.yml
index 40e881638bb..ddaf652960d 100644
--- a/config/metrics/counts_28d/20210216180818_users_created.yml
+++ b/config/metrics/counts_28d/20210216180818_users_created.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180955_projects_with_prometheus_alerts.yml b/config/metrics/counts_28d/20210216180955_projects_with_prometheus_alerts.yml
index aa0191ff47f..ca6883c4967 100644
--- a/config/metrics/counts_28d/20210216180955_projects_with_prometheus_alerts.yml
+++ b/config/metrics/counts_28d/20210216180955_projects_with_prometheus_alerts.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.configure.projects_with_prometheus_alerts
description: Projects with Prometheus alerting enabled
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: metrics
value_type: number
@@ -12,9 +12,10 @@ milestone_removed: '14.0'
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180956_clusters.yml b/config/metrics/counts_28d/20210216180956_clusters.yml
index 2fb39849c11..be5f5d9be35 100644
--- a/config/metrics/counts_28d/20210216180956_clusters.yml
+++ b/config/metrics/counts_28d/20210216180956_clusters.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.monitor.clusters
description: Count users creating clusters in last 28 days.
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: metrics
value_type: number
@@ -11,9 +11,10 @@ status: data_available
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216180958_clusters_applications_prometheus.yml b/config/metrics/counts_28d/20210216180958_clusters_applications_prometheus.yml
index ef305404ad1..18ae674dcc6 100644
--- a/config/metrics/counts_28d/20210216180958_clusters_applications_prometheus.yml
+++ b/config/metrics/counts_28d/20210216180958_clusters_applications_prometheus.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.monitor.clusters_applications_prometheus
description: Users creating clusters with Prometheus enabled in last 28 days.
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: metrics
value_type: number
@@ -11,9 +11,10 @@ status: data_available
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181000_operations_dashboard_default_dashboard.yml b/config/metrics/counts_28d/20210216181000_operations_dashboard_default_dashboard.yml
index 6d57a5c0ce1..219b2b4ffd5 100644
--- a/config/metrics/counts_28d/20210216181000_operations_dashboard_default_dashboard.yml
+++ b/config/metrics/counts_28d/20210216181000_operations_dashboard_default_dashboard.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.monitor.operations_dashboard_default_dashboard
description: Active users with enabled operations dashboard
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: metrics
value_type: number
@@ -11,9 +11,10 @@ status: data_available
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181002_projects_with_tracing_enabled.yml b/config/metrics/counts_28d/20210216181002_projects_with_tracing_enabled.yml
index 13cf98b9a2a..b5798063805 100644
--- a/config/metrics/counts_28d/20210216181002_projects_with_tracing_enabled.yml
+++ b/config/metrics/counts_28d/20210216181002_projects_with_tracing_enabled.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.monitor.projects_with_tracing_enabled
description: Projects with tracing enabled
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: tracing
value_type: number
@@ -11,9 +11,10 @@ status: data_available
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181004_projects_with_error_tracking_enabled.yml b/config/metrics/counts_28d/20210216181004_projects_with_error_tracking_enabled.yml
index 5b67dcc38d7..446bd17478f 100644
--- a/config/metrics/counts_28d/20210216181004_projects_with_error_tracking_enabled.yml
+++ b/config/metrics/counts_28d/20210216181004_projects_with_error_tracking_enabled.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.monitor.projects_with_error_tracking_enabled
description: Count of users creating projects with error tracking enabled.
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: metrics
value_type: number
@@ -11,9 +11,10 @@ status: data_available
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181006_operations_dashboard_users_with_projects_added.yml b/config/metrics/counts_28d/20210216181006_operations_dashboard_users_with_projects_added.yml
index 5fde9570540..2954560a8ca 100644
--- a/config/metrics/counts_28d/20210216181006_operations_dashboard_users_with_projects_added.yml
+++ b/config/metrics/counts_28d/20210216181006_operations_dashboard_users_with_projects_added.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.monitor.operations_dashboard_users_with_projects_added
description: Active users with projects on operations dashboard
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: metrics
value_type: number
@@ -11,9 +11,10 @@ status: data_available
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181050_packages.yml b/config/metrics/counts_28d/20210216181050_packages.yml
index d818f90c7a0..1603e8f8568 100644
--- a/config/metrics/counts_28d/20210216181050_packages.yml
+++ b/config/metrics/counts_28d/20210216181050_packages.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181057_projects_with_packages.yml b/config/metrics/counts_28d/20210216181057_projects_with_packages.yml
index bd8ec61b39f..5d106bcb3a4 100644
--- a/config/metrics/counts_28d/20210216181057_projects_with_packages.yml
+++ b/config/metrics/counts_28d/20210216181057_projects_with_packages.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181139_issues.yml b/config/metrics/counts_28d/20210216181139_issues.yml
index 8264ea12af0..b3080dbde7c 100644
--- a/config/metrics/counts_28d/20210216181139_issues.yml
+++ b/config/metrics/counts_28d/20210216181139_issues.yml
@@ -18,3 +18,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181141_notes.yml b/config/metrics/counts_28d/20210216181141_notes.yml
index d041f9b8685..92ffc9ab5ef 100644
--- a/config/metrics/counts_28d/20210216181141_notes.yml
+++ b/config/metrics/counts_28d/20210216181141_notes.yml
@@ -9,11 +9,12 @@ product_category: issue_tracking
value_type: number
status: data_available
time_frame: 28d
-data_source: database
+data_source: database
distribution:
- ce
-- ee
+- ee
tier:
- free
-- premium
+- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181143_projects.yml b/config/metrics/counts_28d/20210216181143_projects.yml
index a367ade1802..2ad6f985b4b 100644
--- a/config/metrics/counts_28d/20210216181143_projects.yml
+++ b/config/metrics/counts_28d/20210216181143_projects.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: usage_activity_by_stage_monthly.plan.projects
description: Count of MAU creating projects
product_section: dev
-product_stage: plan
+product_stage: plan
product_group: group::project management
product_category: projects
value_type: number
@@ -12,8 +12,9 @@ time_frame: 28d
data_source: database
distribution:
- ce
-- ee
+- ee
tier:
- free
-- premium
-- ultimate
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181145_todos.yml b/config/metrics/counts_28d/20210216181145_todos.yml
index 43a19351939..88aece81a3e 100644
--- a/config/metrics/counts_28d/20210216181145_todos.yml
+++ b/config/metrics/counts_28d/20210216181145_todos.yml
@@ -5,15 +5,16 @@ description: Count of MAU creating todos
product_section: dev
product_stage: plan
product_group: group::project management
-product_category: issue_tracking
+product_category: issue_tracking
value_type: number
status: data_available
time_frame: 28d
-data_source: database
+data_source: database
distribution:
- ce
-- ee
+- ee
tier:
- free
-- premium
+- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml b/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml
index 708df218357..c26e76645f8 100644
--- a/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml
+++ b/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml
@@ -1,18 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.plan.service_desk_enabled_projects
-description:
+description:
product_section: dev
-product_stage:
+product_stage:
product_group: group::plan
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181148_service_desk_issues.yml b/config/metrics/counts_28d/20210216181148_service_desk_issues.yml
index 0a8bc14a581..6dcf7127148 100644
--- a/config/metrics/counts_28d/20210216181148_service_desk_issues.yml
+++ b/config/metrics/counts_28d/20210216181148_service_desk_issues.yml
@@ -1,18 +1,19 @@
---
data_category: Operational
key_path: usage_activity_by_stage_monthly.plan.service_desk_issues
-description:
+description:
product_section: dev
-product_stage:
+product_stage:
product_group: group::plan
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181150_projects_jira_active.yml b/config/metrics/counts_28d/20210216181150_projects_jira_active.yml
index 60be7632ceb..51991dada22 100644
--- a/config/metrics/counts_28d/20210216181150_projects_jira_active.yml
+++ b/config/metrics/counts_28d/20210216181150_projects_jira_active.yml
@@ -1,17 +1,18 @@
---
data_category: Operational
key_path: usage_activity_by_stage_monthly.plan.projects_jira_active
-description:
+description:
product_section: dev
-product_stage:
+product_stage:
product_group: group::plan
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181152_projects_jira_dvcs_cloud_active.yml b/config/metrics/counts_28d/20210216181152_projects_jira_dvcs_cloud_active.yml
index bab2db5ad43..e82186f4c78 100644
--- a/config/metrics/counts_28d/20210216181152_projects_jira_dvcs_cloud_active.yml
+++ b/config/metrics/counts_28d/20210216181152_projects_jira_dvcs_cloud_active.yml
@@ -1,17 +1,18 @@
---
data_category: Operational
key_path: usage_activity_by_stage_monthly.plan.projects_jira_dvcs_cloud_active
-description:
+description:
product_section: dev
-product_stage:
+product_stage:
product_group: group::plan
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181154_projects_jira_dvcs_server_active.yml b/config/metrics/counts_28d/20210216181154_projects_jira_dvcs_server_active.yml
index 0d9a42d3512..500800a6285 100644
--- a/config/metrics/counts_28d/20210216181154_projects_jira_dvcs_server_active.yml
+++ b/config/metrics/counts_28d/20210216181154_projects_jira_dvcs_server_active.yml
@@ -1,17 +1,18 @@
---
data_category: Operational
key_path: usage_activity_by_stage_monthly.plan.projects_jira_dvcs_server_active
-description:
+description:
product_section: dev
-product_stage:
+product_stage:
product_group: group::plan
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181158_epics.yml b/config/metrics/counts_28d/20210216181158_epics.yml
index 8b5694c96c0..db7e8870c6a 100644
--- a/config/metrics/counts_28d/20210216181158_epics.yml
+++ b/config/metrics/counts_28d/20210216181158_epics.yml
@@ -1,17 +1,20 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.plan.epics
-description:
+description:
product_section: dev
-product_stage:
+product_stage:
product_group: group::plan
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216181200_label_lists.yml b/config/metrics/counts_28d/20210216181200_label_lists.yml
index 354c8c3f41b..91463a4678c 100644
--- a/config/metrics/counts_28d/20210216181200_label_lists.yml
+++ b/config/metrics/counts_28d/20210216181200_label_lists.yml
@@ -4,16 +4,17 @@ key_path: usage_activity_by_stage_monthly.plan.label_lists
description: Count of MAU creating label lists on Boards
product_section: dev
product_stage: plan
-product_group: group::project management
-product_category: boards
+product_group: group::project management
+product_category: boards
value_type: number
status: data_available
time_frame: 28d
-data_source: database
+data_source: database
distribution:
- ce
-- ee
+- ee
tier:
- free
-- premium
-- ultimate
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181304_g_project_management_issue_title_changed_monthly.yml b/config/metrics/counts_28d/20210216181304_g_project_management_issue_title_changed_monthly.yml
index 545741e02c5..c00f26994d8 100644
--- a/config/metrics/counts_28d/20210216181304_g_project_management_issue_title_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181304_g_project_management_issue_title_changed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181308_g_project_management_issue_description_changed_monthly.yml b/config/metrics/counts_28d/20210216181308_g_project_management_issue_description_changed_monthly.yml
index 6afaaf788d2..6610a4df2d3 100644
--- a/config/metrics/counts_28d/20210216181308_g_project_management_issue_description_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181308_g_project_management_issue_description_changed_monthly.yml
@@ -12,8 +12,9 @@ time_frame: 28d
data_source: redis_hll
distribution:
- ce
-- ee
+- ee
tier:
- free
-- premium
+- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181311_g_project_management_issue_assignee_changed_monthly.yml b/config/metrics/counts_28d/20210216181311_g_project_management_issue_assignee_changed_monthly.yml
index 0fbdb16384f..cd400db57ea 100644
--- a/config/metrics/counts_28d/20210216181311_g_project_management_issue_assignee_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181311_g_project_management_issue_assignee_changed_monthly.yml
@@ -11,10 +11,10 @@ status: data_available
time_frame: 28d
data_source: redis_hll
distribution:
-- ce
-- ee
+- ce
+- ee
tier:
-- free
-- premium
-- ultimate
-
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181315_g_project_management_issue_made_confidential_monthly.yml b/config/metrics/counts_28d/20210216181315_g_project_management_issue_made_confidential_monthly.yml
index 64584106f54..afc08c91ed1 100644
--- a/config/metrics/counts_28d/20210216181315_g_project_management_issue_made_confidential_monthly.yml
+++ b/config/metrics/counts_28d/20210216181315_g_project_management_issue_made_confidential_monthly.yml
@@ -12,8 +12,9 @@ time_frame: 28d
data_source: redis_hll
distribution:
- ce
-- ee
+- ee
tier:
- free
- premium
-- ultimate
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181319_g_project_management_issue_made_visible_monthly.yml b/config/metrics/counts_28d/20210216181319_g_project_management_issue_made_visible_monthly.yml
index 12ad3c7469e..871583812ea 100644
--- a/config/metrics/counts_28d/20210216181319_g_project_management_issue_made_visible_monthly.yml
+++ b/config/metrics/counts_28d/20210216181319_g_project_management_issue_made_visible_monthly.yml
@@ -12,8 +12,9 @@ time_frame: 28d
data_source: redis_hll
distribution:
- ce
-- ee
+- ee
tier:
- free
- premium
-- ultimate
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml b/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml
index 1e1a93572a2..d330defab80 100644
--- a/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml
+++ b/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml
@@ -12,8 +12,9 @@ time_frame: 28d
data_source: redis_hll
distribution:
- ce
-- ee
+- ee
tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181326_g_project_management_issue_closed_monthly.yml b/config/metrics/counts_28d/20210216181326_g_project_management_issue_closed_monthly.yml
index c5f26b01f76..abfd7c56e5e 100644
--- a/config/metrics/counts_28d/20210216181326_g_project_management_issue_closed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181326_g_project_management_issue_closed_monthly.yml
@@ -12,8 +12,9 @@ time_frame: 28d
data_source: redis_hll
distribution:
- ce
-- ee
+- ee
tier:
- free
-- premium
+- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181330_g_project_management_issue_reopened_monthly.yml b/config/metrics/counts_28d/20210216181330_g_project_management_issue_reopened_monthly.yml
index 79148942f11..c70ad295be9 100644
--- a/config/metrics/counts_28d/20210216181330_g_project_management_issue_reopened_monthly.yml
+++ b/config/metrics/counts_28d/20210216181330_g_project_management_issue_reopened_monthly.yml
@@ -12,8 +12,9 @@ time_frame: 28d
data_source: redis_hll
distribution:
- ce
-- ee
+- ee
tier:
- free
-- premium
+- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181334_g_project_management_issue_label_changed_monthly.yml b/config/metrics/counts_28d/20210216181334_g_project_management_issue_label_changed_monthly.yml
index aa6c7f74a34..e17f4f25823 100644
--- a/config/metrics/counts_28d/20210216181334_g_project_management_issue_label_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181334_g_project_management_issue_label_changed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181337_g_project_management_issue_milestone_changed_monthly.yml b/config/metrics/counts_28d/20210216181337_g_project_management_issue_milestone_changed_monthly.yml
index fc2b81eaf96..bb1219ce38b 100644
--- a/config/metrics/counts_28d/20210216181337_g_project_management_issue_milestone_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181337_g_project_management_issue_milestone_changed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181348_g_project_management_issue_cross_referenced_monthly.yml b/config/metrics/counts_28d/20210216181348_g_project_management_issue_cross_referenced_monthly.yml
index da20c78f10d..c34403dbee9 100644
--- a/config/metrics/counts_28d/20210216181348_g_project_management_issue_cross_referenced_monthly.yml
+++ b/config/metrics/counts_28d/20210216181348_g_project_management_issue_cross_referenced_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181352_g_project_management_issue_moved_monthly.yml b/config/metrics/counts_28d/20210216181352_g_project_management_issue_moved_monthly.yml
index 80c55c9c75f..53a4ddd973f 100644
--- a/config/metrics/counts_28d/20210216181352_g_project_management_issue_moved_monthly.yml
+++ b/config/metrics/counts_28d/20210216181352_g_project_management_issue_moved_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181356_g_project_management_issue_related_monthly.yml b/config/metrics/counts_28d/20210216181356_g_project_management_issue_related_monthly.yml
index 30e688b95f7..24f380bdefc 100644
--- a/config/metrics/counts_28d/20210216181356_g_project_management_issue_related_monthly.yml
+++ b/config/metrics/counts_28d/20210216181356_g_project_management_issue_related_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181400_g_project_management_issue_unrelated_monthly.yml b/config/metrics/counts_28d/20210216181400_g_project_management_issue_unrelated_monthly.yml
index a5786dcc00e..e80b69a6eab 100644
--- a/config/metrics/counts_28d/20210216181400_g_project_management_issue_unrelated_monthly.yml
+++ b/config/metrics/counts_28d/20210216181400_g_project_management_issue_unrelated_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181403_g_project_management_issue_marked_as_duplicate_monthly.yml b/config/metrics/counts_28d/20210216181403_g_project_management_issue_marked_as_duplicate_monthly.yml
index ccc96aefc7b..4aba7913e10 100644
--- a/config/metrics/counts_28d/20210216181403_g_project_management_issue_marked_as_duplicate_monthly.yml
+++ b/config/metrics/counts_28d/20210216181403_g_project_management_issue_marked_as_duplicate_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181407_g_project_management_issue_locked_monthly.yml b/config/metrics/counts_28d/20210216181407_g_project_management_issue_locked_monthly.yml
index 38d1cddb8ff..bcf6139f9f0 100644
--- a/config/metrics/counts_28d/20210216181407_g_project_management_issue_locked_monthly.yml
+++ b/config/metrics/counts_28d/20210216181407_g_project_management_issue_locked_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181411_g_project_management_issue_unlocked_monthly.yml b/config/metrics/counts_28d/20210216181411_g_project_management_issue_unlocked_monthly.yml
index 2045f29d91b..c6c415c7a06 100644
--- a/config/metrics/counts_28d/20210216181411_g_project_management_issue_unlocked_monthly.yml
+++ b/config/metrics/counts_28d/20210216181411_g_project_management_issue_unlocked_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181424_g_project_management_issue_designs_added_monthly.yml b/config/metrics/counts_28d/20210216181424_g_project_management_issue_designs_added_monthly.yml
index a9a6335b158..a2f5aba207c 100644
--- a/config/metrics/counts_28d/20210216181424_g_project_management_issue_designs_added_monthly.yml
+++ b/config/metrics/counts_28d/20210216181424_g_project_management_issue_designs_added_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181427_g_project_management_issue_designs_modified_monthly.yml b/config/metrics/counts_28d/20210216181427_g_project_management_issue_designs_modified_monthly.yml
index b029c819f21..68fd822154d 100644
--- a/config/metrics/counts_28d/20210216181427_g_project_management_issue_designs_modified_monthly.yml
+++ b/config/metrics/counts_28d/20210216181427_g_project_management_issue_designs_modified_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181431_g_project_management_issue_designs_removed_monthly.yml b/config/metrics/counts_28d/20210216181431_g_project_management_issue_designs_removed_monthly.yml
index a47c5a7b4dd..c33d75e7cea 100644
--- a/config/metrics/counts_28d/20210216181431_g_project_management_issue_designs_removed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181431_g_project_management_issue_designs_removed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181435_g_project_management_issue_due_date_changed_monthly.yml b/config/metrics/counts_28d/20210216181435_g_project_management_issue_due_date_changed_monthly.yml
index 13e127d9235..3f817290468 100644
--- a/config/metrics/counts_28d/20210216181435_g_project_management_issue_due_date_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181435_g_project_management_issue_due_date_changed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181438_g_project_management_issue_time_estimate_changed_monthly.yml b/config/metrics/counts_28d/20210216181438_g_project_management_issue_time_estimate_changed_monthly.yml
index d6a364929bc..5f84f8b925a 100644
--- a/config/metrics/counts_28d/20210216181438_g_project_management_issue_time_estimate_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181438_g_project_management_issue_time_estimate_changed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181442_g_project_management_issue_time_spent_changed_monthly.yml b/config/metrics/counts_28d/20210216181442_g_project_management_issue_time_spent_changed_monthly.yml
index fe0386739ba..3933f65c1e6 100644
--- a/config/metrics/counts_28d/20210216181442_g_project_management_issue_time_spent_changed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181442_g_project_management_issue_time_spent_changed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181446_g_project_management_issue_comment_added_monthly.yml b/config/metrics/counts_28d/20210216181446_g_project_management_issue_comment_added_monthly.yml
index e2ff10cb06f..3bea2ecf08e 100644
--- a/config/metrics/counts_28d/20210216181446_g_project_management_issue_comment_added_monthly.yml
+++ b/config/metrics/counts_28d/20210216181446_g_project_management_issue_comment_added_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181450_g_project_management_issue_comment_edited_monthly.yml b/config/metrics/counts_28d/20210216181450_g_project_management_issue_comment_edited_monthly.yml
index 610746013fd..38f0f295dcc 100644
--- a/config/metrics/counts_28d/20210216181450_g_project_management_issue_comment_edited_monthly.yml
+++ b/config/metrics/counts_28d/20210216181450_g_project_management_issue_comment_edited_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181453_g_project_management_issue_comment_removed_monthly.yml b/config/metrics/counts_28d/20210216181453_g_project_management_issue_comment_removed_monthly.yml
index 776fc707274..bc10624fd20 100644
--- a/config/metrics/counts_28d/20210216181453_g_project_management_issue_comment_removed_monthly.yml
+++ b/config/metrics/counts_28d/20210216181453_g_project_management_issue_comment_removed_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181501_g_project_management_issue_cloned_monthly.yml b/config/metrics/counts_28d/20210216181501_g_project_management_issue_cloned_monthly.yml
index e509b4d2af2..5c94aafe2b5 100644
--- a/config/metrics/counts_28d/20210216181501_g_project_management_issue_cloned_monthly.yml
+++ b/config/metrics/counts_28d/20210216181501_g_project_management_issue_cloned_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181504_issues_edit_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216181504_issues_edit_total_unique_counts_monthly.yml
index f0234ca62a6..6ac1d0acb72 100644
--- a/config/metrics/counts_28d/20210216181504_issues_edit_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216181504_issues_edit_total_unique_counts_monthly.yml
@@ -17,3 +17,7 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- smau
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216181923_successful_deployments.yml b/config/metrics/counts_28d/20210216181923_successful_deployments.yml
index 8a8137fb6e5..c7878ed9283 100644
--- a/config/metrics/counts_28d/20210216181923_successful_deployments.yml
+++ b/config/metrics/counts_28d/20210216181923_successful_deployments.yml
@@ -17,3 +17,5 @@ tier:
- free
- premium
- ultimate
+skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181924_failed_deployments.yml b/config/metrics/counts_28d/20210216181924_failed_deployments.yml
index 0b483d91f5f..00b148e51d1 100644
--- a/config/metrics/counts_28d/20210216181924_failed_deployments.yml
+++ b/config/metrics/counts_28d/20210216181924_failed_deployments.yml
@@ -17,3 +17,5 @@ tier:
- free
- premium
- ultimate
+skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181935_deployments.yml b/config/metrics/counts_28d/20210216181935_deployments.yml
index 6c38d6cd234..751b2bb52d8 100644
--- a/config/metrics/counts_28d/20210216181935_deployments.yml
+++ b/config/metrics/counts_28d/20210216181935_deployments.yml
@@ -16,3 +16,6 @@ tier:
- free
- premium
- ultimate
+skip_validation: true
+performance_indicator_type:
+- smau
diff --git a/config/metrics/counts_28d/20210216181937_failed_deployments.yml b/config/metrics/counts_28d/20210216181937_failed_deployments.yml
index c38d518eef4..3c772526e78 100644
--- a/config/metrics/counts_28d/20210216181937_failed_deployments.yml
+++ b/config/metrics/counts_28d/20210216181937_failed_deployments.yml
@@ -17,3 +17,5 @@ tier:
- free
- premium
- ultimate
+skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181939_releases.yml b/config/metrics/counts_28d/20210216181939_releases.yml
index ff7864d2ea0..e2536a92e1a 100644
--- a/config/metrics/counts_28d/20210216181939_releases.yml
+++ b/config/metrics/counts_28d/20210216181939_releases.yml
@@ -17,3 +17,7 @@ tier:
- free
- premium
- ultimate
+skip_validation: true
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216181941_successful_deployments.yml b/config/metrics/counts_28d/20210216181941_successful_deployments.yml
index 5e4ca7cfd50..f9a8d048ff0 100644
--- a/config/metrics/counts_28d/20210216181941_successful_deployments.yml
+++ b/config/metrics/counts_28d/20210216181941_successful_deployments.yml
@@ -17,3 +17,5 @@ tier:
- free
- premium
- ultimate
+skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181951_clusters_applications_runner.yml b/config/metrics/counts_28d/20210216181951_clusters_applications_runner.yml
index f80caef1333..d66bc893846 100644
--- a/config/metrics/counts_28d/20210216181951_clusters_applications_runner.yml
+++ b/config/metrics/counts_28d/20210216181951_clusters_applications_runner.yml
@@ -9,7 +9,7 @@ product_category: runner
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -18,3 +18,4 @@ tier:
- premium
- ultimate
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216181956_user_unique_users_all_secure_scanners.yml b/config/metrics/counts_28d/20210216181956_user_unique_users_all_secure_scanners.yml
index a1d2b955480..fa593c4443c 100644
--- a/config/metrics/counts_28d/20210216181956_user_unique_users_all_secure_scanners.yml
+++ b/config/metrics/counts_28d/20210216181956_user_unique_users_all_secure_scanners.yml
@@ -1,17 +1,19 @@
---
data_category: Operational
key_path: usage_activity_by_stage_monthly.secure.user_unique_users_all_secure_scanners
-description:
+description:
product_section: sec
-product_stage:
+product_stage:
product_group: group::secure
-product_category:
+product_category:
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type:
+- smau
diff --git a/config/metrics/counts_28d/20210216182034_deploy_keys.yml b/config/metrics/counts_28d/20210216182034_deploy_keys.yml
index 62ce9d03fa0..16bb8d53e6d 100644
--- a/config/metrics/counts_28d/20210216182034_deploy_keys.yml
+++ b/config/metrics/counts_28d/20210216182034_deploy_keys.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182036_keys.yml b/config/metrics/counts_28d/20210216182036_keys.yml
index 95d2524dd6e..c1bbdbbe4ca 100644
--- a/config/metrics/counts_28d/20210216182036_keys.yml
+++ b/config/metrics/counts_28d/20210216182036_keys.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182038_remote_mirrors.yml b/config/metrics/counts_28d/20210216182038_remote_mirrors.yml
index 01375ac0584..3475eacdf44 100644
--- a/config/metrics/counts_28d/20210216182038_remote_mirrors.yml
+++ b/config/metrics/counts_28d/20210216182038_remote_mirrors.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182040_action_monthly_active_users_project_repo.yml b/config/metrics/counts_28d/20210216182040_action_monthly_active_users_project_repo.yml
index cecef03078d..885cf560521 100644
--- a/config/metrics/counts_28d/20210216182040_action_monthly_active_users_project_repo.yml
+++ b/config/metrics/counts_28d/20210216182040_action_monthly_active_users_project_repo.yml
@@ -17,3 +17,7 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- smau
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216182041_action_monthly_active_users_git_write.yml b/config/metrics/counts_28d/20210216182041_action_monthly_active_users_git_write.yml
index b91b87800e1..087afb371fa 100644
--- a/config/metrics/counts_28d/20210216182041_action_monthly_active_users_git_write.yml
+++ b/config/metrics/counts_28d/20210216182041_action_monthly_active_users_git_write.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182051_protected_branches.yml b/config/metrics/counts_28d/20210216182051_protected_branches.yml
index 196ecce497e..acb1914f1c6 100644
--- a/config/metrics/counts_28d/20210216182051_protected_branches.yml
+++ b/config/metrics/counts_28d/20210216182051_protected_branches.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182102_wiki_action_monthly.yml b/config/metrics/counts_28d/20210216182102_wiki_action_monthly.yml
index 118a33016a5..fab51aaa8a0 100644
--- a/config/metrics/counts_28d/20210216182102_wiki_action_monthly.yml
+++ b/config/metrics/counts_28d/20210216182102_wiki_action_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - wiki_action
+ - wiki_action
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182106_design_action_monthly.yml b/config/metrics/counts_28d/20210216182106_design_action_monthly.yml
index b725b30a03f..3f05898ed4e 100644
--- a/config/metrics/counts_28d/20210216182106_design_action_monthly.yml
+++ b/config/metrics/counts_28d/20210216182106_design_action_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - design_action
+ - design_action
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182109_project_action_monthly.yml b/config/metrics/counts_28d/20210216182109_project_action_monthly.yml
index fa8c04668b6..7ed87e33e1e 100644
--- a/config/metrics/counts_28d/20210216182109_project_action_monthly.yml
+++ b/config/metrics/counts_28d/20210216182109_project_action_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - project_action
+ - project_action
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182125_user_sast_jobs.yml b/config/metrics/counts_28d/20210216182125_user_sast_jobs.yml
index 1cac9649385..07b29b212d6 100644
--- a/config/metrics/counts_28d/20210216182125_user_sast_jobs.yml
+++ b/config/metrics/counts_28d/20210216182125_user_sast_jobs.yml
@@ -17,3 +17,6 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216182127_user_secret_detection_jobs.yml b/config/metrics/counts_28d/20210216182127_user_secret_detection_jobs.yml
index c1da3f76981..42d3b6c88dc 100644
--- a/config/metrics/counts_28d/20210216182127_user_secret_detection_jobs.yml
+++ b/config/metrics/counts_28d/20210216182127_user_secret_detection_jobs.yml
@@ -17,3 +17,6 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216182129_sast_pipeline.yml b/config/metrics/counts_28d/20210216182129_sast_pipeline.yml
index a340dc960d3..5057ab925e9 100644
--- a/config/metrics/counts_28d/20210216182129_sast_pipeline.yml
+++ b/config/metrics/counts_28d/20210216182129_sast_pipeline.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182131_secret_detection_pipeline.yml b/config/metrics/counts_28d/20210216182131_secret_detection_pipeline.yml
index 171a9696d12..7ce0f4cb4a0 100644
--- a/config/metrics/counts_28d/20210216182131_secret_detection_pipeline.yml
+++ b/config/metrics/counts_28d/20210216182131_secret_detection_pipeline.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216182136_i_testing_test_case_parsed_monthly.yml b/config/metrics/counts_28d/20210216182136_i_testing_test_case_parsed_monthly.yml
index 0a94cd08b0e..23a7074e72a 100644
--- a/config/metrics/counts_28d/20210216182136_i_testing_test_case_parsed_monthly.yml
+++ b/config/metrics/counts_28d/20210216182136_i_testing_test_case_parsed_monthly.yml
@@ -18,3 +18,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183159_projects_with_alerts_created.yml b/config/metrics/counts_28d/20210216183159_projects_with_alerts_created.yml
index 64d403d10d3..196fc834155 100644
--- a/config/metrics/counts_28d/20210216183159_projects_with_alerts_created.yml
+++ b/config/metrics/counts_28d/20210216183159_projects_with_alerts_created.yml
@@ -3,7 +3,7 @@ data_category: Optional
key_path: counts_monthly.projects_with_alerts_created
description: Monthly count of unique projects with HTTP alerting enabled
product_section: ops
-product_stage:
+product_stage:
product_group: group::monitor
product_category: metrics
value_type: number
@@ -11,9 +11,10 @@ status: data_available
time_frame: 28d
data_source: database
distribution:
- - ce
- - ee
+- ce
+- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183627_omniauth_providers.yml b/config/metrics/counts_28d/20210216183627_omniauth_providers.yml
index 2a3544fa601..ccea430d8ac 100644
--- a/config/metrics/counts_28d/20210216183627_omniauth_providers.yml
+++ b/config/metrics/counts_28d/20210216183627_omniauth_providers.yml
@@ -16,3 +16,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183634_standard.yml b/config/metrics/counts_28d/20210216183634_standard.yml
index 0144c251c93..0fd7d6f4708 100644
--- a/config/metrics/counts_28d/20210216183634_standard.yml
+++ b/config/metrics/counts_28d/20210216183634_standard.yml
@@ -16,3 +16,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183636_google_oauth2.yml b/config/metrics/counts_28d/20210216183636_google_oauth2.yml
index ce5112fcc88..7d9bdd6c5dd 100644
--- a/config/metrics/counts_28d/20210216183636_google_oauth2.yml
+++ b/config/metrics/counts_28d/20210216183636_google_oauth2.yml
@@ -16,3 +16,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml b/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml
index 0e2933ec421..296b0aeda37 100644
--- a/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml
+++ b/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml
@@ -17,3 +17,6 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216183640_gitlab.yml b/config/metrics/counts_28d/20210216183640_gitlab.yml
index c72492f4abb..dd93201f085 100644
--- a/config/metrics/counts_28d/20210216183640_gitlab.yml
+++ b/config/metrics/counts_28d/20210216183640_gitlab.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183712_total.yml b/config/metrics/counts_28d/20210216183712_total.yml
index 6122ed956a8..370eba135ea 100644
--- a/config/metrics/counts_28d/20210216183712_total.yml
+++ b/config/metrics/counts_28d/20210216183712_total.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183714_gitlab_project.yml b/config/metrics/counts_28d/20210216183714_gitlab_project.yml
index 49a474794e2..0318e869c40 100644
--- a/config/metrics/counts_28d/20210216183714_gitlab_project.yml
+++ b/config/metrics/counts_28d/20210216183714_gitlab_project.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183716_gitlab.yml b/config/metrics/counts_28d/20210216183716_gitlab.yml
index 0ce3dd43d9e..16f9295459a 100644
--- a/config/metrics/counts_28d/20210216183716_gitlab.yml
+++ b/config/metrics/counts_28d/20210216183716_gitlab.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183718_github.yml b/config/metrics/counts_28d/20210216183718_github.yml
index 8af4721aae7..e2bf0a2c5a9 100644
--- a/config/metrics/counts_28d/20210216183718_github.yml
+++ b/config/metrics/counts_28d/20210216183718_github.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183720_bitbucket.yml b/config/metrics/counts_28d/20210216183720_bitbucket.yml
index 1119c77d72c..cab61cd4472 100644
--- a/config/metrics/counts_28d/20210216183720_bitbucket.yml
+++ b/config/metrics/counts_28d/20210216183720_bitbucket.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183722_bitbucket_server.yml b/config/metrics/counts_28d/20210216183722_bitbucket_server.yml
index 7abd0444a55..176ef054949 100644
--- a/config/metrics/counts_28d/20210216183722_bitbucket_server.yml
+++ b/config/metrics/counts_28d/20210216183722_bitbucket_server.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183724_gitea.yml b/config/metrics/counts_28d/20210216183724_gitea.yml
index e55ddcdef7c..43270b79fa5 100644
--- a/config/metrics/counts_28d/20210216183724_gitea.yml
+++ b/config/metrics/counts_28d/20210216183724_gitea.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183726_git.yml b/config/metrics/counts_28d/20210216183726_git.yml
index 665670c2a9c..cd8e524de5b 100644
--- a/config/metrics/counts_28d/20210216183726_git.yml
+++ b/config/metrics/counts_28d/20210216183726_git.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183728_manifest.yml b/config/metrics/counts_28d/20210216183728_manifest.yml
index aca33145416..f1dd348112b 100644
--- a/config/metrics/counts_28d/20210216183728_manifest.yml
+++ b/config/metrics/counts_28d/20210216183728_manifest.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183730_jira.yml b/config/metrics/counts_28d/20210216183730_jira.yml
index 90109ccac0d..e540fda2c14 100644
--- a/config/metrics/counts_28d/20210216183730_jira.yml
+++ b/config/metrics/counts_28d/20210216183730_jira.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183731_fogbugz.yml b/config/metrics/counts_28d/20210216183731_fogbugz.yml
index f437b1b31f1..716f4245eca 100644
--- a/config/metrics/counts_28d/20210216183731_fogbugz.yml
+++ b/config/metrics/counts_28d/20210216183731_fogbugz.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183733_phabricator.yml b/config/metrics/counts_28d/20210216183733_phabricator.yml
index b63ae23aa44..2e6dbdfc791 100644
--- a/config/metrics/counts_28d/20210216183733_phabricator.yml
+++ b/config/metrics/counts_28d/20210216183733_phabricator.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183735_csv.yml b/config/metrics/counts_28d/20210216183735_csv.yml
index aa958aa3bcb..bca04d3b416 100644
--- a/config/metrics/counts_28d/20210216183735_csv.yml
+++ b/config/metrics/counts_28d/20210216183735_csv.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183737_groups_imported.yml b/config/metrics/counts_28d/20210216183737_groups_imported.yml
index 48a2231700a..cb86542bd45 100644
--- a/config/metrics/counts_28d/20210216183737_groups_imported.yml
+++ b/config/metrics/counts_28d/20210216183737_groups_imported.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183817_user_coverage_fuzzing_jobs.yml b/config/metrics/counts_28d/20210216183817_user_coverage_fuzzing_jobs.yml
index a348b5a9717..0dd8f7b9f68 100644
--- a/config/metrics/counts_28d/20210216183817_user_coverage_fuzzing_jobs.yml
+++ b/config/metrics/counts_28d/20210216183817_user_coverage_fuzzing_jobs.yml
@@ -9,9 +9,12 @@ product_category: ''
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216183826_sast_scans.yml b/config/metrics/counts_28d/20210216183826_sast_scans.yml
index 9299f45041c..3e24bb9a28c 100644
--- a/config/metrics/counts_28d/20210216183826_sast_scans.yml
+++ b/config/metrics/counts_28d/20210216183826_sast_scans.yml
@@ -9,9 +9,10 @@ product_category: ''
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183830_container_scanning_scans.yml b/config/metrics/counts_28d/20210216183830_container_scanning_scans.yml
index ca3d9284456..93ac69f5434 100644
--- a/config/metrics/counts_28d/20210216183830_container_scanning_scans.yml
+++ b/config/metrics/counts_28d/20210216183830_container_scanning_scans.yml
@@ -9,9 +9,10 @@ product_category: ''
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183832_dast_scans.yml b/config/metrics/counts_28d/20210216183832_dast_scans.yml
index b83d5da0f9d..db70df0fd9c 100644
--- a/config/metrics/counts_28d/20210216183832_dast_scans.yml
+++ b/config/metrics/counts_28d/20210216183832_dast_scans.yml
@@ -9,9 +9,10 @@ product_category: ''
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183834_secret_detection_scans.yml b/config/metrics/counts_28d/20210216183834_secret_detection_scans.yml
index 55e55c6b4a1..a1bf05e201b 100644
--- a/config/metrics/counts_28d/20210216183834_secret_detection_scans.yml
+++ b/config/metrics/counts_28d/20210216183834_secret_detection_scans.yml
@@ -9,9 +9,10 @@ product_category: ''
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183836_coverage_fuzzing_scans.yml b/config/metrics/counts_28d/20210216183836_coverage_fuzzing_scans.yml
index aac4dca0667..058e00a64bc 100644
--- a/config/metrics/counts_28d/20210216183836_coverage_fuzzing_scans.yml
+++ b/config/metrics/counts_28d/20210216183836_coverage_fuzzing_scans.yml
@@ -9,9 +9,10 @@ product_category: ''
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216183838_api_fuzzing_scans.yml b/config/metrics/counts_28d/20210216183838_api_fuzzing_scans.yml
index 8986ea82ac8..3fda9daa701 100644
--- a/config/metrics/counts_28d/20210216183838_api_fuzzing_scans.yml
+++ b/config/metrics/counts_28d/20210216183838_api_fuzzing_scans.yml
@@ -9,9 +9,10 @@ product_category: ''
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184024_g_edit_by_sse_monthly.yml b/config/metrics/counts_28d/20210216184024_g_edit_by_sse_monthly.yml
index d7b07b6c8a5..f962e1abba6 100644
--- a/config/metrics/counts_28d/20210216184024_g_edit_by_sse_monthly.yml
+++ b/config/metrics/counts_28d/20210216184024_g_edit_by_sse_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - g_edit_by_sse
+ - g_edit_by_sse
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184047_git_write_action_monthly.yml b/config/metrics/counts_28d/20210216184047_git_write_action_monthly.yml
index cc722bd3da2..f5ad324b0dc 100644
--- a/config/metrics/counts_28d/20210216184047_git_write_action_monthly.yml
+++ b/config/metrics/counts_28d/20210216184047_git_write_action_monthly.yml
@@ -13,7 +13,7 @@ data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
events:
- - git_write_action
+ - git_write_action
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184140_testing_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184140_testing_total_unique_counts_monthly.yml
index 3b86a4e46fb..3e6e920e3ec 100644
--- a/config/metrics/counts_28d/20210216184140_testing_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184140_testing_total_unique_counts_monthly.yml
@@ -14,3 +14,4 @@ distribution:
- ce
tier:
- free
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184255_i_snippets_show_monthly.yml b/config/metrics/counts_28d/20210216184255_i_snippets_show_monthly.yml
index 77386f794ac..fef847b51b4 100644
--- a/config/metrics/counts_28d/20210216184255_i_snippets_show_monthly.yml
+++ b/config/metrics/counts_28d/20210216184255_i_snippets_show_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184259_p_terraform_state_api_unique_users_monthly.yml b/config/metrics/counts_28d/20210216184259_p_terraform_state_api_unique_users_monthly.yml
index 19c8fe52d3b..2aec3aaa14c 100644
--- a/config/metrics/counts_28d/20210216184259_p_terraform_state_api_unique_users_monthly.yml
+++ b/config/metrics/counts_28d/20210216184259_p_terraform_state_api_unique_users_monthly.yml
@@ -17,3 +17,7 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- smau
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml b/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml
index cfc5123301f..ec5b2045f1c 100644
--- a/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml
+++ b/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184353_i_code_review_user_create_review_note_monthly.yml b/config/metrics/counts_28d/20210216184353_i_code_review_user_create_review_note_monthly.yml
index 9d31aafc1db..0ba31238281 100644
--- a/config/metrics/counts_28d/20210216184353_i_code_review_user_create_review_note_monthly.yml
+++ b/config/metrics/counts_28d/20210216184353_i_code_review_user_create_review_note_monthly.yml
@@ -13,6 +13,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184357_i_code_review_user_publish_review_monthly.yml b/config/metrics/counts_28d/20210216184357_i_code_review_user_publish_review_monthly.yml
index 41e1b2a1918..4c98ba7436c 100644
--- a/config/metrics/counts_28d/20210216184357_i_code_review_user_publish_review_monthly.yml
+++ b/config/metrics/counts_28d/20210216184357_i_code_review_user_publish_review_monthly.yml
@@ -13,6 +13,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184401_i_code_review_user_create_multiline_mr_comment_monthly.yml b/config/metrics/counts_28d/20210216184401_i_code_review_user_create_multiline_mr_comment_monthly.yml
index 9054ab2986a..1a18da75ec3 100644
--- a/config/metrics/counts_28d/20210216184401_i_code_review_user_create_multiline_mr_comment_monthly.yml
+++ b/config/metrics/counts_28d/20210216184401_i_code_review_user_create_multiline_mr_comment_monthly.yml
@@ -13,6 +13,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184405_i_code_review_user_edit_multiline_mr_comment_monthly.yml b/config/metrics/counts_28d/20210216184405_i_code_review_user_edit_multiline_mr_comment_monthly.yml
index 649272b492b..6565c65aa24 100644
--- a/config/metrics/counts_28d/20210216184405_i_code_review_user_edit_multiline_mr_comment_monthly.yml
+++ b/config/metrics/counts_28d/20210216184405_i_code_review_user_edit_multiline_mr_comment_monthly.yml
@@ -13,6 +13,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184446_i_code_review_user_vs_code_api_request_monthly.yml b/config/metrics/counts_28d/20210216184446_i_code_review_user_vs_code_api_request_monthly.yml
index 22d442d0d84..9418ff0bb15 100644
--- a/config/metrics/counts_28d/20210216184446_i_code_review_user_vs_code_api_request_monthly.yml
+++ b/config/metrics/counts_28d/20210216184446_i_code_review_user_vs_code_api_request_monthly.yml
@@ -13,6 +13,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184454_code_review_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184454_code_review_total_unique_counts_monthly.yml
index 8d3792288c9..747ded40348 100644
--- a/config/metrics/counts_28d/20210216184454_code_review_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184454_code_review_total_unique_counts_monthly.yml
@@ -13,6 +13,7 @@ distribution:
- ce
- ee
tier:
- - free
- - premium
- - ultimate
+- free
+- premium
+- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184517_p_ci_templates_5_min_production_app_monthly.yml b/config/metrics/counts_28d/20210216184517_p_ci_templates_5_min_production_app_monthly.yml
index 3ad6b97db37..1474f229d77 100644
--- a/config/metrics/counts_28d/20210216184517_p_ci_templates_5_min_production_app_monthly.yml
+++ b/config/metrics/counts_28d/20210216184517_p_ci_templates_5_min_production_app_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184523_p_ci_templates_auto_devops_monthly.yml b/config/metrics/counts_28d/20210216184523_p_ci_templates_auto_devops_monthly.yml
index ee2182d8c83..94dc4763471 100644
--- a/config/metrics/counts_28d/20210216184523_p_ci_templates_auto_devops_monthly.yml
+++ b/config/metrics/counts_28d/20210216184523_p_ci_templates_auto_devops_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184534_p_ci_templates_auto_devops_build_monthly.yml b/config/metrics/counts_28d/20210216184534_p_ci_templates_auto_devops_build_monthly.yml
index 01e0fbe81b2..8e8f11f034b 100644
--- a/config/metrics/counts_28d/20210216184534_p_ci_templates_auto_devops_build_monthly.yml
+++ b/config/metrics/counts_28d/20210216184534_p_ci_templates_auto_devops_build_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184538_p_ci_templates_auto_devops_deploy_monthly.yml b/config/metrics/counts_28d/20210216184538_p_ci_templates_auto_devops_deploy_monthly.yml
index c6f9087c9bc..200fb9a7c1e 100644
--- a/config/metrics/counts_28d/20210216184538_p_ci_templates_auto_devops_deploy_monthly.yml
+++ b/config/metrics/counts_28d/20210216184538_p_ci_templates_auto_devops_deploy_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184546_p_ci_templates_security_sast_monthly.yml b/config/metrics/counts_28d/20210216184546_p_ci_templates_security_sast_monthly.yml
index 2938236ef56..b264fe19f26 100644
--- a/config/metrics/counts_28d/20210216184546_p_ci_templates_security_sast_monthly.yml
+++ b/config/metrics/counts_28d/20210216184546_p_ci_templates_security_sast_monthly.yml
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184551_p_ci_templates_security_secret_detection_monthly.yml b/config/metrics/counts_28d/20210216184551_p_ci_templates_security_secret_detection_monthly.yml
index 15e28870d11..cfe17ea167d 100644
--- a/config/metrics/counts_28d/20210216184551_p_ci_templates_security_secret_detection_monthly.yml
+++ b/config/metrics/counts_28d/20210216184551_p_ci_templates_security_secret_detection_monthly.yml
@@ -15,3 +15,4 @@ distribution:
tier:
- free
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184555_p_ci_templates_terraform_base_latest_monthly.yml b/config/metrics/counts_28d/20210216184555_p_ci_templates_terraform_base_latest_monthly.yml
index 3bfa045b833..bd7a17b87ab 100644
--- a/config/metrics/counts_28d/20210216184555_p_ci_templates_terraform_base_latest_monthly.yml
+++ b/config/metrics/counts_28d/20210216184555_p_ci_templates_terraform_base_latest_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
index e3f418abaa2..a8a144c9f7e 100644
--- a/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
@@ -18,4 +18,4 @@ tier:
- free
- premium
- ultimate
-
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184830_i_package_maven_deploy_token_monthly.yml b/config/metrics/counts_28d/20210216184830_i_package_maven_deploy_token_monthly.yml
index 415d136fadc..cc9f97ee1d5 100644
--- a/config/metrics/counts_28d/20210216184830_i_package_maven_deploy_token_monthly.yml
+++ b/config/metrics/counts_28d/20210216184830_i_package_maven_deploy_token_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184834_i_package_npm_deploy_token_monthly.yml b/config/metrics/counts_28d/20210216184834_i_package_npm_deploy_token_monthly.yml
index 10e3d154698..d0dce27f3dc 100644
--- a/config/metrics/counts_28d/20210216184834_i_package_npm_deploy_token_monthly.yml
+++ b/config/metrics/counts_28d/20210216184834_i_package_npm_deploy_token_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184838_i_package_nuget_deploy_token_monthly.yml b/config/metrics/counts_28d/20210216184838_i_package_nuget_deploy_token_monthly.yml
index ea9d0c6434c..e8557007c34 100644
--- a/config/metrics/counts_28d/20210216184838_i_package_nuget_deploy_token_monthly.yml
+++ b/config/metrics/counts_28d/20210216184838_i_package_nuget_deploy_token_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184842_i_package_pypi_deploy_token_monthly.yml b/config/metrics/counts_28d/20210216184842_i_package_pypi_deploy_token_monthly.yml
index 5e840499c9e..f72bb17bedb 100644
--- a/config/metrics/counts_28d/20210216184842_i_package_pypi_deploy_token_monthly.yml
+++ b/config/metrics/counts_28d/20210216184842_i_package_pypi_deploy_token_monthly.yml
@@ -17,4 +17,4 @@ tier:
- free
- premium
- ultimate
-
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184850_deploy_token_packages_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184850_deploy_token_packages_total_unique_counts_monthly.yml
index 007a0087173..67968bb1520 100644
--- a/config/metrics/counts_28d/20210216184850_deploy_token_packages_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184850_deploy_token_packages_total_unique_counts_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184854_i_package_composer_user_monthly.yml b/config/metrics/counts_28d/20210216184854_i_package_composer_user_monthly.yml
index 9c7f0a48d2c..cb42ba4186e 100644
--- a/config/metrics/counts_28d/20210216184854_i_package_composer_user_monthly.yml
+++ b/config/metrics/counts_28d/20210216184854_i_package_composer_user_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184858_i_package_conan_user_monthly.yml b/config/metrics/counts_28d/20210216184858_i_package_conan_user_monthly.yml
index f4f53f344d3..e37d9e69c2d 100644
--- a/config/metrics/counts_28d/20210216184858_i_package_conan_user_monthly.yml
+++ b/config/metrics/counts_28d/20210216184858_i_package_conan_user_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184917_i_package_maven_user_monthly.yml b/config/metrics/counts_28d/20210216184917_i_package_maven_user_monthly.yml
index fbf543ab69b..8aadb66dfbb 100644
--- a/config/metrics/counts_28d/20210216184917_i_package_maven_user_monthly.yml
+++ b/config/metrics/counts_28d/20210216184917_i_package_maven_user_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184921_i_package_npm_user_monthly.yml b/config/metrics/counts_28d/20210216184921_i_package_npm_user_monthly.yml
index 8b73015fbfb..ef281ea174c 100644
--- a/config/metrics/counts_28d/20210216184921_i_package_npm_user_monthly.yml
+++ b/config/metrics/counts_28d/20210216184921_i_package_npm_user_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184925_i_package_nuget_user_monthly.yml b/config/metrics/counts_28d/20210216184925_i_package_nuget_user_monthly.yml
index 4df4da25bb3..e89c7811a4e 100644
--- a/config/metrics/counts_28d/20210216184925_i_package_nuget_user_monthly.yml
+++ b/config/metrics/counts_28d/20210216184925_i_package_nuget_user_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184929_i_package_pypi_user_monthly.yml b/config/metrics/counts_28d/20210216184929_i_package_pypi_user_monthly.yml
index f8047de893d..a1d3c6d1db4 100644
--- a/config/metrics/counts_28d/20210216184929_i_package_pypi_user_monthly.yml
+++ b/config/metrics/counts_28d/20210216184929_i_package_pypi_user_monthly.yml
@@ -17,3 +17,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210216184937_user_packages_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184937_user_packages_total_unique_counts_monthly.yml
index 826c7e660e6..b6f25efd154 100644
--- a/config/metrics/counts_28d/20210216184937_user_packages_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184937_user_packages_total_unique_counts_monthly.yml
@@ -17,3 +17,6 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- smau
+- gmau
diff --git a/config/metrics/counts_28d/20210216184957_ecosystem_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184957_ecosystem_total_unique_counts_monthly.yml
index 76452c300b7..825bcdb1a82 100644
--- a/config/metrics/counts_28d/20210216184957_ecosystem_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184957_ecosystem_total_unique_counts_monthly.yml
@@ -17,3 +17,6 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/config/metrics/counts_28d/20210301144228_o_pipeline_authoring_unique_users_pushing_mr_ciconfigfile_monthly.yml b/config/metrics/counts_28d/20210301144228_o_pipeline_authoring_unique_users_pushing_mr_ciconfigfile_monthly.yml
index 20bc2888444..680061913d1 100644
--- a/config/metrics/counts_28d/20210301144228_o_pipeline_authoring_unique_users_pushing_mr_ciconfigfile_monthly.yml
+++ b/config/metrics/counts_28d/20210301144228_o_pipeline_authoring_unique_users_pushing_mr_ciconfigfile_monthly.yml
@@ -19,3 +19,4 @@ tier:
- free
- premium
- ultimate
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210427102618_code_review_category_monthly_active_users.yml b/config/metrics/counts_28d/20210427102618_code_review_category_monthly_active_users.yml
index c5a8796d0c7..f092c87e80d 100644
--- a/config/metrics/counts_28d/20210427102618_code_review_category_monthly_active_users.yml
+++ b/config/metrics/counts_28d/20210427102618_code_review_category_monthly_active_users.yml
@@ -2,17 +2,17 @@
data_category: Optional
key_path: counts_monthly.aggregated_metrics.code_review_category_monthly_active_users
name: "0"
-description:
-product_section:
-product_stage:
-product_group:
-product_category:
+description:
+product_section:
+product_stage:
+product_group:
+product_category:
value_type: number
status: data_available
milestone: "13.12"
-introduced_by_url:
+introduced_by_url:
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- premium
- ultimate
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210427103010_code_review_extension_category_monthly_active_users.yml b/config/metrics/counts_28d/20210427103010_code_review_extension_category_monthly_active_users.yml
index 5dba13c4339..663bc22a8b1 100644
--- a/config/metrics/counts_28d/20210427103010_code_review_extension_category_monthly_active_users.yml
+++ b/config/metrics/counts_28d/20210427103010_code_review_extension_category_monthly_active_users.yml
@@ -2,17 +2,17 @@
data_category: Optional
key_path: counts_monthly.aggregated_metrics.code_review_extension_category_monthly_active_users
name: "0"
-description:
-product_section:
-product_stage:
-product_group:
-product_category:
+description:
+product_section:
+product_stage:
+product_group:
+product_category:
value_type: number
status: data_available
milestone: "13.12"
-introduced_by_url:
+introduced_by_url:
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- premium
- ultimate
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210427103119_code_review_group_monthly_active_users.yml b/config/metrics/counts_28d/20210427103119_code_review_group_monthly_active_users.yml
index 2a9c92b0840..16ca7da854d 100644
--- a/config/metrics/counts_28d/20210427103119_code_review_group_monthly_active_users.yml
+++ b/config/metrics/counts_28d/20210427103119_code_review_group_monthly_active_users.yml
@@ -2,17 +2,17 @@
data_category: Optional
key_path: counts_monthly.aggregated_metrics.code_review_group_monthly_active_users
name: "0"
-description:
-product_section:
-product_stage:
-product_group:
-product_category:
+description:
+product_section:
+product_stage:
+product_group:
+product_category:
value_type: number
status: data_available
milestone: "13.12"
-introduced_by_url:
+introduced_by_url:
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -21,3 +21,4 @@ tier:
- premium
- ultimate
skip_validation: true
+performance_indicator_type: []
diff --git a/config/metrics/counts_28d/20210427213346_geo_secondary_web_oauth_users.yml b/config/metrics/counts_28d/20210427213346_geo_secondary_web_oauth_users.yml
index 66589c662c5..34d9e157975 100644
--- a/config/metrics/counts_28d/20210427213346_geo_secondary_web_oauth_users.yml
+++ b/config/metrics/counts_28d/20210427213346_geo_secondary_web_oauth_users.yml
@@ -2,17 +2,17 @@
data_category: Optional
key_path: usage_activity_by_stage_monthly.enablement.geo_secondary_web_oauth_users
name: ""
-description:
-product_section:
-product_stage:
-product_group:
-product_category:
+description:
+product_section:
+product_stage:
+product_group:
+product_category:
value_type: number
status: data_available
milestone: "13.12"
-introduced_by_url:
+introduced_by_url:
time_frame: 28d
-data_source:
+data_source:
distribution:
- ce
- ee
@@ -21,3 +21,6 @@ tier:
- premium
- ultimate
skip_validation: true
+performance_indicator_type:
+- gmau
+- paid_gmau
diff --git a/doc/api/groups.md b/doc/api/groups.md
index 81bf6fd38c4..3831aef10c9 100644
--- a/doc/api/groups.md
+++ b/doc/api/groups.md
@@ -288,11 +288,8 @@ Parameters:
| `with_security_reports` | boolean | no | **(ULTIMATE)** Return only projects that have security reports artifacts present in any of their builds. This means "projects with security reports enabled". Default is `false` |
1. Order by similarity: Orders the results by a similarity score calculated from the provided `search`
-URL parameter. This is an [alpha](https://about.gitlab.com/handbook/product/gitlab-the-product/#alpha) feature [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/221043) in GitLab 13.3.
-
- The feature is behind a feature flag, you can [enable it](../administration/feature_flags.md#enable-or-disable-the-feature)
-with the `similarity_search` flag. When using `order_by=similarity` the `sort` parameter is
-ignored. When the `search` parameter is not provided, the API returns the projects ordered by `name`.
+URL parameter. When using `order_by=similarity`, the `sort` parameter is ignored. When the `search`
+parameter is not provided, the API returns the projects ordered by `name`.
Example response:
diff --git a/doc/development/usage_ping/dictionary.md b/doc/development/usage_ping/dictionary.md
index b201dfc421f..abd8da373ec 100644
--- a/doc/development/usage_ping/dictionary.md
+++ b/doc/development/usage_ping/dictionary.md
@@ -5024,7 +5024,7 @@ Total GitLab Pages domains
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216181946_pages_domains.yml)
-Group: `group::release management`
+Group: `group::release`
Data Category: `Optional`
diff --git a/lib/api/groups.rb b/lib/api/groups.rb
index 760f2adae01..0896357cc73 100644
--- a/lib/api/groups.rb
+++ b/lib/api/groups.rb
@@ -137,7 +137,7 @@ module API
# rubocop: disable CodeReuse/ActiveRecord
def handle_similarity_order(group, projects)
- if params[:search].present? && Feature.enabled?(:similarity_search, group, default_enabled: true)
+ if params[:search].present?
projects.sorted_by_similarity_desc(params[:search])
else
order_options = { name: :asc }
diff --git a/lib/gitlab/quick_actions/issuable_actions.rb b/lib/gitlab/quick_actions/issuable_actions.rb
index 3cec734c2e7..cf5c9296d8c 100644
--- a/lib/gitlab/quick_actions/issuable_actions.rb
+++ b/lib/gitlab/quick_actions/issuable_actions.rb
@@ -246,14 +246,20 @@ module Gitlab
params '1 / S1 / Critical'
types Issue
condition do
- quick_action_target.supports_severity?
+ !quick_action_target.persisted? || quick_action_target.supports_severity?
end
parse_params do |severity|
find_severity(severity)
end
command :severity do |severity|
+ next unless quick_action_target.supports_severity?
+
if severity
- ::Issues::UpdateService.new(project: quick_action_target.project, current_user: current_user, params: { severity: severity }).execute(quick_action_target)
+ if quick_action_target.persisted?
+ ::Issues::UpdateService.new(project: quick_action_target.project, current_user: current_user, params: { severity: severity }).execute(quick_action_target)
+ else
+ quick_action_target.build_issuable_severity(severity: severity)
+ end
@execution_message[:severity] = _("Severity updated to %{severity}.") % { severity: severity.capitalize }
else
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index d8f0d38ee17..339e6d192ca 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -11672,9 +11672,6 @@ msgid_plural "Dismiss %d selected vulnerabilities as"
msgstr[0] ""
msgstr[1] ""
-msgid "Dismiss DevOps Report introduction"
-msgstr ""
-
msgid "Dismiss Value Stream Analytics introduction box"
msgstr ""
diff --git a/spec/controllers/admin/runners_controller_spec.rb b/spec/controllers/admin/runners_controller_spec.rb
index b5e7af2c012..8e57b4f03a7 100644
--- a/spec/controllers/admin/runners_controller_spec.rb
+++ b/spec/controllers/admin/runners_controller_spec.rb
@@ -12,42 +12,11 @@ RSpec.describe Admin::RunnersController do
describe '#index' do
render_views
- before do
- stub_feature_flags(runner_list_view_vue_ui: false)
- end
-
it 'lists all runners' do
get :index
expect(response).to have_gitlab_http_status(:ok)
- end
-
- it 'avoids N+1 queries', :request_store do
- get :index
-
- control_count = ActiveRecord::QueryRecorder.new { get :index }.count
-
- create_list(:ci_runner, 5, :tagged_only)
-
- # There is still an N+1 query for `runner.builds.count`
- # We also need to add 1 because it takes 2 queries to preload tags
- # also looking for token nonce requires database queries
- expect { get :index }.not_to exceed_query_limit(control_count + 16)
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(response.body).to have_content('tag1')
- expect(response.body).to have_content('tag2')
- end
-
- it 'paginates runners' do
- stub_const("Admin::RunnersController::NUMBER_OF_RUNNERS_PER_PAGE", 1)
-
- create(:ci_runner)
-
- get :index
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(assigns(:runners).count).to be(1)
+ expect(response).to render_template(:index)
end
end
diff --git a/spec/features/admin/admin_dev_ops_report_spec.rb b/spec/features/admin/admin_dev_ops_report_spec.rb
index 8f1960b681c..cee79f8f440 100644
--- a/spec/features/admin/admin_dev_ops_report_spec.rb
+++ b/spec/features/admin/admin_dev_ops_report_spec.rb
@@ -19,7 +19,9 @@ RSpec.describe 'DevOps Report page', :js do
expect(page).to have_content 'Introducing Your DevOps Report'
- find('.js-close-callout').click
+ page.within(find('[data-testid="devops-score-container"]')) do
+ find('[data-testid="close-icon"]').click
+ end
expect(page).not_to have_content 'Introducing Your DevOps Report'
end
diff --git a/spec/frontend/admin/analytics/devops_score/components/devops_score_callout_spec.js b/spec/frontend/admin/analytics/devops_score/components/devops_score_callout_spec.js
new file mode 100644
index 00000000000..ee14e002f1b
--- /dev/null
+++ b/spec/frontend/admin/analytics/devops_score/components/devops_score_callout_spec.js
@@ -0,0 +1,67 @@
+import { GlBanner } from '@gitlab/ui';
+import { shallowMount } from '@vue/test-utils';
+import DevopsScoreCallout from '~/analytics/devops_report/components/devops_score_callout.vue';
+import { INTRO_COOKIE_KEY } from '~/analytics/devops_report/constants';
+import * as utils from '~/lib/utils/common_utils';
+import { devopsReportDocsPath, devopsScoreIntroImagePath } from '../mock_data';
+
+describe('DevopsScoreCallout', () => {
+ let wrapper;
+
+ const createComponent = () => {
+ wrapper = shallowMount(DevopsScoreCallout, {
+ provide: {
+ devopsReportDocsPath,
+ devopsScoreIntroImagePath,
+ },
+ });
+ };
+
+ const findBanner = () => wrapper.findComponent(GlBanner);
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ describe('with no cookie set', () => {
+ beforeEach(() => {
+ utils.setCookie = jest.fn();
+
+ createComponent();
+ });
+
+ it('displays the banner', () => {
+ expect(findBanner().exists()).toBe(true);
+ });
+
+ it('does not call setCookie', () => {
+ expect(utils.setCookie).not.toHaveBeenCalled();
+ });
+
+ describe('when the close button is clicked', () => {
+ beforeEach(() => {
+ findBanner().vm.$emit('close');
+ });
+
+ it('sets the dismissed cookie', () => {
+ expect(utils.setCookie).toHaveBeenCalledWith(INTRO_COOKIE_KEY, 'true');
+ });
+
+ it('hides the banner', () => {
+ expect(findBanner().exists()).toBe(false);
+ });
+ });
+ });
+
+ describe('with the dismissed cookie set', () => {
+ beforeEach(() => {
+ jest.spyOn(utils, 'getCookie').mockReturnValue('true');
+
+ createComponent();
+ });
+
+ it('hides the banner', () => {
+ expect(findBanner().exists()).toBe(false);
+ });
+ });
+});
diff --git a/spec/frontend/admin/analytics/devops_score/components/devops_score_spec.js b/spec/frontend/admin/analytics/devops_score/components/devops_score_spec.js
index 7c20bbe21c8..cd8b70bccf0 100644
--- a/spec/frontend/admin/analytics/devops_score/components/devops_score_spec.js
+++ b/spec/frontend/admin/analytics/devops_score/components/devops_score_spec.js
@@ -3,6 +3,7 @@ import { GlSingleStat } from '@gitlab/ui/dist/charts';
import { mount } from '@vue/test-utils';
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
import DevopsScore from '~/analytics/devops_report/components/devops_score.vue';
+import DevopsScoreCallout from '~/analytics/devops_report/components/devops_score_callout.vue';
import {
devopsScoreMetricsData,
devopsReportDocsPath,
@@ -30,12 +31,17 @@ describe('DevopsScore', () => {
const findCol = (testId) => findTable().find(`[data-testid="${testId}"]`);
const findUsageCol = () => findCol('usageCol');
const findDevopsScoreApp = () => wrapper.findByTestId('devops-score-app');
+ const bannerExists = () => wrapper.findComponent(DevopsScoreCallout).exists();
describe('with no data', () => {
beforeEach(() => {
createComponent({ devopsScoreMetrics: {} });
});
+ it('includes the DevopsScoreCallout component ', () => {
+ expect(bannerExists()).toBe(true);
+ });
+
describe('empty state', () => {
it('displays the empty state', () => {
expect(findEmptyState().exists()).toBe(true);
@@ -62,6 +68,10 @@ describe('DevopsScore', () => {
createComponent();
});
+ it('includes the DevopsScoreCallout component ', () => {
+ expect(bannerExists()).toBe(true);
+ });
+
it('does not display the empty state', () => {
expect(findEmptyState().exists()).toBe(false);
});
diff --git a/spec/frontend/admin/analytics/devops_score/mock_data.js b/spec/frontend/admin/analytics/devops_score/mock_data.js
index ae0c01a2661..e8f8b778ffa 100644
--- a/spec/frontend/admin/analytics/devops_score/mock_data.js
+++ b/spec/frontend/admin/analytics/devops_score/mock_data.js
@@ -44,3 +44,5 @@ export const devopsScoreMetricsData = {
export const devopsReportDocsPath = 'docs-path';
export const noDataImagePath = 'image-path';
+
+export const devopsScoreIntroImagePath = 'image-path';
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap
index 015c7b94dde..6a7f14dc33f 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap
@@ -9,7 +9,7 @@ exports[`NpmInstallation renders all the messages 1`] = `
<code-instruction-stub
copytext="Copy npm command"
- instruction="npm i @Test/package"
+ instruction="npm i @gitlab-org/package-15"
label=""
trackingaction="copy_npm_install_command"
trackinglabel="code_instruction"
@@ -23,7 +23,7 @@ exports[`NpmInstallation renders all the messages 1`] = `
<code-instruction-stub
copytext="Copy npm setup command"
- instruction="echo @Test:registry=undefined/ >> .npmrc"
+ instruction="echo @gitlab-org:registry=npmPath/ >> .npmrc"
label=""
trackingaction="copy_npm_setup_command"
trackinglabel="code_instruction"
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap
index 04532743952..29ddd7b77ed 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap
@@ -9,7 +9,7 @@ exports[`NugetInstallation renders all the messages 1`] = `
<code-instruction-stub
copytext="Copy NuGet Command"
- instruction="foo/command"
+ instruction="nuget install @gitlab-org/package-15 -Source \\"GitLab\\""
label="NuGet Command"
trackingaction="copy_nuget_install_command"
trackinglabel="code_instruction"
@@ -23,7 +23,7 @@ exports[`NugetInstallation renders all the messages 1`] = `
<code-instruction-stub
copytext="Copy NuGet Setup Command"
- instruction="foo/setup"
+ instruction="nuget source Add -Name \\"GitLab\\" -Source \\"nugetPath\\" -UserName <your_username> -Password <your_token>"
label="Add NuGet Source"
trackingaction="copy_nuget_setup_command"
trackinglabel="code_instruction"
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap
index d5bb825d8d1..158bbbc3463 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap
@@ -10,7 +10,7 @@ exports[`PypiInstallation renders all the messages 1`] = `
<code-instruction-stub
copytext="Copy Pip command"
data-testid="pip-command"
- instruction="pip install"
+ instruction="pip install @gitlab-org/package-15 --extra-index-url pypiPath"
label="Pip Command"
trackingaction="copy_pip_install_command"
trackinglabel="code_instruction"
@@ -31,7 +31,10 @@ exports[`PypiInstallation renders all the messages 1`] = `
<code-instruction-stub
copytext="Copy .pypirc content"
data-testid="pypi-setup-content"
- instruction="python setup"
+ instruction="[gitlab]
+repository = pypiSetupPath
+username = __token__
+password = <your personal access token>"
label=""
multiline="true"
trackingaction="copy_pypi_setup_command"
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/app_spec.js b/spec/frontend/packages_and_registries/package_registry/components/details/app_spec.js
index e6d12f5e479..d6214402fcc 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/app_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/app_spec.js
@@ -7,6 +7,7 @@ import createFlash from '~/flash';
import AdditionalMetadata from '~/packages_and_registries/package_registry/components/details/additional_metadata.vue';
import PackagesApp from '~/packages_and_registries/package_registry/components/details/app.vue';
+import InstallationCommands from '~/packages_and_registries/package_registry/components/details/installation_commands.vue';
import PackageHistory from '~/packages_and_registries/package_registry/components/details/package_history.vue';
import PackageTitle from '~/packages_and_registries/package_registry/components/details/package_title.vue';
import { FETCH_PACKAGE_DETAILS_ERROR_MESSAGE } from '~/packages_and_registries/package_registry/constants';
@@ -50,6 +51,7 @@ describe('PackagesApp', () => {
const findPackageTitle = () => wrapper.findComponent(PackageTitle);
const findPackageHistory = () => wrapper.findComponent(PackageHistory);
const findAdditionalMetadata = () => wrapper.findComponent(AdditionalMetadata);
+ const findInstallationCommands = () => wrapper.findComponent(InstallationCommands);
afterEach(() => {
wrapper.destroy();
@@ -98,7 +100,7 @@ describe('PackagesApp', () => {
});
});
- it('renders additional metadata and has the right props', async () => {
+ it('renders additional metadata and has the right props', async () => {
createComponent();
await waitForPromises();
@@ -108,4 +110,15 @@ describe('PackagesApp', () => {
packageEntity: expect.objectContaining(packageData()),
});
});
+
+ it('renders installation commands and has the right props', async () => {
+ createComponent();
+
+ await waitForPromises();
+
+ expect(findInstallationCommands().exists()).toBe(true);
+ expect(findInstallationCommands().props()).toMatchObject({
+ packageEntity: expect.objectContaining(packageData()),
+ });
+ });
});
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/npm_installation_spec.js b/spec/frontend/packages_and_registries/package_registry/components/details/npm_installation_spec.js
index e4b41133fd5..083c6858ad0 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/npm_installation_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/npm_installation_spec.js
@@ -1,41 +1,40 @@
-import { shallowMount, createLocalVue } from '@vue/test-utils';
import { nextTick } from 'vue';
-import Vuex from 'vuex';
-import { registryUrl as nugetPath } from 'jest/packages/details/mock_data';
-import { npmPackage as packageEntity } from 'jest/packages/mock_data';
-import { TrackingActions } from '~/packages/details/constants';
-import { npmInstallationCommand, npmSetupCommand } from '~/packages/details/store/getters';
+import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
+
+import { packageData } from 'jest/packages_and_registries/package_registry/mock_data';
import InstallationTitle from '~/packages_and_registries/package_registry/components/details/installation_title.vue';
import NpmInstallation from '~/packages_and_registries/package_registry/components/details/npm_installation.vue';
+import {
+ TRACKING_ACTION_COPY_NPM_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_NPM_SETUP_COMMAND,
+ TRACKING_ACTION_COPY_YARN_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_YARN_SETUP_COMMAND,
+ PACKAGE_TYPE_NPM,
+ NPM_PACKAGE_MANAGER,
+ YARN_PACKAGE_MANAGER,
+} from '~/packages_and_registries/package_registry/constants';
import CodeInstructions from '~/vue_shared/components/registry/code_instruction.vue';
-const localVue = createLocalVue();
-localVue.use(Vuex);
+const packageEntity = { ...packageData(), packageType: PACKAGE_TYPE_NPM };
describe('NpmInstallation', () => {
let wrapper;
- const npmInstallationCommandLabel = 'npm i @Test/package';
- const yarnInstallationCommandLabel = 'yarn add @Test/package';
+ const npmInstallationCommandLabel = 'npm i @gitlab-org/package-15';
+ const yarnInstallationCommandLabel = 'yarn add @gitlab-org/package-15';
- const findCodeInstructions = () => wrapper.findAll(CodeInstructions);
+ const findCodeInstructions = () => wrapper.findAllComponents(CodeInstructions);
const findInstallationTitle = () => wrapper.findComponent(InstallationTitle);
function createComponent({ data = {} } = {}) {
- const store = new Vuex.Store({
- state: {
- packageEntity,
- nugetPath,
+ wrapper = shallowMountExtended(NpmInstallation, {
+ provide: {
+ npmHelpPath: 'npmHelpPath',
+ npmPath: 'npmPath',
},
- getters: {
- npmInstallationCommand,
- npmSetupCommand,
+ propsData: {
+ packageEntity,
},
- });
-
- wrapper = shallowMount(NpmInstallation, {
- localVue,
- store,
data() {
return data;
},
@@ -58,10 +57,10 @@ describe('NpmInstallation', () => {
it('has the installation title component', () => {
expect(findInstallationTitle().exists()).toBe(true);
expect(findInstallationTitle().props()).toMatchObject({
- packageType: 'npm',
+ packageType: NPM_PACKAGE_MANAGER,
options: [
- { value: 'npm', label: 'Show NPM commands' },
- { value: 'yarn', label: 'Show Yarn commands' },
+ { value: NPM_PACKAGE_MANAGER, label: 'Show NPM commands' },
+ { value: YARN_PACKAGE_MANAGER, label: 'Show Yarn commands' },
],
});
});
@@ -70,7 +69,7 @@ describe('NpmInstallation', () => {
createComponent();
expect(findCodeInstructions().at(0).props('instruction')).toBe(npmInstallationCommandLabel);
- findInstallationTitle().vm.$emit('change', 'yarn');
+ findInstallationTitle().vm.$emit('change', YARN_PACKAGE_MANAGER);
await nextTick();
@@ -86,37 +85,37 @@ describe('NpmInstallation', () => {
expect(findCodeInstructions().at(0).props()).toMatchObject({
instruction: npmInstallationCommandLabel,
multiline: false,
- trackingAction: TrackingActions.COPY_NPM_INSTALL_COMMAND,
+ trackingAction: TRACKING_ACTION_COPY_NPM_INSTALL_COMMAND,
});
});
it('renders the correct setup command', () => {
expect(findCodeInstructions().at(1).props()).toMatchObject({
- instruction: 'echo @Test:registry=undefined/ >> .npmrc',
+ instruction: 'echo @gitlab-org:registry=npmPath/ >> .npmrc',
multiline: false,
- trackingAction: TrackingActions.COPY_NPM_SETUP_COMMAND,
+ trackingAction: TRACKING_ACTION_COPY_NPM_SETUP_COMMAND,
});
});
});
describe('yarn', () => {
beforeEach(() => {
- createComponent({ data: { instructionType: 'yarn' } });
+ createComponent({ data: { instructionType: YARN_PACKAGE_MANAGER } });
});
it('renders the correct setup command', () => {
expect(findCodeInstructions().at(0).props()).toMatchObject({
instruction: yarnInstallationCommandLabel,
multiline: false,
- trackingAction: TrackingActions.COPY_YARN_INSTALL_COMMAND,
+ trackingAction: TRACKING_ACTION_COPY_YARN_INSTALL_COMMAND,
});
});
it('renders the correct registry command', () => {
expect(findCodeInstructions().at(1).props()).toMatchObject({
- instruction: 'echo \\"@Test:registry\\" \\"undefined/\\" >> .yarnrc',
+ instruction: 'echo \\"@gitlab-org:registry\\" \\"npmPath/\\" >> .yarnrc',
multiline: false,
- trackingAction: TrackingActions.COPY_YARN_SETUP_COMMAND,
+ trackingAction: TRACKING_ACTION_COPY_YARN_SETUP_COMMAND,
});
});
});
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/nuget_installation_spec.js b/spec/frontend/packages_and_registries/package_registry/components/details/nuget_installation_spec.js
index c642714f7cd..c48a3f07299 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/nuget_installation_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/nuget_installation_spec.js
@@ -1,39 +1,35 @@
-import { shallowMount, createLocalVue } from '@vue/test-utils';
-import Vuex from 'vuex';
-import { registryUrl as nugetPath } from 'jest/packages/details/mock_data';
-import { nugetPackage as packageEntity } from 'jest/packages/mock_data';
-import { TrackingActions } from '~/packages/details/constants';
+import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
+import { packageData } from 'jest/packages_and_registries/package_registry/mock_data';
import InstallationTitle from '~/packages_and_registries/package_registry/components/details/installation_title.vue';
import NugetInstallation from '~/packages_and_registries/package_registry/components/details/nuget_installation.vue';
+import {
+ TRACKING_ACTION_COPY_NUGET_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_NUGET_SETUP_COMMAND,
+ PACKAGE_TYPE_NUGET,
+} from '~/packages_and_registries/package_registry/constants';
import CodeInstructions from '~/vue_shared/components/registry/code_instruction.vue';
-const localVue = createLocalVue();
-localVue.use(Vuex);
+const packageEntity = { ...packageData(), packageType: PACKAGE_TYPE_NUGET };
describe('NugetInstallation', () => {
let wrapper;
- const nugetInstallationCommandStr = 'foo/command';
- const nugetSetupCommandStr = 'foo/setup';
+ const nugetInstallationCommandStr = 'nuget install @gitlab-org/package-15 -Source "GitLab"';
+ const nugetSetupCommandStr =
+ 'nuget source Add -Name "GitLab" -Source "nugetPath" -UserName <your_username> -Password <your_token>';
- const store = new Vuex.Store({
- state: {
- packageEntity,
- nugetPath,
- },
- getters: {
- nugetInstallationCommand: () => nugetInstallationCommandStr,
- nugetSetupCommand: () => nugetSetupCommandStr,
- },
- });
-
- const findCodeInstructions = () => wrapper.findAll(CodeInstructions);
+ const findCodeInstructions = () => wrapper.findAllComponents(CodeInstructions);
const findInstallationTitle = () => wrapper.findComponent(InstallationTitle);
function createComponent() {
- wrapper = shallowMount(NugetInstallation, {
- localVue,
- store,
+ wrapper = shallowMountExtended(NugetInstallation, {
+ provide: {
+ nugetHelpPath: 'nugetHelpPath',
+ nugetPath: 'nugetPath',
+ },
+ propsData: {
+ packageEntity,
+ },
});
}
@@ -63,7 +59,7 @@ describe('NugetInstallation', () => {
it('renders the correct command', () => {
expect(findCodeInstructions().at(0).props()).toMatchObject({
instruction: nugetInstallationCommandStr,
- trackingAction: TrackingActions.COPY_NUGET_INSTALL_COMMAND,
+ trackingAction: TRACKING_ACTION_COPY_NUGET_INSTALL_COMMAND,
});
});
});
@@ -72,7 +68,7 @@ describe('NugetInstallation', () => {
it('renders the correct command', () => {
expect(findCodeInstructions().at(1).props()).toMatchObject({
instruction: nugetSetupCommandStr,
- trackingAction: TrackingActions.COPY_NUGET_SETUP_COMMAND,
+ trackingAction: TRACKING_ACTION_COPY_NUGET_SETUP_COMMAND,
});
});
});
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/pypi_installation_spec.js b/spec/frontend/packages_and_registries/package_registry/components/details/pypi_installation_spec.js
index 43a09b53be5..410c1b65348 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/pypi_installation_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/pypi_installation_spec.js
@@ -1,38 +1,39 @@
-import { shallowMount, createLocalVue } from '@vue/test-utils';
-import Vuex from 'vuex';
-import { pypiPackage as packageEntity } from 'jest/packages/mock_data';
+import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
+import { packageData } from 'jest/packages_and_registries/package_registry/mock_data';
import InstallationTitle from '~/packages_and_registries/package_registry/components/details/installation_title.vue';
import PypiInstallation from '~/packages_and_registries/package_registry/components/details/pypi_installation.vue';
+import {
+ PACKAGE_TYPE_PYPI,
+ TRACKING_ACTION_COPY_PIP_INSTALL_COMMAND,
+ TRACKING_ACTION_COPY_PYPI_SETUP_COMMAND,
+} from '~/packages_and_registries/package_registry/constants';
-const localVue = createLocalVue();
-localVue.use(Vuex);
+const packageEntity = { ...packageData(), packageType: PACKAGE_TYPE_PYPI };
describe('PypiInstallation', () => {
let wrapper;
- const pipCommandStr = 'pip install';
- const pypiSetupStr = 'python setup';
+ const pipCommandStr = 'pip install @gitlab-org/package-15 --extra-index-url pypiPath';
+ const pypiSetupStr = `[gitlab]
+repository = pypiSetupPath
+username = __token__
+password = <your personal access token>`;
- const store = new Vuex.Store({
- state: {
- packageEntity,
- pypiHelpPath: 'foo',
- },
- getters: {
- pypiPipCommand: () => pipCommandStr,
- pypiSetupCommand: () => pypiSetupStr,
- },
- });
-
- const pipCommand = () => wrapper.find('[data-testid="pip-command"]');
- const setupInstruction = () => wrapper.find('[data-testid="pypi-setup-content"]');
+ const pipCommand = () => wrapper.findByTestId('pip-command');
+ const setupInstruction = () => wrapper.findByTestId('pypi-setup-content');
const findInstallationTitle = () => wrapper.findComponent(InstallationTitle);
function createComponent() {
- wrapper = shallowMount(PypiInstallation, {
- localVue,
- store,
+ wrapper = shallowMountExtended(PypiInstallation, {
+ provide: {
+ pypiHelpPath: 'pypiHelpPath',
+ pypiPath: 'pypiPath',
+ pypiSetupPath: 'pypiSetupPath',
+ },
+ propsData: {
+ packageEntity,
+ },
});
}
@@ -60,13 +61,20 @@ describe('PypiInstallation', () => {
describe('installation commands', () => {
it('renders the correct pip command', () => {
- expect(pipCommand().props('instruction')).toBe(pipCommandStr);
+ expect(pipCommand().props()).toMatchObject({
+ instruction: pipCommandStr,
+ trackingAction: TRACKING_ACTION_COPY_PIP_INSTALL_COMMAND,
+ });
});
});
describe('setup commands', () => {
it('renders the correct setup block', () => {
- expect(setupInstruction().props('instruction')).toBe(pypiSetupStr);
+ expect(setupInstruction().props()).toMatchObject({
+ instruction: pypiSetupStr,
+ multiline: true,
+ trackingAction: TRACKING_ACTION_COPY_PYPI_SETUP_COMMAND,
+ });
});
});
});
diff --git a/spec/frontend/repository/components/breadcrumbs_spec.js b/spec/frontend/repository/components/breadcrumbs_spec.js
index 93bfd3d9d32..0733cffe4f4 100644
--- a/spec/frontend/repository/components/breadcrumbs_spec.js
+++ b/spec/frontend/repository/components/breadcrumbs_spec.js
@@ -3,10 +3,14 @@ import { shallowMount, RouterLinkStub } from '@vue/test-utils';
import Breadcrumbs from '~/repository/components/breadcrumbs.vue';
import UploadBlobModal from '~/repository/components/upload_blob_modal.vue';
+const defaultMockRoute = {
+ name: 'blobPath',
+};
+
describe('Repository breadcrumbs component', () => {
let wrapper;
- const factory = (currentPath, extraProps = {}) => {
+ const factory = (currentPath, extraProps = {}, mockRoute = {}) => {
const $apollo = {
queries: {
userPermissions: {
@@ -23,7 +27,13 @@ describe('Repository breadcrumbs component', () => {
stubs: {
RouterLink: RouterLinkStub,
},
- mocks: { $apollo },
+ mocks: {
+ $route: {
+ defaultMockRoute,
+ ...mockRoute,
+ },
+ $apollo,
+ },
});
};
@@ -69,6 +79,21 @@ describe('Repository breadcrumbs component', () => {
expect(wrapper.find(GlDropdown).exists()).toBe(false);
});
+ it.each`
+ routeName | isRendered
+ ${'blobPath'} | ${false}
+ ${'blobPathDecoded'} | ${false}
+ ${'treePath'} | ${true}
+ ${'treePathDecoded'} | ${true}
+ ${'projectRoot'} | ${true}
+ `(
+ 'does render add to tree dropdown $isRendered when route is $routeName',
+ ({ routeName, isRendered }) => {
+ factory('app/assets/javascripts.js', { canCollaborate: true }, { name: routeName });
+ expect(wrapper.find(GlDropdown).exists()).toBe(isRendered);
+ },
+ );
+
it('renders add to tree dropdown when permissions are true', async () => {
factory('/', { canCollaborate: true });
diff --git a/spec/lib/gitlab/data_builder/pipeline_spec.rb b/spec/lib/gitlab/data_builder/pipeline_spec.rb
index 163de0fd80e..4c23b24aa31 100644
--- a/spec/lib/gitlab/data_builder/pipeline_spec.rb
+++ b/spec/lib/gitlab/data_builder/pipeline_spec.rb
@@ -15,7 +15,7 @@ RSpec.describe Gitlab::DataBuilder::Pipeline do
user: user)
end
- let_it_be(:build) { create(:ci_build, pipeline: pipeline) }
+ let!(:build) { create(:ci_build, pipeline: pipeline) }
describe '.build' do
let(:data) { described_class.build(pipeline) }
diff --git a/spec/models/concerns/each_batch_spec.rb b/spec/models/concerns/each_batch_spec.rb
index 5f4e5d4bd98..f1fb4fcbd03 100644
--- a/spec/models/concerns/each_batch_spec.rb
+++ b/spec/models/concerns/each_batch_spec.rb
@@ -9,6 +9,8 @@ RSpec.describe EachBatch do
include EachBatch
self.table_name = 'users'
+
+ scope :never_signed_in, -> { where(sign_in_count: 0) }
end
end
@@ -72,5 +74,16 @@ RSpec.describe EachBatch do
expect(ids).to eq(ids.sort.reverse)
end
+
+ describe 'current scope' do
+ let(:entry) { create(:user, sign_in_count: 1) }
+ let(:ids_with_new_relation) { model.where(id: entry.id).pluck(:id) }
+
+ it 'does not leak current scope to block being executed' do
+ model.never_signed_in.each_batch(of: 5) do |relation|
+ expect(ids_with_new_relation).to include(entry.id)
+ end
+ end
+ end
end
end
diff --git a/spec/models/hooks/system_hook_spec.rb b/spec/models/hooks/system_hook_spec.rb
index a99263078b3..17cb5da977a 100644
--- a/spec/models/hooks/system_hook_spec.rb
+++ b/spec/models/hooks/system_hook_spec.rb
@@ -16,6 +16,21 @@ RSpec.describe SystemHook do
end
end
+ describe 'validations' do
+ describe 'url' do
+ let(:url) { 'http://localhost:9000' }
+
+ it { is_expected.not_to allow_value(url).for(:url) }
+
+ it 'is valid if application settings allow local requests from system hooks' do
+ settings = ApplicationSetting.new(allow_local_requests_from_system_hooks: true)
+ allow(ApplicationSetting).to receive(:current).and_return(settings)
+
+ is_expected.to allow_value(url).for(:url)
+ end
+ end
+ end
+
describe "execute", :sidekiq_might_not_need_inline do
let(:system_hook) { create(:system_hook) }
let(:user) { create(:user) }
diff --git a/spec/models/hooks/web_hook_spec.rb b/spec/models/hooks/web_hook_spec.rb
index af51a518bff..c68ad3bf0c4 100644
--- a/spec/models/hooks/web_hook_spec.rb
+++ b/spec/models/hooks/web_hook_spec.rb
@@ -32,6 +32,19 @@ RSpec.describe WebHook do
it { is_expected.not_to allow_value('ftp://example.com').for(:url) }
it { is_expected.not_to allow_value('herp-and-derp').for(:url) }
+ context 'when url is local' do
+ let(:url) { 'http://localhost:9000' }
+
+ it { is_expected.not_to allow_value(url).for(:url) }
+
+ it 'is valid if application settings allow local requests from web hooks' do
+ settings = ApplicationSetting.new(allow_local_requests_from_web_hooks_and_services: true)
+ allow(ApplicationSetting).to receive(:current).and_return(settings)
+
+ is_expected.to allow_value(url).for(:url)
+ end
+ end
+
it 'strips :url before saving it' do
hook.url = ' https://example.com '
hook.save!
diff --git a/spec/models/integrations/datadog_spec.rb b/spec/models/integrations/datadog_spec.rb
index 0920302e386..677bd4c5e48 100644
--- a/spec/models/integrations/datadog_spec.rb
+++ b/spec/models/integrations/datadog_spec.rb
@@ -140,21 +140,29 @@ RSpec.describe Integrations::Datadog do
end
describe '#test' do
- context 'when request is succesful' do
- subject { saved_instance.test(pipeline_data) }
+ subject(:result) { saved_instance.test(pipeline_data) }
- before do
- stub_request(:post, expected_hook_url).to_return(body: 'OK')
- end
+ let(:body) { 'OK' }
+ let(:status) { 200 }
+
+ before do
+ stub_request(:post, expected_hook_url).to_return(body: body, status: status)
+ end
+
+ context 'when request is successful with a HTTP 200 status' do
it { is_expected.to eq({ success: true, result: 'OK' }) }
end
- context 'when request fails' do
- subject { saved_instance.test(pipeline_data) }
+ context 'when request is successful with a HTTP 202 status' do
+ let(:status) { 202 }
+
+ it { is_expected.to eq({ success: true, result: 'OK' }) }
+ end
+
+ context 'when request fails with a HTTP 500 status' do
+ let(:status) { 500 }
+ let(:body) { 'CRASH!!!' }
- before do
- stub_request(:post, expected_hook_url).to_return(body: 'CRASH!!!', status: 500)
- end
it { is_expected.to eq({ success: false, result: 'CRASH!!!' }) }
end
end
diff --git a/spec/requests/api/groups_spec.rb b/spec/requests/api/groups_spec.rb
index 661ca8d5f3c..30df47ccc41 100644
--- a/spec/requests/api/groups_spec.rb
+++ b/spec/requests/api/groups_spec.rb
@@ -965,23 +965,6 @@ RSpec.describe API::Groups do
expect(project_names).to eq(['Project', 'Test', 'Test Project'])
end
end
-
- context 'when `similarity_search` feature flag is off' do
- before do
- stub_feature_flags(similarity_search: false)
- end
-
- it 'returns items ordered by name' do
- subject
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(response).to include_pagination_headers
- expect(json_response.length).to eq(2)
-
- project_names = json_response.map { |proj| proj['name'] }
- expect(project_names).to eq(['Test', 'Test Project'])
- end
- end
end
it "returns the group's projects with simple representation" do
diff --git a/spec/services/ci/create_pipeline_service/cross_project_pipeline_spec.rb b/spec/services/ci/create_pipeline_service/cross_project_pipeline_spec.rb
index 9abe089952b..e1d60ed57ef 100644
--- a/spec/services/ci/create_pipeline_service/cross_project_pipeline_spec.rb
+++ b/spec/services/ci/create_pipeline_service/cross_project_pipeline_spec.rb
@@ -6,7 +6,7 @@ RSpec.describe Ci::CreatePipelineService, '#execute' do
let_it_be(:group) { create(:group, name: 'my-organization') }
let(:upstream_project) { create(:project, :repository, name: 'upstream', group: group) }
- let(:downstram_project) { create(:project, :repository, name: 'downstream', group: group) }
+ let(:downstream_project) { create(:project, :repository, name: 'downstream', group: group) }
let(:user) { create(:user) }
let(:service) do
@@ -15,9 +15,9 @@ RSpec.describe Ci::CreatePipelineService, '#execute' do
before do
upstream_project.add_developer(user)
- downstram_project.add_developer(user)
+ downstream_project.add_developer(user)
create_gitlab_ci_yml(upstream_project, upstream_config)
- create_gitlab_ci_yml(downstram_project, downstream_config)
+ create_gitlab_ci_yml(downstream_project, downstream_config)
end
context 'with resource group', :aggregate_failures do
diff --git a/spec/services/quick_actions/interpret_service_spec.rb b/spec/services/quick_actions/interpret_service_spec.rb
index 812aa11d7fd..a1b726071d6 100644
--- a/spec/services/quick_actions/interpret_service_spec.rb
+++ b/spec/services/quick_actions/interpret_service_spec.rb
@@ -2096,6 +2096,19 @@ RSpec.describe QuickActions::InterpretService do
end
end
+ context 'when quick action is used on creation' do
+ let(:content) { '/severity s3' }
+ let(:issuable) { build(:incident, project: project) }
+
+ it_behaves_like 'updates the severity', 'medium'
+
+ context 'issuable does not support severity' do
+ let(:issuable) { build(:issue, project: project) }
+
+ it_behaves_like 'failed command', ''
+ end
+ end
+
context 'severity given with S format' do
let(:content) { '/severity s3' }