Skip to content

Commit 3bb1035

Browse files
committed
request reviews instead of commenting
1 parent f1b6706 commit 3bb1035

File tree

3 files changed

+23
-28
lines changed

3 files changed

+23
-28
lines changed

.github/reviewers.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"fs": "@nodejs/fs",
3-
"timers": "@nodejs/timers",
4-
"events": "@nodejs/events",
5-
"repl": "@nodejs/repl",
6-
"diagnostics": "@nodejs/diagnostics",
7-
"undici": "@nodejs/undici",
8-
"npm": "@nodejs/npm",
9-
"security": "@nodejs/security-wg",
10-
"n-api": "@nodejs/addon-api",
11-
"test": "@nodejs/test_runner",
12-
"typescript": "@nodejs/typescript"
2+
"fs": "fs",
3+
"timers": "timers",
4+
"events": "events",
5+
"repl": "repl",
6+
"diagnostics": "diagnostics",
7+
"undici": "undici",
8+
"npm": "npm",
9+
"security": "security-wg",
10+
"n-api": "addon-api",
11+
"test": "test_runner",
12+
"typescript": "typescript"
1313
}

.github/scripts/get-reviewers.mjs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import fs from 'fs';
22

3-
export default async function (core, filesList) {
3+
export default async function (github, context, filesList) {
44
// Load reviewers mapping
55
const reviewersMap = JSON.parse(
66
fs.readFileSync('.github/reviewers.json', 'utf8')
@@ -10,7 +10,7 @@ export default async function (core, filesList) {
1010
const files = filesList.trim().split(' ').filter(Boolean);
1111

1212
// Track reviewers we need to mention
13-
const reviewersToMention = new Set();
13+
const reviewers = new Set();
1414

1515
// Process each file
1616
for (const file of files) {
@@ -20,16 +20,19 @@ export default async function (core, filesList) {
2020
if (apiValues && apiValues.length > 0) {
2121
for (const apiValue of apiValues) {
2222
if (reviewersMap[apiValue]) {
23-
reviewersToMention.add(`- [ ] ${reviewersMap[apiValue]}`);
23+
reviewers.add(reviewersMap[apiValue]);
2424
}
2525
}
2626
}
2727
}
2828

29-
// Set outputs
30-
const reviewersList = Array.from(reviewersToMention);
31-
core.setOutput('found', reviewersList.length > 0);
32-
core.setOutput('reviewers', reviewersList.join('\n'));
29+
// Request Review
30+
github.rest.pulls.requestReviewers({
31+
owner: context.repo.owner,
32+
repo: context.repo.repo,
33+
pull_number: context.pull_request.number,
34+
team_reviewers: Array.from(reviewers),
35+
});
3336
}
3437

3538
/**

.github/workflows/request-review.yml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
runs-on: ubuntu-latest
2626

2727
permissions:
28-
# This permission is required by `thollander/actions-comment-pull-request`
28+
# This permission is required to request reviews
2929
pull-requests: write
3030

3131
steps:
@@ -57,14 +57,6 @@ jobs:
5757
with:
5858
script: |
5959
const { default: reviewers } = await import("${{github.workspace}}/.github/scripts/get-reviewers.mjs");
60-
reviewers(core, process.env.PR_FILES);
60+
reviewers(github, context, process.env.PR_FILES);
6161
env:
6262
PR_FILES: ${{ steps.changed-files.outputs.files }}
63-
64-
- uses: thollander/actions-comment-pull-request@e2c37e53a7d2227b61585343765f73a9ca57eda9 # v3.0.0
65-
if: steps.reviewers.outputs.found == 'true'
66-
with:
67-
message: |
68-
Requesting a review from the following teams:
69-
${{ steps.reviewers.outputs.reviewers }}
70-
comment-tag: request_review

0 commit comments

Comments
 (0)