Skip to content

Commit 5120305

Browse files
committed
add random reviewer assignment
1 parent 00d4b14 commit 5120305

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Random Reviewer Assignment
2+
on:
3+
pull_request:
4+
types: [opened]
5+
6+
jobs:
7+
assign-reviewer:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Randomly assign reviewer from team
11+
uses: actions/github-script@v6
12+
with:
13+
script: |
14+
try {
15+
// Get team members
16+
const teamMembers = await github.rest.teams.listMembersInOrg({
17+
org: 'jetify-com',
18+
team_slug: 'eng'
19+
});
20+
21+
// Exclude PR author from potential reviewers
22+
const prAuthor = context.payload.pull_request.user.login;
23+
const eligibleReviewers = teamMembers.data
24+
.map(member => member.login)
25+
.filter(login => login !== prAuthor)
26+
.filter(login => login !== "lagoja");
27+
28+
if (eligibleReviewers.length === 0) {
29+
console.log('No eligible reviewers found');
30+
return;
31+
}
32+
33+
// Randomly select a reviewer
34+
const randomReviewer = eligibleReviewers[Math.floor(Math.random() * eligibleReviewers.length)];
35+
console.log(`Assigning reviewer: ${randomReviewer}`);
36+
37+
await github.rest.pulls.requestReviewers({
38+
owner: context.repo.owner,
39+
repo: context.repo.repo,
40+
pull_number: context.payload.pull_request.number,
41+
reviewers: [randomReviewer, "lagoja"]
42+
});
43+
44+
} catch (error) {
45+
console.error('Error assigning reviewer:', error);
46+
}

0 commit comments

Comments
 (0)