Add GitLab Duo Code Review requests by role chart
What does this MR do and why?
Add GitLab Duo Code Review requests by role panel – a grouped column chart showing GitLab Duo Code review requests from MR authors and non-authors over time – to the GitLab Duo and SDLC trends analytics dashboard.
Screenshots or screen recordings
How to set up and validate locally
Apply the following diff to mock permissions and metric values on the backend
Mock data diff
diff --git a/ee/app/graphql/resolvers/analytics/ai_metrics/code_review_metrics_resolver.rb b/ee/app/graphql/resolvers/analytics/ai_metrics/code_review_metrics_resolver.rb
index 54cfeabc32ec..624c6641eb13 100644
--- a/ee/app/graphql/resolvers/analytics/ai_metrics/code_review_metrics_resolver.rb
+++ b/ee/app/graphql/resolvers/analytics/ai_metrics/code_review_metrics_resolver.rb
@@ -9,15 +9,26 @@ class CodeReviewMetricsResolver < BaseResolver
type ::Types::Analytics::AiMetrics::CodeReviewMetricsType, null: true
def resolve_with_lookahead
- usage = ::Analytics::AiAnalytics::UsageEventCountService.new(
- current_user,
- namespace: context[:ai_metrics_namespace],
- from: context[:ai_metrics_params][:start_date],
- to: context[:ai_metrics_params][:end_date],
- fields: lookahead.selections.map(&:name)
- ).execute
+ # usage = ::Analytics::AiAnalytics::UsageEventCountService.new(
+ # current_user,
+ # namespace: context[:ai_metrics_namespace],
+ # from: context[:ai_metrics_params][:start_date],
+ # to: context[:ai_metrics_params][:end_date],
+ # fields: lookahead.selections.map(&:name)
+ # ).execute
- usage.payload
+ # usage.payload
+ {
+ encounter_duo_code_review_error_during_review_event_count: rand(0..20),
+ find_no_issues_duo_code_review_after_review_event_count: rand(5..50),
+ find_nothing_to_review_duo_code_review_on_mr_event_count: rand(3..30),
+ post_comment_duo_code_review_on_diff_event_count: rand(10..100),
+ react_thumbs_up_on_duo_code_review_comment_event_count: rand(15..80),
+ react_thumbs_down_on_duo_code_review_comment_event_count: rand(2..25),
+ request_review_duo_code_review_on_mr_by_author_event_count: rand(20..120),
+ request_review_duo_code_review_on_mr_by_non_author_event_count: rand(10..60),
+ excluded_files_from_duo_code_review_event_count: rand(5..40)
+ }
end
end
end
diff --git a/ee/app/graphql/resolvers/analytics/ai_metrics/namespace_metrics_resolver.rb b/ee/app/graphql/resolvers/analytics/ai_metrics/namespace_metrics_resolver.rb
index 3aa7edf35f6d..ef66b387c25b 100644
--- a/ee/app/graphql/resolvers/analytics/ai_metrics/namespace_metrics_resolver.rb
+++ b/ee/app/graphql/resolvers/analytics/ai_metrics/namespace_metrics_resolver.rb
@@ -10,7 +10,6 @@ class NamespaceMetricsResolver < BaseResolver
type ::Types::Analytics::AiMetrics::NamespaceMetricsType, null: true
authorizes_object!
- authorize :read_pro_ai_analytics
argument :start_date, Types::DateType,
required: false,
diff --git a/ee/app/models/ee/user.rb b/ee/app/models/ee/user.rb
index 3da50eae35c4..e55e8e2a5d1f 100644
--- a/ee/app/models/ee/user.rb
+++ b/ee/app/models/ee/user.rb
@@ -538,6 +538,7 @@ def using_gitlab_com_seat?(namespace)
end
def assigned_to_duo_enterprise?(container)
+ return true
namespace = ::Gitlab::Saas.feature_available?(:gitlab_duo_saas_only) ? container.root_ancestor : nil
GitlabSubscriptions::AddOnPurchase
Insert at cursorInsert at cursor
- Setup Clickhouse in your GDK: https://docs.gitlab.com/development/database/clickhouse/clickhouse_within_gitlab/#gdk-setup
- Navigate to
Analyze > Analytics dashboards > GitLab Duo and SDLC trendsfor any group or project - Validate that the
Gitlab Duo Code Review requests by rolechart is displayed and working correctly
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #574003 (closed)
Edited by Rudy Crespo
