File tree Expand file tree Collapse file tree 1 file changed +22
-1
lines changed
Expand file tree Collapse file tree 1 file changed +22
-1
lines changed Original file line number Diff line number Diff line change 88jobs :
99 remove-needs-review :
1010 name : 🏷️ Remove needs review label
11- if : github.repository == 'npmx-dev/npmx.dev' && contains(fromJson('["MEMBER","OWNER"]'), github.event.review.author_association)
11+ if : github.repository == 'npmx-dev/npmx.dev'
1212 runs-on : ubuntu-slim
1313 permissions :
14+ contents : read
1415 issues : write
1516 steps :
1617 - name : 🏷️ Remove needs review label
1718 uses : actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
1819 with :
1920 script : |
2021 const pr = context.payload.pull_request;
22+ const review = context.payload.review;
2123 const LABEL = 'needs review';
24+ const reviewer = review?.user?.login;
25+
26+ if (!reviewer) {
27+ console.log('No reviewer login found in payload, skipping.');
28+ return;
29+ }
2230
2331 if (!pr.labels.some(({ name }) => name === LABEL)) {
2432 console.log(`PR #${pr.number} does not have the "${LABEL}" label.`);
2533 return;
2634 }
2735
36+ const { data: permission } = await github.rest.repos.getCollaboratorPermissionLevel({
37+ owner: context.repo.owner,
38+ repo: context.repo.repo,
39+ username: reviewer,
40+ });
41+
42+ console.log(`Reviewer @${reviewer} permission is "${permission.permission}".`);
43+
44+ if (!['admin', 'maintain', 'write'].includes(permission.permission)) {
45+ console.log(`Reviewer @${reviewer} is not a maintainer, skipping.`);
46+ return;
47+ }
48+
2849 await github.rest.issues.removeLabel({
2950 owner: context.repo.owner,
3051 repo: context.repo.repo,
You can’t perform that action at this time.
0 commit comments