From f2c67ac5ef3e3b3e15f2e62f0e1dda468835db7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20M=C3=BCller?= <9016208+Seros@users.noreply.github.com> Date: Wed, 10 Dec 2025 14:27:17 +0100 Subject: [PATCH 1/5] Fix: codeowners team again Add approvedReviewers parameter to process method --- lib/validators/options_processor/owners.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/validators/options_processor/owners.js b/lib/validators/options_processor/owners.js index 1674f28e..cc6d2a3d 100644 --- a/lib/validators/options_processor/owners.js +++ b/lib/validators/options_processor/owners.js @@ -4,7 +4,7 @@ const _ = require('lodash') const GithubAPI = require('../../github/api') class Owner { - static async process (payload, context) { + static async process (payload, context, approvedReviewers = []) { const CODEOWNERS = await retrieveCODEOWNER(context, payload.number) if (CODEOWNERS === null) return [] @@ -34,7 +34,11 @@ class Owner { const requiredIndividuals = individuals let teamMembers = [] if (teams.length > 0) { - teamMembers = await Teams.extractTeamMemberships(context, teams, requiredIndividuals) + if (approvedReviewers) { + teamMembers = await Teams.extractTeamMemberships(context, teams, approvedReviewers) + } else { + teamMembers = await Teams.extractTeamMembers(context, teams) + } } return _.union(teamMembers, requiredIndividuals) From 02b5efdeaa8d982abc7082a35a7e31eec5eda23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20M=C3=BCller?= <9016208+Seros@users.noreply.github.com> Date: Wed, 10 Dec 2025 14:31:01 +0100 Subject: [PATCH 2/5] Check users array before processing teams --- lib/validators/options_processor/teams.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/validators/options_processor/teams.js b/lib/validators/options_processor/teams.js index 6154df84..7f193091 100644 --- a/lib/validators/options_processor/teams.js +++ b/lib/validators/options_processor/teams.js @@ -21,7 +21,7 @@ class Teams { const teamMembers = [] let membershipState = false - if (!teams || teams.length === 0) return teamMembers + if (!users || users.length === 0) return teamMembers for (const user of users) { for (const team of teams) { From da70bbbcf1c5e22d94f9392c9baac15ca1ff5a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20M=C3=BCller?= <9016208+Seros@users.noreply.github.com> Date: Wed, 10 Dec 2025 14:32:16 +0100 Subject: [PATCH 3/5] Refactor reviewer list to use union for uniqueness --- lib/validators/approvals.js | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/lib/validators/approvals.js b/lib/validators/approvals.js index 5a200832..d42fda25 100644 --- a/lib/validators/approvals.js +++ b/lib/validators/approvals.js @@ -159,11 +159,7 @@ class Approvals extends Validator { } if (ownerList.length > 0) { - // append it to the required reviewer list - requiredReviewers = requiredReviewers.concat(ownerList) - - // there could be duplicates between reviewer and ownerlist - requiredReviewers = _.uniq(requiredReviewers) + requiredReviewers = _.union(requiredReviewers, ownerList) } const assigneeList = (validationSettings && validationSettings.required && validationSettings.required.assignees) @@ -171,11 +167,7 @@ class Approvals extends Validator { : [] if (assigneeList.length > 0) { - // append it to the required reviewer list - requiredReviewers = requiredReviewers.concat(assigneeList) - - // there could be duplicates between reviewer and assigneeList - requiredReviewers = _.uniq(requiredReviewers) + requiredReviewers = _.union(requiredReviewers, assigneeList) } const requestedReviewerList = (validationSettings && validationSettings.required && validationSettings.required.requested_reviewers) @@ -183,11 +175,7 @@ class Approvals extends Validator { : [] if (requestedReviewerList.length > 0) { - // append it to the required reviewer list - requiredReviewers = requiredReviewers.concat(requestedReviewerList) - - // there could be duplicates between reviewer and assigneeList - requiredReviewers = _.uniq(requiredReviewers) + requiredReviewers = _.union(requiredReviewers, requestedReviewerList) } // if pr creator exists in the list of required reviewers, remove it From e53bfd55162e8ba56dd407b92ce1483865db0819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20M=C3=BCller?= <9016208+Seros@users.noreply.github.com> Date: Wed, 10 Dec 2025 14:38:13 +0100 Subject: [PATCH 4/5] Update changelog --- docs/changelog.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 191f2d60..d05397c9 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,5 +1,6 @@ CHANGELOG ===================================== +| December 10, 2025 : fix: codeowners team again | July 10, 2024: feat: Add trigger 'issue_comment' in validators `age`, `assignee`, `author`, `description`, `label`, `title` `#766 `_ | June 25 2024: feat: Add buildpacks for building docker image `#764 `_ | June 20, 2024: feat: Add options 'one_of' and 'none_of'. Support in filters `payload`, `author`, and in action `lastComment` to filter comments authors `#757 `_ From 2380e5dd0ce8771ac881e81521f1ade473b1ac40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20M=C3=BCller?= <9016208+Seros@users.noreply.github.com> Date: Wed, 10 Dec 2025 14:43:34 +0100 Subject: [PATCH 5/5] Update changelog with pull request links --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index d05397c9..3356e6b3 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,6 @@ CHANGELOG ===================================== -| December 10, 2025 : fix: codeowners team again +| December 10, 2025 : fix: codeowners team again `#789 `_ | July 10, 2024: feat: Add trigger 'issue_comment' in validators `age`, `assignee`, `author`, `description`, `label`, `title` `#766 `_ | June 25 2024: feat: Add buildpacks for building docker image `#764 `_ | June 20, 2024: feat: Add options 'one_of' and 'none_of'. Support in filters `payload`, `author`, and in action `lastComment` to filter comments authors `#757 `_