From a4c9211a077bdab8069673bf726dc7e335a39573 Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Fri, 4 Apr 2025 15:48:06 -0600 Subject: [PATCH 1/4] Add event and metrics for tracking usage of the sidebar reviewer edit --- ...requests_review_from_mr_simple_sidebar.yml | 17 ++++++++++++++ ...requests_review_from_mr_simple_sidebar.yml | 23 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 config/events/user_requests_review_from_mr_simple_sidebar.yml create mode 100644 config/metrics/counts_all/count_total_user_requests_review_from_mr_simple_sidebar.yml diff --git a/config/events/user_requests_review_from_mr_simple_sidebar.yml b/config/events/user_requests_review_from_mr_simple_sidebar.yml new file mode 100644 index 00000000000000..6b6eb49f37193e --- /dev/null +++ b/config/events/user_requests_review_from_mr_simple_sidebar.yml @@ -0,0 +1,17 @@ +--- +description: Number of times a user uses the right (simple) sidebar on an MR to request a reviewer +internal_events: true +action: user_requests_review_from_mr_simple_sidebar +identifiers: +- project +- namespace +- user +product_group: code_review +product_categories: +- code_review_workflow +milestone: '17.11' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186907 +tiers: +- free +- premium +- ultimate diff --git a/config/metrics/counts_all/count_total_user_requests_review_from_mr_simple_sidebar.yml b/config/metrics/counts_all/count_total_user_requests_review_from_mr_simple_sidebar.yml new file mode 100644 index 00000000000000..baa3587021fcb4 --- /dev/null +++ b/config/metrics/counts_all/count_total_user_requests_review_from_mr_simple_sidebar.yml @@ -0,0 +1,23 @@ +--- +key_path: counts.count_total_user_requests_review_from_mr_simple_sidebar +description: Count of times a user uses the MR simple sidebar to request a reviewer +product_group: code_review +product_categories: +- code_review_workflow +performance_indicator_type: [] +value_type: number +status: active +milestone: '17.11' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186907 +time_frame: +- 28d +- 7d +- all +data_source: internal_events +data_category: optional +tiers: +- free +- premium +- ultimate +events: +- name: user_requests_review_from_mr_simple_sidebar -- GitLab From d6a38282b95081fbf2e05e87d053c7794acbc053 Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Fri, 4 Apr 2025 18:18:18 -0600 Subject: [PATCH 2/4] Add event tracking for when a user selects a reviewer This is for when a user selects a reviewer ONLY using the simple sidebar, not the newer "reviewers panel" --- .../components/reviewers/reviewer_dropdown.vue | 15 ++++++++++++++- .../javascripts/merge_requests/constants.js | 1 + .../components/reviewers/reviewer_title.vue | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/merge_requests/components/reviewers/reviewer_dropdown.vue b/app/assets/javascripts/merge_requests/components/reviewers/reviewer_dropdown.vue index 7cbb528de5bd7d..218e782717a7e5 100644 --- a/app/assets/javascripts/merge_requests/components/reviewers/reviewer_dropdown.vue +++ b/app/assets/javascripts/merge_requests/components/reviewers/reviewer_dropdown.vue @@ -9,7 +9,11 @@ import { convertToGraphQLId } from '~/graphql_shared/utils'; import userAutocompleteWithMRPermissionsQuery from '~/graphql_shared/queries/project_autocomplete_users_with_mr_permissions.query.graphql'; import InviteMembersTrigger from '~/invite_members/components/invite_members_trigger.vue'; -import { SEARCH_SELECT_REVIEWER_EVENT, SELECT_REVIEWER_EVENT } from '../../constants'; +import { + REQUEST_REVIEW_SIMPLE, + SEARCH_SELECT_REVIEWER_EVENT, + SELECT_REVIEWER_EVENT, +} from '../../constants'; import UpdateReviewers from './update_reviewers.vue'; import userPermissionsQuery from './queries/user_permissions.query.graphql'; @@ -57,6 +61,11 @@ export default { required: false, default: () => [], }, + usage: { + type: String, + required: false, + default: () => 'complex', + }, }, data() { return { @@ -178,6 +187,10 @@ export default { processReviewers(updateReviewers) { this.trackReviewersSelectEvent(); updateReviewers(); + + if (this.usage === 'simple') { + this.trackEvent(REQUEST_REVIEW_SIMPLE); + } }, }, i18n: { diff --git a/app/assets/javascripts/merge_requests/constants.js b/app/assets/javascripts/merge_requests/constants.js index 05d39b28d2790c..6e4fc730f4f0d6 100644 --- a/app/assets/javascripts/merge_requests/constants.js +++ b/app/assets/javascripts/merge_requests/constants.js @@ -2,3 +2,4 @@ export const MAX_LIST_SIZE = 10; export const SELECT_REVIEWER_EVENT = 'user_selects_reviewer_from_mr_sidebar'; export const SEARCH_SELECT_REVIEWER_EVENT = 'user_selects_reviewer_from_mr_sidebar_after_search'; +export const REQUEST_REVIEW_SIMPLE = 'user_requests_review_from_mr_simple_sidebar'; diff --git a/app/assets/javascripts/sidebar/components/reviewers/reviewer_title.vue b/app/assets/javascripts/sidebar/components/reviewers/reviewer_title.vue index 21d0dae4ecc0c1..186b2a85b2206e 100644 --- a/app/assets/javascripts/sidebar/components/reviewers/reviewer_title.vue +++ b/app/assets/javascripts/sidebar/components/reviewers/reviewer_title.vue @@ -1,6 +1,7 @@