@@ -8,7 +8,7 @@ permissions:
8
8
pull-requests : write
9
9
10
10
env :
11
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
11
+ GITHUB_TOKEN : ${{ secrets.GH_TOKEN_FOR_PR_ASSIGNMENT }}
12
12
13
13
jobs :
14
14
assign-reviewer :
@@ -18,34 +18,46 @@ jobs:
18
18
uses : actions/github-script@v6
19
19
with :
20
20
script : |
21
+ const TRIAGE_USERNAME = 'Lagoja';
22
+
21
23
try {
22
- // Get team members
23
24
const teamMembers = await github.rest.teams.listMembersInOrg({
24
25
org: 'jetify-com',
25
26
team_slug: 'eng'
26
27
});
27
28
28
- // Exclude PR author from potential reviewers
29
- const prAuthor = context.payload.pull_request.user.login;
29
+ const prAuthor = context.payload.pull_request.user.login.toLowerCase();
30
+ console.log(`PR Author: ${prAuthor}`);
31
+
32
+ // Get eligible reviewers (excluding PR author and lagoja)
33
+
30
34
const eligibleReviewers = teamMembers.data
31
35
.map(member => member.login)
32
- .filter(login => login !== prAuthor)
33
- .filter(login => login !== "lagoja");
36
+ .filter(login => {
37
+ const loginLower = login.toLowerCase();
38
+ return loginLower !== prAuthor && loginLower !== TRIAGE_USERNAME;
39
+ });
34
40
35
41
if (eligibleReviewers.length === 0) {
36
42
console.log('No eligible reviewers found');
37
43
return;
38
44
}
39
45
40
- // Randomly select a reviewer
46
+ // Build reviewers list: random reviewer + lagoja (if not PR author)
41
47
const randomReviewer = eligibleReviewers[Math.floor(Math.random() * eligibleReviewers.length)];
42
- console.log(`Assigning reviewer: ${randomReviewer}`);
48
+ const reviewers = [randomReviewer];
49
+
50
+ if (prAuthor !== TRIAGE_USERNAME) {
51
+ reviewers.push(TRIAGE_USERNAME);
52
+ }
53
+
54
+ console.log(`Assigning reviewers: ${reviewers.join(', ')}`);
43
55
44
56
await github.rest.pulls.requestReviewers({
45
57
owner: context.repo.owner,
46
58
repo: context.repo.repo,
47
59
pull_number: context.payload.pull_request.number,
48
- reviewers: [randomReviewer, "lagoja"]
60
+ reviewers
49
61
});
50
62
51
63
} catch (error) {
0 commit comments