@@ -19,38 +19,52 @@ jobs:
1919 with :
2020 script : |
2121 const TRIAGE_USERNAME = 'Lagoja';
22-
22+
2323 try {
24+ const authenticatedUser = await github.rest.users.getAuthenticated();
25+
2426 const teamMembers = await github.rest.teams.listMembersInOrg({
2527 org: 'jetify-com',
2628 team_slug: 'eng'
2729 });
2830
2931 const prAuthor = context.payload.pull_request.user.login.toLowerCase();
30- console.log(`PR Author: ${prAuthor}`);
32+ const prAuthorId = context.payload.pull_request.user.id;
33+ const authenticatedUserLower = authenticatedUser.data.login.toLowerCase();
3134
32- // Get eligible reviewers (excluding PR author and lagoja)
33-
35+ // Get eligible reviewers (excluding PR author, authenticated user, and lagoja)
3436 const eligibleReviewers = teamMembers.data
35- .map(member => member.login)
36- .filter(login => {
37- const loginLower = login.toLowerCase();
38- return loginLower !== prAuthor && loginLower !== TRIAGE_USERNAME;
39- });
37+ .filter(member => {
38+ const loginLower = member.login.toLowerCase();
39+
40+ // Exclude PR author by both ID and username
41+ const isNotAuthor = (prAuthorId && member.id !== prAuthorId) && loginLower !== prAuthor;
42+ // Exclude authenticated user
43+ const isNotAuthenticatedUser = member.id !== authenticatedUser.data.id;
44+ const isNotTriage = loginLower !== TRIAGE_USERNAME.toLowerCase();
45+
46+ return isNotAuthor && isNotAuthenticatedUser && isNotTriage;
47+ })
48+ .map(member => member.login);
49+
50+ console.log(`Eligible reviewers: ${eligibleReviewers.join(', ')}`);
4051
4152 if (eligibleReviewers.length === 0) {
4253 console.log('No eligible reviewers found');
4354 return;
4455 }
4556
46- // Build reviewers list: random reviewer + lagoja (if not PR author)
4757 const randomReviewer = eligibleReviewers[Math.floor(Math.random() * eligibleReviewers.length)];
4858 const reviewers = [randomReviewer];
49-
50- if (prAuthor !== TRIAGE_USERNAME) {
59+
60+ // Only add TRIAGE_USERNAME if they're not the PR author and not the authenticated user
61+ if (prAuthor !== TRIAGE_USERNAME.toLowerCase() &&
62+ authenticatedUserLower !== TRIAGE_USERNAME.toLowerCase()) {
5163 reviewers.push(TRIAGE_USERNAME);
5264 }
5365
66+ console.log(`Final reviewers: ${reviewers.join(', ')}`);
67+
5468 console.log(`Assigning reviewers: ${reviewers.join(', ')}`);
5569
5670 await github.rest.pulls.requestReviewers({
0 commit comments