File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -22,22 +22,31 @@ jobs:
22
22
result-encoding : string
23
23
script : |
24
24
try {
25
+ let username;
26
+ if (context.payload.pull_request) {
27
+ username = context.payload.pull_request.user.login;
28
+ } else {
29
+ // For non-PRs (eg. merge), check the actor (person who merged)
30
+ username = context.actor;
31
+ console.log(`No pull request context found, checking permissions for actor: ${username}`);
32
+ }
33
+
25
34
const permissionResponse = await github.rest.repos.getCollaboratorPermissionLevel({
26
35
owner: context.repo.owner,
27
36
repo: context.repo.repo,
28
- username: context.payload.pull_request.user.login ,
37
+ username: username ,
29
38
});
30
39
const permission = permissionResponse.data.permission;
31
40
const hasWriteAccess = ['write', 'admin'].includes(permission);
32
41
if (!hasWriteAccess) {
33
- console.log(`User ${context.payload.pull_request.user.login } does not have write access to the repository (permission: ${permission})`);
42
+ console.log(`User ${username } does not have write access to the repository (permission: ${permission})`);
34
43
return "manual-approval"
35
44
} else {
36
- console.log(`Verifed ${context.payload.pull_request.user.login } has write access. Auto Approving PR Checks.`)
45
+ console.log(`Verifed ${username } has write access. Auto Approving PR Checks.`)
37
46
return "auto-approve"
38
47
}
39
48
} catch (error) {
40
- console.log(`${context.payload.pull_request.user.login } does not have write access. Requiring Manual Approval to run PR Checks.`)
49
+ console.log(`${username } does not have write access. Requiring Manual Approval to run PR Checks.`)
41
50
return "manual-approval"
42
51
}
43
52
check-access-and-checkout :
You can’t perform that action at this time.
0 commit comments