8
8
- jay-so
9
9
- iey704
10
10
- yerimming
11
- - makeUgreat
12
11
- jiminseong
13
12
14
13
jobs :
15
- random-reviwer :
14
+ random-reviewer :
16
15
runs-on : ubuntu-latest
17
16
steps :
18
- - id : random_reviwer
17
+ - id : random_reviewer
19
18
uses : actions/github-script@v5
20
19
with :
21
- github-token : ${{ secrets.GITHUB_TOKEN }}
20
+ github-token : ${{ secrets.GITHUB_TOKEN }}
22
21
script : |
23
- const candidate = ['jay-so', 'iey704', 'yerimming', 'makeUgreat', 'jiminseong'];
24
- const randomReviewer = candidate[Math.floor(Math.random() * candidate.length)];
25
- const comment = `@${randomReviewer} 님 랜덤 리뷰어로 당첨되셨습니다! 리뷰를 부탁드립니다. 🙏`;
22
+ const candidates = ['jay-so', 'iey704', 'yerimming', 'jiminseong'];
23
+ const author = context.payload.pull_request.user.login;
24
+
25
+ // 작성자를 제외한 후보자 목록 만들기
26
+ const filteredCandidates = candidates.filter(candidate => candidate !== author);
27
+
28
+ // 랜덤 리뷰어 선택 (3명)
29
+ const randomReviewers = filteredCandidates.sort(() => Math.random() - 0.5).slice(0, 3);
30
+
31
+ // 메시지 생성
32
+ const comment = `@${randomReviewers.join(' @')} 님 랜덤 리뷰어로 당첨되셨습니다! 리뷰를 부탁드립니다. 🙏`;
26
33
console.log(`Comment: ${comment}`);
27
- return { comment, reviewer: randomReviewer };
28
34
29
- - name : comment PR
35
+ core.setOutput('comment', comment);
36
+ core.setOutput('reviewers', randomReviewers.join(','));
37
+
38
+ - name : Comment PR
30
39
uses : actions/github-script@v5
31
40
with :
32
41
github-token : ${{ secrets.GITHUB_TOKEN }}
33
42
script : |
34
- const reviewer = '${{ steps.random_reviwer.outputs.reviewer }}';
35
- const comment = `@${reviewer} 님 랜덤 리뷰어로 당첨되셨습니다! 리뷰를 부탁드립니다. 🙏`;
36
-
37
- const { owner, repo } = context.repo;
38
- const issue_number = context.issue.number;
39
-
43
+ const reviewers = '${{ steps.random_reviewer.outputs.reviewers }}'.split(',');
44
+ const comment = `@${reviewers.join(' @')} 님 랜덤 리뷰어로 당첨되셨습니다! 리뷰를 부탁드립니다. 🙏`;
45
+
40
46
await github.rest.issues.createComment({
41
- owner,
42
- repo,
43
- issue_number,
44
- body: comment
47
+ owner: context.repo.owner ,
48
+ repo: context.repo.repo ,
49
+ issue_number: context.issue.number ,
50
+ body: comment,
45
51
});
46
52
47
- - name : Add Pull Request Reviewer
53
+ - name : Add Pull Request Reviewers
48
54
uses : madrapps/add-reviewers@v1
49
55
with :
50
- reviewers : ${{ steps.random_reviwer.outputs.reviewer }}
51
- token : ${{ secrets.GITHUB_TOKEN }}
52
-
56
+ reviewers : ${{ steps.random_reviewer.outputs.reviewers }}
57
+ token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments