Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
0daacd8353
commit
74ad68a3c4
|
|
@ -20,8 +20,8 @@ FactoryBot/ExcessiveCreateList:
|
|||
- 'spec/features/issues/user_edits_issue_spec.rb'
|
||||
- 'spec/features/issues/user_scrolls_to_deeplinked_note_spec.rb'
|
||||
- 'spec/features/projects/container_registry_spec.rb'
|
||||
- 'spec/features/projects/work_items/work_item_spec.rb'
|
||||
- 'spec/features/users/overview_spec.rb'
|
||||
- 'spec/features/work_items/work_item_spec.rb'
|
||||
- 'spec/frontend/fixtures/timelogs.rb'
|
||||
- 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb'
|
||||
- 'spec/lib/gitlab/database/consistency_checker_spec.rb'
|
||||
|
|
|
|||
|
|
@ -808,8 +808,6 @@ RSpec/BeforeAllRoleAssignment:
|
|||
- 'spec/features/projects/terraform_spec.rb'
|
||||
- 'spec/features/projects/user_sees_user_popover_spec.rb'
|
||||
- 'spec/features/projects/user_views_empty_project_spec.rb'
|
||||
- 'spec/features/projects/work_items/work_item_children_spec.rb'
|
||||
- 'spec/features/projects/work_items/work_item_spec.rb'
|
||||
- 'spec/features/promotion_spec.rb'
|
||||
- 'spec/features/registrations/oauth_registration_spec.rb'
|
||||
- 'spec/features/reportable_note/snippets_spec.rb'
|
||||
|
|
@ -824,6 +822,8 @@ RSpec/BeforeAllRoleAssignment:
|
|||
- 'spec/features/search/user_uses_header_search_field_spec.rb'
|
||||
- 'spec/features/user_can_display_performance_bar_spec.rb'
|
||||
- 'spec/features/user_sorts_things_spec.rb'
|
||||
- 'spec/features/work_items/work_item_children_spec.rb'
|
||||
- 'spec/features/work_items/work_item_spec.rb'
|
||||
- 'spec/finders/alert_management/alerts_finder_spec.rb'
|
||||
- 'spec/finders/autocomplete/deploy_keys_with_write_access_finder_spec.rb'
|
||||
- 'spec/finders/autocomplete/routes_finder_spec.rb'
|
||||
|
|
|
|||
|
|
@ -2135,7 +2135,6 @@ RSpec/FeatureCategory:
|
|||
- 'spec/lib/gitlab/ci/badge/coverage/report_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/badge/coverage/template_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/badge/pipeline/metadata_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/badge/pipeline/status_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/badge/pipeline/template_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/badge/release/latest_release_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/badge/release/metadata_spec.rb'
|
||||
|
|
@ -4155,7 +4154,6 @@ RSpec/FeatureCategory:
|
|||
- 'spec/views/projects/imports/new.html.haml_spec.rb'
|
||||
- 'spec/views/projects/issues/_related_branches.html.haml_spec.rb'
|
||||
- 'spec/views/projects/issues/show.html.haml_spec.rb'
|
||||
- 'spec/views/projects/jobs/_generic_commit_status.html.haml_spec.rb'
|
||||
- 'spec/views/projects/jobs/show.html.haml_spec.rb'
|
||||
- 'spec/views/projects/merge_requests/_commits.html.haml_spec.rb'
|
||||
- 'spec/views/projects/merge_requests/edit.html.haml_spec.rb'
|
||||
|
|
|
|||
|
|
@ -85,9 +85,9 @@ RSpec/NoExpectationExample:
|
|||
- 'spec/features/projects/environments/environment_spec.rb'
|
||||
- 'spec/features/projects/files/template_selector_menu_spec.rb'
|
||||
- 'spec/features/projects/files/undo_template_spec.rb'
|
||||
- 'spec/features/projects/work_items/linked_work_items_spec.rb'
|
||||
- 'spec/features/user_settings/ssh_keys_spec.rb'
|
||||
- 'spec/features/users/login_spec.rb'
|
||||
- 'spec/features/work_items/linked_work_items_spec.rb'
|
||||
- 'spec/frontend/fixtures/issues.rb'
|
||||
- 'spec/frontend/fixtures/listbox.rb'
|
||||
- 'spec/frontend/fixtures/merge_requests.rb'
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ SidekiqLoadBalancing/WorkerDataConsistency:
|
|||
- 'app/workers/bulk_imports/pipeline_batch_worker.rb'
|
||||
- 'app/workers/bulk_imports/relation_batch_export_worker.rb'
|
||||
- 'app/workers/bulk_imports/stale_import_worker.rb'
|
||||
- 'app/workers/chat_notification_worker.rb'
|
||||
- 'app/workers/ci/archive_traces_cron_worker.rb'
|
||||
- 'app/workers/ci/build_prepare_worker.rb'
|
||||
- 'app/workers/ci/build_schedule_worker.rb'
|
||||
|
|
@ -124,8 +123,6 @@ SidekiqLoadBalancing/WorkerDataConsistency:
|
|||
- 'app/workers/incident_management/close_incident_worker.rb'
|
||||
- 'app/workers/incident_management/pager_duty/process_incident_worker.rb'
|
||||
- 'app/workers/incident_management/process_alert_worker_v2.rb'
|
||||
- 'app/workers/integrations/execute_worker.rb'
|
||||
- 'app/workers/integrations/irker_worker.rb'
|
||||
- 'app/workers/integrations/propagate_integration_descendant_worker.rb'
|
||||
- 'app/workers/invalid_gpg_signature_update_worker.rb'
|
||||
- 'app/workers/issuable/label_links_destroy_worker.rb'
|
||||
|
|
@ -135,8 +132,6 @@ SidekiqLoadBalancing/WorkerDataConsistency:
|
|||
- 'app/workers/issues/close_worker.rb'
|
||||
- 'app/workers/issues/placement_worker.rb'
|
||||
- 'app/workers/issues/rebalancing_worker.rb'
|
||||
- 'app/workers/jira_connect/forward_event_worker.rb'
|
||||
- 'app/workers/jira_connect/retry_request_worker.rb'
|
||||
- 'app/workers/loose_foreign_keys/cleanup_worker.rb'
|
||||
- 'app/workers/mail_scheduler/issue_due_worker.rb'
|
||||
- 'app/workers/mail_scheduler/notification_service_worker.rb'
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
e39eef132f47d2c679e0cc5d199406084135540b
|
||||
a3bc04233c29d8368ac509e8c360bf82f104a2ce
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ function mountBoardApp(el) {
|
|||
hasIssueWeightsFeature: parseBoolean(el.dataset.weightFeatureAvailable),
|
||||
hasIssuableHealthStatusFeature: parseBoolean(el.dataset.healthStatusFeatureAvailable),
|
||||
hasSubepicsFeature: parseBoolean(el.dataset.subEpicsFeatureAvailable),
|
||||
hasLinkedItemsEpicsFeature: parseBoolean(el.dataset.hasLinkedItemsEpicsFeature),
|
||||
},
|
||||
render: (createComponent) => createComponent(BoardApp),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ export async function mountIssuesListApp() {
|
|||
wiIssuesListPath,
|
||||
wiLabelsManagePath,
|
||||
wiReportAbusePath,
|
||||
hasLinkedItemsEpicsFeature,
|
||||
} = el.dataset;
|
||||
|
||||
return new Vue({
|
||||
|
|
@ -202,6 +203,7 @@ export async function mountIssuesListApp() {
|
|||
labelsManagePath: wiLabelsManagePath,
|
||||
reportAbusePath: wiReportAbusePath,
|
||||
hasSubepicsFeature: false,
|
||||
hasLinkedItemsEpicsFeature: parseBoolean(hasLinkedItemsEpicsFeature),
|
||||
},
|
||||
render: (createComponent) => createComponent(IssuesListApp),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -104,7 +104,13 @@ export default {
|
|||
WorkItemAbuseModal,
|
||||
},
|
||||
mixins: [glFeatureFlagMixin()],
|
||||
inject: ['fullPath', 'reportAbusePath', 'groupPath', 'hasSubepicsFeature'],
|
||||
inject: [
|
||||
'fullPath',
|
||||
'reportAbusePath',
|
||||
'groupPath',
|
||||
'hasSubepicsFeature',
|
||||
'hasLinkedItemsEpicsFeature',
|
||||
],
|
||||
props: {
|
||||
isModal: {
|
||||
type: Boolean,
|
||||
|
|
@ -374,7 +380,9 @@ export default {
|
|||
return !this.isModal && !this.editMode && !this.isDrawer;
|
||||
},
|
||||
workItemLinkedItems() {
|
||||
return this.isWidgetPresent(WIDGET_TYPE_LINKED_ITEMS);
|
||||
return this.workItemType === WORK_ITEM_TYPE_VALUE_EPIC
|
||||
? this.isWidgetPresent(WIDGET_TYPE_LINKED_ITEMS) && this.hasLinkedItemsEpicsFeature
|
||||
: this.isWidgetPresent(WIDGET_TYPE_LINKED_ITEMS);
|
||||
},
|
||||
showWorkItemTree() {
|
||||
return this.isWidgetPresent(WIDGET_TYPE_HIERARCHY) && this.allowedChildTypes?.length > 0;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import Vue from 'vue';
|
||||
import { GlToast } from '@gitlab/ui';
|
||||
import { apolloProvider } from '~/graphql_shared/issuable_client';
|
||||
import { parseBoolean } from '~/lib/utils/common_utils';
|
||||
import WorkItemLinks from './work_item_links.vue';
|
||||
|
||||
Vue.use(GlToast);
|
||||
|
|
@ -25,6 +26,7 @@ export default function initWorkItemLinks() {
|
|||
wiLabelsManagePath,
|
||||
wiNewCommentTemplatePaths,
|
||||
wiReportAbusePath,
|
||||
hasLinkedItemsEpicsFeature,
|
||||
} = workItemLinksRoot.dataset;
|
||||
|
||||
return new Vue({
|
||||
|
|
@ -45,6 +47,7 @@ export default function initWorkItemLinks() {
|
|||
labelsManagePath: wiLabelsManagePath,
|
||||
newCommentTemplatePaths: JSON.parse(wiNewCommentTemplatePaths),
|
||||
reportAbusePath: wiReportAbusePath,
|
||||
hasLinkedItemsEpicsFeature: parseBoolean(hasLinkedItemsEpicsFeature),
|
||||
},
|
||||
render: (createElement) =>
|
||||
createElement(WorkItemLinks, {
|
||||
|
|
|
|||
|
|
@ -132,6 +132,7 @@ export default {
|
|||
v-gl-modal="'time-tracking-report'"
|
||||
v-gl-tooltip="s__('TimeTracking|View time tracking report')"
|
||||
variant="link"
|
||||
class="!gl-text-sm"
|
||||
data-testid="view-time-spent-button"
|
||||
>
|
||||
{{ humanTotalTimeSpent }}
|
||||
|
|
@ -152,6 +153,7 @@ export default {
|
|||
v-gl-modal="$options.setTimeEstimateModalId"
|
||||
v-gl-tooltip="s__('TimeTracking|Set estimate')"
|
||||
variant="link"
|
||||
class="!gl-text-sm"
|
||||
data-testid="set-estimate-button"
|
||||
>
|
||||
{{ humanTimeEstimate }}
|
||||
|
|
@ -163,7 +165,7 @@ export default {
|
|||
<gl-button
|
||||
v-else-if="canUpdate"
|
||||
v-gl-modal="$options.setTimeEstimateModalId"
|
||||
class="gl-ml-auto"
|
||||
class="gl-ml-auto !gl-text-sm"
|
||||
variant="link"
|
||||
data-testid="add-estimate-button"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType } = {}) => {
|
|||
canBulkEditEpics,
|
||||
groupIssuesPath,
|
||||
labelsFetchPath,
|
||||
hasLinkedItemsEpicsFeature,
|
||||
} = el.dataset;
|
||||
|
||||
const isGroup = workspaceType === WORKSPACE_GROUP;
|
||||
|
|
@ -125,6 +126,7 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType } = {}) => {
|
|||
canBulkEditEpics: parseBoolean(canBulkEditEpics),
|
||||
groupIssuesPath,
|
||||
labelsFetchPath,
|
||||
hasLinkedItemsEpicsFeature: parseBoolean(hasLinkedItemsEpicsFeature),
|
||||
},
|
||||
mounted() {
|
||||
performanceMarkAndMeasure({
|
||||
|
|
|
|||
|
|
@ -20,6 +20,14 @@ module StreamDiffs
|
|||
response.stream.close
|
||||
end
|
||||
|
||||
def request
|
||||
# We only need to do this in rapid diffs streaming endpoints
|
||||
# as calling `request.format` (which can happen when rendering view components
|
||||
# but can possibly happen in other places as well) can raise an exception
|
||||
# while streaming diffs.
|
||||
Request.new(super)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def rapid_diffs_enabled?
|
||||
|
|
@ -50,4 +58,10 @@ module StreamDiffs
|
|||
layout: false
|
||||
)
|
||||
end
|
||||
|
||||
class Request < SimpleDelegator
|
||||
def format
|
||||
Mime::Type.lookup("text/html")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -270,11 +270,7 @@ module EventsHelper
|
|||
end
|
||||
|
||||
def event_wiki_page_target_url(event)
|
||||
if event.project_id.present?
|
||||
project_wiki_url(event.project, event.target&.canonical_slug || Wiki::HOMEPAGE)
|
||||
elsif event.group_id.present?
|
||||
group_wiki_url(event.group, event.target&.canonical_slug || Wiki::HOMEPAGE)
|
||||
end
|
||||
project_wiki_url(event.project, event.target&.canonical_slug || Wiki::HOMEPAGE) if event.project_id.present?
|
||||
end
|
||||
|
||||
def event_note_title_html(event)
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ module CommitSignature
|
|||
|
||||
def reverified_status
|
||||
return verification_status unless Feature.enabled?(:check_for_mailmapped_commit_emails, project)
|
||||
return verification_status unless verified? && ssh?
|
||||
return verification_status unless verified_ssh? || verified_system?
|
||||
|
||||
verified_emails = signed_by_user&.verified_emails
|
||||
if verified_emails&.exclude?(commit.author_email)
|
||||
|
|
@ -53,4 +53,10 @@ module CommitSignature
|
|||
verification_status
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def verified_ssh?
|
||||
verified? && ssh?
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -24,4 +24,4 @@
|
|||
%th
|
||||
%tbody= yield
|
||||
|
||||
= paginate @protected_tags, theme: 'gitlab'
|
||||
= paginate @protected_tags, theme: 'gitlab', params: { anchor: 'js-protected-tags-settings' }
|
||||
|
|
|
|||
|
|
@ -34,4 +34,4 @@
|
|||
= content_for :create_protected_branch
|
||||
|
||||
- c.with_pagination do
|
||||
= paginate @protected_branches, theme: 'gitlab'
|
||||
= paginate @protected_branches, theme: 'gitlab', params: { anchor: 'js-protected-branches-settings' }
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
class ChatNotificationWorker # rubocop:disable Scalability/IdempotentWorker
|
||||
include ApplicationWorker
|
||||
|
||||
data_consistency :always
|
||||
data_consistency :sticky
|
||||
|
||||
TimeoutExceeded = Class.new(StandardError)
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ module Integrations
|
|||
class ExecuteWorker # rubocop:disable Scalability/IdempotentWorker
|
||||
include ApplicationWorker
|
||||
|
||||
data_consistency :always
|
||||
data_consistency :delayed
|
||||
sidekiq_options retry: 3
|
||||
sidekiq_options dead: false
|
||||
feature_category :integrations
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ module Integrations
|
|||
class IrkerWorker # rubocop:disable Scalability/IdempotentWorker
|
||||
include ApplicationWorker
|
||||
|
||||
data_consistency :always
|
||||
data_consistency :sticky
|
||||
sidekiq_options retry: 3
|
||||
feature_category :integrations
|
||||
urgency :low
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ module JiraConnect
|
|||
class ForwardEventWorker # rubocop:disable Scalability/IdempotentWorker
|
||||
include ApplicationWorker
|
||||
|
||||
data_consistency :always
|
||||
data_consistency :delayed
|
||||
queue_namespace :jira_connect
|
||||
feature_category :integrations
|
||||
urgency :low
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ module JiraConnect
|
|||
class RetryRequestWorker # rubocop:disable Scalability/IdempotentWorker
|
||||
include ApplicationWorker
|
||||
|
||||
data_consistency :always
|
||||
data_consistency :delayed
|
||||
queue_namespace :jira_connect
|
||||
feature_category :integrations
|
||||
urgency :low
|
||||
|
|
|
|||
|
|
@ -136,6 +136,13 @@
|
|||
"product_group": {
|
||||
"$ref": "../metrics/schema/product_groups.json"
|
||||
},
|
||||
"product_categories": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"format": "known_product_category"
|
||||
}
|
||||
},
|
||||
"introduced_by_url": {
|
||||
"type": [
|
||||
"string",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
JSONSchemer.configure do |config|
|
||||
categories_filepath = Rails.root.join('config/feature_categories.yml')
|
||||
feature_categories = YAML.load_file(categories_filepath)
|
||||
|
||||
config.formats['known_product_category'] = proc do |category, _format|
|
||||
feature_categories.include?(category)
|
||||
end
|
||||
end
|
||||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_cert_managers
|
||||
description: Count user ids from GitLab Managed clusters with Cert Manager enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_helm
|
||||
description: Count user ids from GitLab Managed clusters with Helm enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_ingress
|
||||
description: Count user ids from GitLab Managed clusters with Ingress enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_knative
|
||||
description: Count user ids from GitLab Managed clusters with Knative enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ key_path: usage_activity_by_stage_monthly.configure.clusters_management_project
|
|||
description: Number of Kubernetes clusters with clusters management project being
|
||||
set
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_disabled
|
||||
description: Number of user ids from GitLab Managed disabled clusters
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_enabled
|
||||
description: Number of distict user ids from GitLab Managed clusters currently enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_gke
|
||||
description: Number of user ids from GitLab Managed clusters provisioned with GitLab on GCE GKE
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_eks
|
||||
description: Number of user ids from GitLab Managed clusters provisioned with GitLab on AWS EKS
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_user
|
||||
description: Number of user ids from GitLab Managed clusters that are user provisioned
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.instance_clusters_disabled
|
||||
description: Number of users from GitLab Managed disabled clusters attached to the instance
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.instance_clusters_enabled
|
||||
description: Number of user ids from GitLab Managed enabled clusters attached to the instance
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.group_clusters_disabled
|
||||
description: Number of user ids GitLab Managed disabled clusters attached to groups
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.group_clusters_enabled
|
||||
description: Count disctinct user ids from GitLab Managed enabled clusters attached to groups
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage_monthly.configure.project_clusters_disabled
|
||||
description: Number of user ids from GitLab Managed disabled clusters attached to projects
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: operational
|
|||
key_path: usage_activity_by_stage_monthly.configure.project_clusters_enabled
|
||||
description: Number of user ids from GitLab Managed enabled clusters attached to projects
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: 28d
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
key_path: redis_hll_counters.kubernetes_agent.agent_users_using_ci_tunnel_monthly
|
||||
description: MAU of the Agent for Kubernetes CI/CD Tunnel
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "15.3"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters
|
||||
description: Total GitLab Managed clusters both enabled and disabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_enabled
|
||||
description: Number of Kubernetes clusters attached to GitLab currently enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.project_clusters_enabled
|
||||
description: Total GitLab Managed clusters attached to projects
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.group_clusters_enabled
|
||||
description: Total GitLab Managed clusters attached to groups
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.instance_clusters_enabled
|
||||
description: Total GitLab Managed clusters attached to the instance
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_disabled
|
||||
description: Number of Kubernetes clusters attached to GitLab currently disabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.project_clusters_disabled
|
||||
description: Total GitLab Managed disabled clusters previously attached to projects
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.group_clusters_disabled
|
||||
description: Total GitLab Managed disabled clusters previously attached to groups
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.instance_clusters_disabled
|
||||
description: Total GitLab Managed disabled clusters previously attached to the instance
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_platforms_eks
|
||||
description: Total GitLab Managed clusters provisioned with GitLab on AWS EKS
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_platforms_gke
|
||||
description: Total GitLab Managed clusters provisioned with GitLab on GCE GKE
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_platforms_user
|
||||
description: Total GitLab Managed clusters that are user provisioned
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_helm
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Helm enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_ingress
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Ingress installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_cert_managers
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Cert Manager installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_crossplane
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Crossplane installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_prometheus
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Prometheus installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_runner
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Runner installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_knative
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Knative installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_elastic_stack
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Elastic Stack installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_applications_jupyter
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Jupyter installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: operational
|
|||
key_path: counts.clusters_applications_cilium
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Cilium installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_management_project
|
||||
description: Total GitLab Managed clusters with defined cluster management project
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.kubernetes_agents
|
||||
description: Count of Kubernetes registered agents
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.kubernetes_agents_with_token
|
||||
description: Count of Kubernetes agents with at least one token
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_applications_cert_managers
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Cert Manager installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_applications_helm
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Helm enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_applications_ingress
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Ingress installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_applications_knative
|
||||
description: Total GitLab Managed clusters with GitLab Managed App:Knative installed
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_management_project
|
||||
description: Total GitLab Managed clusters with defined cluster management project
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_disabled
|
||||
description: Total GitLab Managed disabled clusters
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_enabled
|
||||
description: Total GitLab Managed clusters currently enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_platforms_gke
|
||||
description: Total GitLab Managed clusters provisioned with GitLab on GCE GKE
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_platforms_eks
|
||||
description: Total GitLab Managed clusters provisioned with GitLab on AWS EKS
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.clusters_platforms_user
|
||||
description: Total GitLab Managed clusters that are user provisioned
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.instance_clusters_disabled
|
||||
description: Total GitLab Managed disabled clusters attached to the instance
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.instance_clusters_enabled
|
||||
description: Total GitLab Managed enabled clusters attached to the instance
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.group_clusters_disabled
|
||||
description: Total GitLab Managed disabled clusters attached to groups
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.group_clusters_enabled
|
||||
description: Total GitLab Managed enabled clusters attached to groups
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.project_clusters_disabled
|
||||
description: Total GitLab Managed disabled clusters attached to projects
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.project_clusters_enabled
|
||||
description: Total GitLab Managed enabled clusters attached to projects
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.configure.projects_with_prometheus_alerts
|
||||
description: Projects with Prometheus alerting enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
milestone_removed: '14.0'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: usage_activity_by_stage.verify.clusters_applications_runner
|
||||
description: Count of users creating managed clusters with Runner enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.kubernetes_agent_k8s_api_proxy_request
|
||||
description: Count of Kubernetes API proxy requests
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: '13.12'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_integrations_prometheus
|
||||
description: Total clusters with Clusters::Integrations::Prometheus enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: active
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ data_category: optional
|
|||
key_path: counts.clusters_integrations_elastic_stack
|
||||
description: Total clusters with Clusters::Integrations::ElasticStack enabled
|
||||
product_group: environments
|
||||
product_category: deployment_management
|
||||
product_categories:
|
||||
- deployment_management
|
||||
value_type: number
|
||||
status: removed
|
||||
time_frame: all
|
||||
|
|
|
|||
|
|
@ -25,6 +25,13 @@
|
|||
"product_group": {
|
||||
"$ref": "product_groups.json"
|
||||
},
|
||||
"product_categories": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"format": "known_product_category"
|
||||
}
|
||||
},
|
||||
"value_type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
|
|
@ -161,9 +168,6 @@
|
|||
"value_json_schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"product_category": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ key_path: database.mode
|
|||
description: What PostgreSQL database mode is used. Possible values are
|
||||
"single-database", "single-database-ci-connection", or "multiple-databases"
|
||||
product_group: database
|
||||
product_category: database
|
||||
product_categories:
|
||||
- database
|
||||
value_type: string
|
||||
status: active
|
||||
milestone: "15.11"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class EnsureIdUniquenessForPCiPipelines < Gitlab::Database::Migration[2.2]
|
||||
include Gitlab::Database::PartitioningMigrationHelpers::UniquenessHelpers
|
||||
|
||||
milestone '17.6'
|
||||
|
||||
TABLE_NAME = :p_ci_pipelines
|
||||
SEQ_NAME = :ci_pipelines_id_seq
|
||||
|
||||
def up
|
||||
ensure_unique_id(TABLE_NAME, seq: SEQ_NAME)
|
||||
end
|
||||
|
||||
def down
|
||||
revert_ensure_unique_id(TABLE_NAME, seq: SEQ_NAME)
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1 @@
|
|||
a4a3e3193389ae202c53d321d613fabde0c849da2c75d7676e661190e9a246de
|
||||
|
|
@ -88,6 +88,19 @@ RETURN NEW;
|
|||
END
|
||||
$$;
|
||||
|
||||
CREATE FUNCTION assign_p_ci_pipelines_id_value() RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
BEGIN
|
||||
IF NEW."id" IS NOT NULL THEN
|
||||
RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';
|
||||
END IF;
|
||||
NEW."id" := nextval('ci_pipelines_id_seq'::regclass);
|
||||
RETURN NEW;
|
||||
|
||||
END
|
||||
$$;
|
||||
|
||||
CREATE FUNCTION assign_p_ci_stages_id_value() RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
|
|
@ -9243,15 +9256,6 @@ CREATE TABLE p_ci_pipelines (
|
|||
)
|
||||
PARTITION BY LIST (partition_id);
|
||||
|
||||
CREATE SEQUENCE ci_pipelines_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER SEQUENCE ci_pipelines_id_seq OWNED BY p_ci_pipelines.id;
|
||||
|
||||
CREATE TABLE ci_pipelines (
|
||||
ref character varying,
|
||||
sha character varying,
|
||||
|
|
@ -9281,13 +9285,22 @@ CREATE TABLE ci_pipelines (
|
|||
ci_ref_id bigint,
|
||||
locked smallint DEFAULT 1 NOT NULL,
|
||||
partition_id bigint NOT NULL,
|
||||
id bigint DEFAULT nextval('ci_pipelines_id_seq'::regclass) NOT NULL,
|
||||
id bigint NOT NULL,
|
||||
auto_canceled_by_id bigint,
|
||||
auto_canceled_by_partition_id bigint,
|
||||
CONSTRAINT check_2ba2a044b9 CHECK ((project_id IS NOT NULL)),
|
||||
CONSTRAINT check_d7e99a025e CHECK ((lock_version IS NOT NULL))
|
||||
);
|
||||
|
||||
CREATE SEQUENCE ci_pipelines_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER SEQUENCE ci_pipelines_id_seq OWNED BY p_ci_pipelines.id;
|
||||
|
||||
CREATE TABLE ci_project_mirrors (
|
||||
id bigint NOT NULL,
|
||||
project_id bigint NOT NULL,
|
||||
|
|
@ -23364,8 +23377,6 @@ ALTER TABLE ONLY p_catalog_resource_sync_events ALTER COLUMN id SET DEFAULT next
|
|||
|
||||
ALTER TABLE ONLY p_ci_builds_metadata ALTER COLUMN id SET DEFAULT nextval('ci_builds_metadata_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY p_ci_pipelines ALTER COLUMN id SET DEFAULT nextval('ci_pipelines_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY packages_build_infos ALTER COLUMN id SET DEFAULT nextval('packages_build_infos_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY packages_conan_file_metadata ALTER COLUMN id SET DEFAULT nextval('packages_conan_file_metadata_id_seq'::regclass);
|
||||
|
|
@ -34722,6 +34733,8 @@ CREATE TRIGGER assign_p_ci_job_artifacts_id_trigger BEFORE INSERT ON p_ci_job_ar
|
|||
|
||||
CREATE TRIGGER assign_p_ci_pipeline_variables_id_trigger BEFORE INSERT ON p_ci_pipeline_variables FOR EACH ROW EXECUTE FUNCTION assign_p_ci_pipeline_variables_id_value();
|
||||
|
||||
CREATE TRIGGER assign_p_ci_pipelines_id_trigger BEFORE INSERT ON p_ci_pipelines FOR EACH ROW EXECUTE FUNCTION assign_p_ci_pipelines_id_value();
|
||||
|
||||
CREATE TRIGGER assign_p_ci_stages_id_trigger BEFORE INSERT ON p_ci_stages FOR EACH ROW EXECUTE FUNCTION assign_p_ci_stages_id_value();
|
||||
|
||||
CREATE TRIGGER assign_zoekt_tasks_id_trigger BEFORE INSERT ON zoekt_tasks FOR EACH ROW EXECUTE FUNCTION assign_zoekt_tasks_id_value();
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ across GitLab releases. Use the
|
|||
Every API call to vulnerabilities must be [authenticated](rest/index.md#authentication).
|
||||
|
||||
If an authenticated user does not have permission to
|
||||
[view vulnerabilities](../user/permissions.md#project-members-permissions),
|
||||
[view vulnerability report](../user/permissions.md#application-security),
|
||||
this request returns a `403 Forbidden` status code.
|
||||
|
||||
## Single vulnerability
|
||||
|
|
@ -80,7 +80,7 @@ Example response:
|
|||
Confirms a given vulnerability. Returns status code `304` if the vulnerability is already confirmed.
|
||||
|
||||
If an authenticated user does not have permission to
|
||||
[confirm vulnerabilities](../user/permissions.md#project-members-permissions),
|
||||
[change vulnerability status](../user/permissions.md#application-security),
|
||||
this request results in a `403` status code.
|
||||
|
||||
```plaintext
|
||||
|
|
@ -125,7 +125,7 @@ Example response:
|
|||
Resolves a given vulnerability. Returns status code `304` if the vulnerability is already resolved.
|
||||
|
||||
If an authenticated user does not have permission to
|
||||
[resolve vulnerabilities](../user/permissions.md#project-members-permissions),
|
||||
[change vulnerability status](../user/permissions.md#application-security),
|
||||
this request results in a `403` status code.
|
||||
|
||||
```plaintext
|
||||
|
|
@ -170,7 +170,7 @@ Example response:
|
|||
Dismisses a given vulnerability. Returns status code `304` if the vulnerability is already dismissed.
|
||||
|
||||
If an authenticated user does not have permission to
|
||||
[dismiss vulnerabilities](../user/permissions.md#project-members-permissions),
|
||||
[change vulnerability status](../user/permissions.md#application-security),
|
||||
this request results in a `403` status code.
|
||||
|
||||
```plaintext
|
||||
|
|
@ -215,7 +215,7 @@ Example response:
|
|||
Reverts a given vulnerability to detected state. Returns status code `304` if the vulnerability is already in detected state.
|
||||
|
||||
If an authenticated user does not have permission to
|
||||
[revert vulnerability to detected state](../user/permissions.md#project-members-permissions),
|
||||
[change vulnerability status](../user/permissions.md#application-security),
|
||||
this request results in a `403` status code.
|
||||
|
||||
```plaintext
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ Now you can update tests for existing files and write tests for the new files:
|
|||
1. `spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js` or `ee/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js`.
|
||||
1. `spec/frontend/work_items/components/work_item_<widget_name>_spec.js` or `ee/spec/frontend/work_items/components/work_item_<widget_name>_spec.js`.
|
||||
1. `spec/frontend/work_items/graphql/resolvers_spec.js` or `ee/spec/frontend/work_items/graphql/resolvers_spec.js`.
|
||||
1. `spec/features/projects/work_items/work_item_spec.rb` or `ee/spec/features/projects/work_items/work_item_spec.rb`.
|
||||
1. `spec/features/work_items/work_item_spec.rb` or `ee/spec/features/work_items/work_item_spec.rb`.
|
||||
|
||||
NOTE:
|
||||
You may find some feature specs failing because of excessive SQL queries.
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ The [`gitmailmap`](https://git-scm.com/docs/gitmailmap) feature allows users to
|
|||
GitLab uses these email addresses to provide links to the commit author.
|
||||
When using a `mailmap` author mapping, it's possible to have a verified commit with an unverified author email.
|
||||
|
||||
For SSH signatures with `mailmap` author mappings, GitLab displays an orange verified label with a warning sign.
|
||||
For SSH and UI signatures with `mailmap` author mappings, GitLab displays an orange verified label with a warning sign.
|
||||
To restore the green verified label, verify the mapped email address, or remove the `mailmap` entry.
|
||||
|
||||
## Troubleshooting
|
||||
|
|
|
|||
|
|
@ -4,7 +4,10 @@ module Gitlab
|
|||
module Tracking
|
||||
class EventDefinitionValidator
|
||||
EVENT_SCHEMA_PATH = Rails.root.join('config/events/schema.json')
|
||||
SCHEMA = ::JSONSchemer.schema(EVENT_SCHEMA_PATH)
|
||||
|
||||
def self.definition_schema
|
||||
@definition_schema ||= ::JSONSchemer.schema(EVENT_SCHEMA_PATH)
|
||||
end
|
||||
|
||||
def initialize(definition)
|
||||
@attributes = definition.attributes
|
||||
|
|
@ -12,7 +15,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def validation_errors
|
||||
SCHEMA.validate(attributes.deep_stringify_keys).map do |error|
|
||||
self.class.definition_schema.validate(attributes.deep_stringify_keys).map do |error|
|
||||
<<~ERROR_MSG
|
||||
--------------- VALIDATION ERROR ---------------
|
||||
Definition file: #{path}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ module Gitlab
|
|||
module Usage
|
||||
class MetricDefinition
|
||||
METRIC_SCHEMA_PATH = Rails.root.join('config', 'metrics', 'schema', 'base.json')
|
||||
SCHEMA = ::JSONSchemer.schema(METRIC_SCHEMA_PATH)
|
||||
AVAILABLE_STATUSES = %w[active broken].to_set.freeze
|
||||
VALID_SERVICE_PING_STATUSES = %w[active broken].to_set.freeze
|
||||
|
||||
|
|
@ -91,14 +90,14 @@ module Gitlab
|
|||
end
|
||||
|
||||
def validation_errors
|
||||
SCHEMA.validate(@attributes.deep_stringify_keys).map do |error|
|
||||
self.class.definition_schema.validate(@attributes.deep_stringify_keys).map do |error|
|
||||
<<~ERROR_MSG
|
||||
--------------- VALIDATION ERROR ---------------
|
||||
Metric file: #{path}
|
||||
Error type: #{error['type']}
|
||||
Data: #{error['data']}
|
||||
Path: #{error['data_pointer']}
|
||||
Details: #{error['details']}
|
||||
Details: #{error['details'] || error['error']}
|
||||
ERROR_MSG
|
||||
end
|
||||
end
|
||||
|
|
@ -188,6 +187,10 @@ module Gitlab
|
|||
end
|
||||
end
|
||||
|
||||
def definition_schema
|
||||
@definition_schema ||= ::JSONSchemer.schema(METRIC_SCHEMA_PATH)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_all!
|
||||
|
|
|
|||
|
|
@ -49776,6 +49776,9 @@ msgstr ""
|
|||
msgid "SecurityOrchestration|Edit merge request approval policy"
|
||||
msgstr ""
|
||||
|
||||
msgid "SecurityOrchestration|Edit pipeline execution policy"
|
||||
msgstr ""
|
||||
|
||||
msgid "SecurityOrchestration|Edit policy"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ module InternalEventsCli
|
|||
:time_frame,
|
||||
:data_source,
|
||||
:data_category,
|
||||
:product_category,
|
||||
:product_categories,
|
||||
:distribution,
|
||||
:tier,
|
||||
:tiers,
|
||||
|
|
|
|||
|
|
@ -42,4 +42,10 @@ RSpec.describe StreamDiffs, type: :controller, feature_category: :source_code_ma
|
|||
})
|
||||
end
|
||||
end
|
||||
|
||||
describe '#request' do
|
||||
it 'forces format as HTML' do
|
||||
expect(controller.new.request.format.to_s).to eq('text/html')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue