From b294ecc7cf7c3dcfff92e07e5788b66f4dcbb5cb Mon Sep 17 00:00:00 2001 From: Abdul Wadood <awadood@gitlab.com> Date: Tue, 10 Dec 2024 09:59:43 +0530 Subject: [PATCH] Pick GitLab project specific reviewers in keeps We use the reviewer roulette when generating merge requests using housekeeper. Here we fix a bug where the role like `maintainer::backend` was being picked for another project like `customers-app`. Instead, we should be picking `maintainer::backend` for the `gitlab` project. --- keeps/helpers/reviewer_roulette.rb | 2 +- spec/fixtures/keeps/helpers/stats.json | 51 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/keeps/helpers/reviewer_roulette.rb b/keeps/helpers/reviewer_roulette.rb index 959c8d7ba2cfd..6a8e2e2fcc9a3 100644 --- a/keeps/helpers/reviewer_roulette.rb +++ b/keeps/helpers/reviewer_roulette.rb @@ -22,7 +22,7 @@ def available_reviewers_for_role(role) end def reviewer_has_matching_role?(person, role) - person.dig(:user, :type).any? { |role_pair| role_pair[:r] == role } + person.dig(:user, :type).any? { |role_pair| role_pair[:p] == GITLAB_PROJECT && role_pair[:r] == role } end def average_type?(person) diff --git a/spec/fixtures/keeps/helpers/stats.json b/spec/fixtures/keeps/helpers/stats.json index 79d88a4ddf574..6f119f03750d4 100644 --- a/spec/fixtures/keeps/helpers/stats.json +++ b/spec/fixtures/keeps/helpers/stats.json @@ -3,6 +3,57 @@ "nextBuild": "2024-06-27T05:34:12.000Z", "commit": "00000000", "people": [ + { + "key": "arianna", + "user": { + "username": "@arianna", + "name": "Camila Champlin", + "avatarUrl": "https://localhost/uploads/-/system/user/avatar/4/avatar.png?width=32", + "webUrl": "https://localhost/arianna", + "type": [ + { + "p": "customers-app", + "r": "maintainer::backend" + }, + { + "p": "gitlab", + "r": "reviewer::backend" + } + ], + "tzOffset": 330, + "merge_request_coach": false + }, + "status": { + "emoji": "2ï¸âƒ£", + "messageHtml": "", + "available": true, + "has_capacity": true, + "hungry": false, + "reduced_capacity": false, + "out_of_office": false, + "assigned_max_capacity": 2, + "gitlab_mrs_involved_for_review_count": 0 + }, + "stats": { + "assignEvents": [ + { + "date": "2024-05-28", + "value": 4 + }, + { + "date": "2024-05-29", + "value": 1 + } + ], + "count7": 10, + "count30": 38, + "avg7": 1.4, + "avg30": 1.3 + }, + "mrs": [ + + ] + }, { "key": "tiera", "user": { -- GitLab