Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
75a4eaade0
commit
c982bb363b
|
|
@ -1,4 +1,5 @@
|
||||||
/app/assets/javascripts/locale/**/app.js
|
/app/assets/javascripts/locale/**/app.js
|
||||||
|
/fixtures/lib/gitlab/graphql/
|
||||||
/node_modules/
|
/node_modules/
|
||||||
/public/
|
/public/
|
||||||
/vendor/
|
/vendor/
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
8.63.0
|
8.64.0
|
||||||
|
|
|
||||||
|
|
@ -266,6 +266,7 @@ class GfmAutoComplete {
|
||||||
},
|
},
|
||||||
// eslint-disable-next-line no-template-curly-in-string
|
// eslint-disable-next-line no-template-curly-in-string
|
||||||
insertTpl: '${atwho-at}${username}',
|
insertTpl: '${atwho-at}${username}',
|
||||||
|
limit: 10,
|
||||||
searchKey: 'search',
|
searchKey: 'search',
|
||||||
alwaysHighlightFirst: true,
|
alwaysHighlightFirst: true,
|
||||||
skipSpecialCharacterTest: true,
|
skipSpecialCharacterTest: true,
|
||||||
|
|
@ -311,6 +312,31 @@ class GfmAutoComplete {
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
|
sorter(query, items) {
|
||||||
|
if (!query) {
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
const lowercaseQuery = query.toLowerCase();
|
||||||
|
const members = items.slice();
|
||||||
|
const { nameOrUsernameStartsWith, nameOrUsernameIncludes } = GfmAutoComplete.Members;
|
||||||
|
|
||||||
|
return members.sort((a, b) => {
|
||||||
|
if (nameOrUsernameStartsWith(a, lowercaseQuery)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (nameOrUsernameStartsWith(b, lowercaseQuery)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (nameOrUsernameIncludes(a, lowercaseQuery)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (nameOrUsernameIncludes(b, lowercaseQuery)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -772,6 +798,14 @@ GfmAutoComplete.Members = {
|
||||||
title,
|
title,
|
||||||
)}${availabilityStatus}</small> ${icon}</li>`;
|
)}${availabilityStatus}</small> ${icon}</li>`;
|
||||||
},
|
},
|
||||||
|
nameOrUsernameStartsWith(member, query) {
|
||||||
|
// `member.search` is a name:username string like `MargeSimpson msimpson`
|
||||||
|
return member.search.split(' ').some((name) => name.toLowerCase().startsWith(query));
|
||||||
|
},
|
||||||
|
nameOrUsernameIncludes(member, query) {
|
||||||
|
// `member.search` is a name:username string like `MargeSimpson msimpson`
|
||||||
|
return member.search.toLowerCase().includes(query);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
GfmAutoComplete.Labels = {
|
GfmAutoComplete.Labels = {
|
||||||
templateFunction(color, title) {
|
templateFunction(color, title) {
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ module Resolvers
|
||||||
|
|
||||||
argument :content, GraphQL::STRING_TYPE,
|
argument :content, GraphQL::STRING_TYPE,
|
||||||
required: true,
|
required: true,
|
||||||
description: "Contents of '.gitlab-ci.yml'."
|
description: "Contents of `.gitlab-ci.yml`."
|
||||||
|
|
||||||
argument :dry_run, GraphQL::BOOLEAN_TYPE,
|
argument :dry_run, GraphQL::BOOLEAN_TYPE,
|
||||||
required: false,
|
required: false,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ module Resolvers
|
||||||
prepended do
|
prepended do
|
||||||
argument :full_path, GraphQL::ID_TYPE,
|
argument :full_path, GraphQL::ID_TYPE,
|
||||||
required: true,
|
required: true,
|
||||||
description: 'The full path of the project, group or namespace, e.g., "gitlab-org/gitlab-foss".'
|
description: 'The full path of the project, group or namespace, e.g., `gitlab-org/gitlab-foss`.'
|
||||||
end
|
end
|
||||||
|
|
||||||
def model_by_full_path(model, full_path)
|
def model_by_full_path(model, full_path)
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ module Types
|
||||||
|
|
||||||
field :issue, Types::IssueType,
|
field :issue, Types::IssueType,
|
||||||
null: true,
|
null: true,
|
||||||
description: 'Find an issue.' do
|
description: 'Find an Issue.' do
|
||||||
argument :id, ::Types::GlobalIDType[::Issue], required: true, description: 'The global ID of the Issue.'
|
argument :id, ::Types::GlobalIDType[::Issue], required: true, description: 'The global ID of the Issue.'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,26 +40,20 @@ module ProtectedRef
|
||||||
end
|
end
|
||||||
|
|
||||||
def protected_ref_accessible_to?(ref, user, project:, action:, protected_refs: nil)
|
def protected_ref_accessible_to?(ref, user, project:, action:, protected_refs: nil)
|
||||||
all_matching_rules_allow?(ref, action: action, protected_refs: protected_refs) do |access_level|
|
access_levels_for_ref(ref, action: action, protected_refs: protected_refs).any? do |access_level|
|
||||||
access_level.check_access(user)
|
access_level.check_access(user)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def developers_can?(action, ref, protected_refs: nil)
|
def developers_can?(action, ref, protected_refs: nil)
|
||||||
all_matching_rules_allow?(ref, action: action, protected_refs: protected_refs) do |access_level|
|
access_levels_for_ref(ref, action: action, protected_refs: protected_refs).any? do |access_level|
|
||||||
access_level.access_level == Gitlab::Access::DEVELOPER
|
access_level.access_level == Gitlab::Access::DEVELOPER
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def all_matching_rules_allow?(ref, action:, protected_refs: nil, &block)
|
def access_levels_for_ref(ref, action:, protected_refs: nil)
|
||||||
access_levels_groups =
|
self.matching(ref, protected_refs: protected_refs)
|
||||||
self.matching(ref, protected_refs: protected_refs).map(&:"#{action}_access_levels")
|
.flat_map(&:"#{action}_access_levels")
|
||||||
|
|
||||||
return false if access_levels_groups.blank?
|
|
||||||
|
|
||||||
access_levels_groups.all? do |access_levels|
|
|
||||||
access_levels.any?(&block)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns all protected refs that match the given ref name.
|
# Returns all protected refs that match the given ref name.
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ class Group < Namespace
|
||||||
|
|
||||||
has_many :milestones
|
has_many :milestones
|
||||||
has_many :iterations
|
has_many :iterations
|
||||||
|
has_many :iterations_cadences, class_name: 'Iterations::Cadence'
|
||||||
has_many :services
|
has_many :services
|
||||||
has_many :shared_group_links, foreign_key: :shared_with_group_id, class_name: 'GroupGroupLink'
|
has_many :shared_group_links, foreign_key: :shared_with_group_id, class_name: 'GroupGroupLink'
|
||||||
has_many :shared_with_group_links, foreign_key: :shared_group_id, class_name: 'GroupGroupLink'
|
has_many :shared_with_group_links, foreign_key: :shared_group_id, class_name: 'GroupGroupLink'
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ class Iteration < ApplicationRecord
|
||||||
|
|
||||||
belongs_to :project
|
belongs_to :project
|
||||||
belongs_to :group
|
belongs_to :group
|
||||||
|
belongs_to :iterations_cadence, class_name: 'Iterations::Cadence', foreign_key: :iterations_cadence_id, inverse_of: :iterations
|
||||||
|
|
||||||
has_internal_id :iid, scope: :project
|
has_internal_id :iid, scope: :project
|
||||||
has_internal_id :iid, scope: :group
|
has_internal_id :iid, scope: :group
|
||||||
|
|
@ -26,6 +27,9 @@ class Iteration < ApplicationRecord
|
||||||
validate :dates_do_not_overlap, if: :start_or_due_dates_changed?
|
validate :dates_do_not_overlap, if: :start_or_due_dates_changed?
|
||||||
validate :future_date, if: :start_or_due_dates_changed?, unless: :skip_future_date_validation
|
validate :future_date, if: :start_or_due_dates_changed?, unless: :skip_future_date_validation
|
||||||
validate :no_project, unless: :skip_project_validation
|
validate :no_project, unless: :skip_project_validation
|
||||||
|
validate :validate_group
|
||||||
|
|
||||||
|
before_create :set_iterations_cadence
|
||||||
|
|
||||||
scope :upcoming, -> { with_state(:upcoming) }
|
scope :upcoming, -> { with_state(:upcoming) }
|
||||||
scope :started, -> { with_state(:started) }
|
scope :started, -> { with_state(:started) }
|
||||||
|
|
@ -135,6 +139,30 @@ class Iteration < ApplicationRecord
|
||||||
|
|
||||||
errors.add(:project_id, s_("is not allowed. We do not currently support project-level iterations"))
|
errors.add(:project_id, s_("is not allowed. We do not currently support project-level iterations"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO: this method should be removed as part of https://gitlab.com/gitlab-org/gitlab/-/issues/296099
|
||||||
|
def set_iterations_cadence
|
||||||
|
return if iterations_cadence
|
||||||
|
# For now we support only group iterations
|
||||||
|
# issue to clarify project iterations: https://gitlab.com/gitlab-org/gitlab/-/issues/299864
|
||||||
|
return unless group
|
||||||
|
|
||||||
|
self.iterations_cadence = group.iterations_cadences.first || create_default_cadence
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_default_cadence
|
||||||
|
cadence_title = "#{group.name} Iterations"
|
||||||
|
|
||||||
|
Iterations::Cadence.create!(group: group, title: cadence_title, start_date: start_date)
|
||||||
|
end
|
||||||
|
|
||||||
|
# TODO: remove this as part of https://gitlab.com/gitlab-org/gitlab/-/issues/296100
|
||||||
|
def validate_group
|
||||||
|
return unless iterations_cadence
|
||||||
|
return if iterations_cadence.group_id == group_id
|
||||||
|
|
||||||
|
errors.add(:group, s_('is not valid. The iteration group has to match the iteration cadence group.'))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
Iteration.prepend_if_ee('EE::Iteration')
|
Iteration.prepend_if_ee('EE::Iteration')
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Iterations::Cadence < ApplicationRecord
|
||||||
|
self.table_name = 'iterations_cadences'
|
||||||
|
|
||||||
|
belongs_to :group
|
||||||
|
has_many :iterations, foreign_key: :iterations_cadence_id, inverse_of: :iterations_cadence
|
||||||
|
|
||||||
|
validates :title, presence: true
|
||||||
|
validates :start_date, presence: true
|
||||||
|
validates :group_id, presence: true
|
||||||
|
validates :active, presence: true
|
||||||
|
validates :automatic, presence: true
|
||||||
|
end
|
||||||
|
|
@ -8,15 +8,6 @@ module Pages
|
||||||
|
|
||||||
LEASE_TIMEOUT = 1.hour
|
LEASE_TIMEOUT = 1.hour
|
||||||
|
|
||||||
# override method from exclusive lease guard to guard it by feature flag
|
|
||||||
# TODO: just remove this method after testing this in production
|
|
||||||
# https://gitlab.com/gitlab-org/gitlab/-/issues/282464
|
|
||||||
def try_obtain_lease
|
|
||||||
return yield unless Feature.enabled?(:pages_use_legacy_storage_lease, project, default_enabled: true)
|
|
||||||
|
|
||||||
super
|
|
||||||
end
|
|
||||||
|
|
||||||
def lease_key
|
def lease_key
|
||||||
"pages_legacy_storage:#{project.id}"
|
"pages_legacy_storage:#{project.id}"
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Improve at.js members autocomplete matching
|
||||||
|
merge_request: 54072
|
||||||
|
author:
|
||||||
|
type: changed
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Add iterations_cadences table and respective model
|
||||||
|
merge_request: 50707
|
||||||
|
author:
|
||||||
|
type: other
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Add documentation for graphQL queries
|
||||||
|
merge_request: 54302
|
||||||
|
author:
|
||||||
|
type: other
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Add quick action data to usage ping
|
||||||
|
merge_request: 54293
|
||||||
|
author:
|
||||||
|
type: other
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
---
|
|
||||||
title: Most restrictive protected branch rule takes precedence
|
|
||||||
merge_request: 52319
|
|
||||||
author:
|
|
||||||
type: fixed
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: application_settings_tokens_optional_encryption
|
name: application_settings_tokens_optional_encryption
|
||||||
introduced_by_url:
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25532
|
||||||
rollout_issue_url:
|
rollout_issue_url:
|
||||||
milestone:
|
milestone: '11.9'
|
||||||
type: development
|
type: development
|
||||||
group:
|
group: group::runner
|
||||||
default_enabled: false
|
default_enabled: false
|
||||||
|
|
|
||||||
|
|
@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14
|
||||||
rollout_issue_url:
|
rollout_issue_url:
|
||||||
milestone: '10.0'
|
milestone: '10.0'
|
||||||
type: development
|
type: development
|
||||||
group:
|
group: group::continuous integration
|
||||||
default_enabled: false
|
default_enabled: false
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: groups_tokens_optional_encryption
|
name: groups_tokens_optional_encryption
|
||||||
introduced_by_url:
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25532
|
||||||
rollout_issue_url:
|
rollout_issue_url:
|
||||||
milestone:
|
milestone: '11.9'
|
||||||
type: development
|
type: development
|
||||||
group:
|
group: group::runner
|
||||||
default_enabled: true
|
default_enabled: true
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: json_wrapper_legacy_mode
|
name: json_wrapper_legacy_mode
|
||||||
introduced_by_url:
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30849
|
||||||
rollout_issue_url:
|
rollout_issue_url:
|
||||||
milestone:
|
milestone: '13.0'
|
||||||
type: development
|
type: development
|
||||||
group:
|
group: group::source code
|
||||||
default_enabled: true
|
default_enabled: true
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: notes_create_service_tracking
|
name: notes_create_service_tracking
|
||||||
introduced_by_url:
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18890
|
||||||
rollout_issue_url:
|
rollout_issue_url:
|
||||||
milestone:
|
milestone: '12.5'
|
||||||
type: development
|
type: development
|
||||||
group:
|
group: group::testing
|
||||||
default_enabled: false
|
default_enabled: false
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
name: pages_use_legacy_storage_lease
|
|
||||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48349
|
|
||||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282464
|
|
||||||
milestone: '13.7'
|
|
||||||
type: development
|
|
||||||
group: group::release
|
|
||||||
default_enabled: true
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: project_statistics_sync
|
name: project_statistics_sync
|
||||||
introduced_by_url:
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29636
|
||||||
rollout_issue_url:
|
rollout_issue_url:
|
||||||
milestone:
|
milestone: '12.10'
|
||||||
type: development
|
type: development
|
||||||
group:
|
group: group::source code
|
||||||
default_enabled: true
|
default_enabled: true
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: projects_tokens_optional_encryption
|
name: projects_tokens_optional_encryption
|
||||||
introduced_by_url:
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25532
|
||||||
rollout_issue_url:
|
rollout_issue_url:
|
||||||
milestone:
|
milestone: '11.9'
|
||||||
type: development
|
type: development
|
||||||
group:
|
group: group::runner
|
||||||
default_enabled: true
|
default_enabled: true
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: usage_data_track_quickactions
|
name: usage_data_track_quickactions
|
||||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52398
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52398
|
||||||
rollout_issue_url:
|
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321054
|
||||||
milestone: '13.9'
|
milestone: '13.9'
|
||||||
type: development
|
type: development
|
||||||
group: group::project management
|
group: group::project management
|
||||||
default_enabled: false
|
default_enabled: true
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: analytics_unique_visits.analytics_unique_visits_for_any_target_monthly
|
||||||
|
description: Visits to any of the pages listed above per month
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.g_analytics_contribution_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.g_analytics_insights_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.g_analytics_issues_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.g_analytics_productivity_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.g_analytics_valuestream_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.p_analytics_pipelines_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.p_analytics_code_reviews_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.p_analytics_valuestream_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.p_analytics_insights_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.p_analytics_issues_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.p_analytics_repo_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.i_analytics_cohorts_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.i_analytics_dev_ops_score_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.g_analytics_merge_request_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.p_analytics_merge_request_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.i_analytics_instance_statistics_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.analytics.analytics_total_unique_counts_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: manage
|
||||||
|
product_group: group::analytics
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.merge_requests
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.projects_with_disable_overriding_approvers_per_merge_request
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: source_code_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.projects_without_disable_overriding_approvers_per_merge_request
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: source_code_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.merge_requests_users
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.suggestions
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.source_code.merge_request_action_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.source_code.i_source_code_code_intelligence_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_mr_diffs_monthly
|
||||||
|
description: Count of unique merge requests per week|month with diffs viewed
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_single_file_diffs_monthly
|
||||||
|
description: Count of unique users per week|month with diffs viewed file by file
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_mr_single_file_diffs_monthly
|
||||||
|
description: Count of unique merge requests per week|month with diffs viewed file
|
||||||
|
by file
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_create_mr_monthly
|
||||||
|
description: Count of unique users per week|month who created a MR
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_close_mr_monthly
|
||||||
|
description: Count of unique users per week|month who closed a MR
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_reopen_mr_monthly
|
||||||
|
description: Count of unique users per week|month who reopened a MR
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_merge_mr_monthly
|
||||||
|
description: Count of unique users per week|month who merged a MR
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_create_mr_comment_monthly
|
||||||
|
description: Count of unique users per week|month who commented on a MR
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_edit_mr_comment_monthly
|
||||||
|
description: Count of unique users per week|month who edited a comment on a MR
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_remove_mr_comment_monthly
|
||||||
|
description: Count of unique users per week|month who removed a comment on a MR
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_add_suggestion_monthly
|
||||||
|
description: Count of unique users per month who added a suggestion
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.code_review.i_code_review_user_apply_suggestion_monthly
|
||||||
|
description: Count of unique users per month who applied a suggestion
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::code review
|
||||||
|
product_category: code_review
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_cert_managers
|
||||||
|
description: Total GitLab Managed clusters with Cert Manager enabled
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_helm
|
||||||
|
description: Total GitLab Managed clusters with Helm enabled
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_ingress
|
||||||
|
description: Total GitLab Managed clusters with Ingress enabled
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_knative
|
||||||
|
description: Total GitLab Managed clusters with Knative enabled
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_management_project
|
||||||
|
description: Total GitLab Managed clusters with defined cluster management project
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_disabled
|
||||||
|
description: Total GitLab Managed disabled clusters
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_enabled
|
||||||
|
description: Total GitLab Managed clusters currently enabled
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_gke
|
||||||
|
description: Total GitLab Managed clusters provisioned with GitLab on GCE GKE
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_eks
|
||||||
|
description: Total GitLab Managed clusters provisioned with GitLab on AWS EKS
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_user
|
||||||
|
description: Total GitLab Managed clusters that are user provisioned
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.instance_clusters_disabled
|
||||||
|
description: Total GitLab Managed disabled clusters attached to the instance
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.instance_clusters_enabled
|
||||||
|
description: Total GitLab Managed enabled clusters attached to the instance
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.group_clusters_disabled
|
||||||
|
description: Total GitLab Managed disabled clusters attached to groups
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.group_clusters_enabled
|
||||||
|
description: Total GitLab Managed enabled clusters attached to groups
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.project_clusters_disabled
|
||||||
|
description: Total GitLab Managed disabled clusters attached to projects
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.configure.project_clusters_enabled
|
||||||
|
description: Total GitLab Managed enabled clusters attached to projects
|
||||||
|
product_section: ops
|
||||||
|
product_stage: configure
|
||||||
|
product_group: group::configure
|
||||||
|
product_category: kubernetes_management
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_builds
|
||||||
|
description: Unique builds in project
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_external_pipelines
|
||||||
|
description: Total pipelines in external repositories
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_internal_pipelines
|
||||||
|
description: Total pipelines in GitLab repositories
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_pipeline_config_auto_devops
|
||||||
|
description: Total pipelines from an Auto DevOps template
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_pipeline_config_repository
|
||||||
|
description: Total Pipelines from templates in repository
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_pipeline_schedules
|
||||||
|
description: Pipeline schedules in GitLab
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_pipelines
|
||||||
|
description: " Distinct users triggering pipelines in a month"
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.verify.ci_triggers
|
||||||
|
description: Total configured Triggers in project
|
||||||
|
product_section: ops
|
||||||
|
product_stage: verify
|
||||||
|
product_group: group::continuous integration
|
||||||
|
product_category: continuous_integration
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.secure.user_dast_jobs
|
||||||
|
description: Users who run a DAST job
|
||||||
|
product_section: sec
|
||||||
|
product_stage: secure
|
||||||
|
product_group: group::dynamic analysis
|
||||||
|
product_category: dynamic_application_security_testing
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.secure.dast_pipeline
|
||||||
|
description: Count of pipelines that have at least 1 DAST job
|
||||||
|
product_section: sec
|
||||||
|
product_stage: secure
|
||||||
|
product_group: group::dynamic analysis
|
||||||
|
product_category: dynamic_application_security_testing
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier:
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: counts_monthly.personal_snippets
|
||||||
|
description: Monthly count of Personal Snippets
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: snippets
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: database
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: counts_monthly.project_snippets
|
||||||
|
description: Monthly count of Project Snippets
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: snippets
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: database
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: counts_monthly.snippets
|
||||||
|
description: Monthly count of All Snippets
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: snippets
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: database
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.snippets
|
||||||
|
description: Monthly Snippets
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: snippets
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution:
|
||||||
|
- ce
|
||||||
|
- ee
|
||||||
|
tier:
|
||||||
|
- free
|
||||||
|
- premium
|
||||||
|
- ultimate
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_web_ide_edit
|
||||||
|
description: Count unique edit actions using the web IDE
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: web_ide
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_sfe_edit
|
||||||
|
description: Count unique edit actions using the single file editor
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: web_ide
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_snippet_editor_edit
|
||||||
|
description: Count unique edit actions using the snippet editor
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: web_ide
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_sse_edit
|
||||||
|
description: Count unique edit actions using the static site editor
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: web_ide
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_ide_edit
|
||||||
|
description: Count unique edit actions when users used an IDE, no matter which one
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category: web_ide
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source:
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.ide_edit.g_edit_by_web_ide_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.ide_edit.g_edit_by_sfe_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
key_path: redis_hll_counters.ide_edit.g_edit_by_snippet_ide_monthly
|
||||||
|
description:
|
||||||
|
product_section: dev
|
||||||
|
product_stage: create
|
||||||
|
product_group: group::editor
|
||||||
|
product_category:
|
||||||
|
value_type: number
|
||||||
|
status: data_available
|
||||||
|
time_frame: 28d
|
||||||
|
data_source: redis
|
||||||
|
distribution: []
|
||||||
|
tier: []
|
||||||
|
skip_validation: true
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue