Skip to content

Commit ee7ef70

Browse files
author
ntwigg
committed
Update claude.yml so that only members of team Spotless can do @claude.
1 parent 1ba1af2 commit ee7ef70

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

.github/workflows/claude.yml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,39 @@ on:
1111
types: [submitted]
1212

1313
jobs:
14+
check-team-membership:
15+
runs-on: ubuntu-latest
16+
outputs:
17+
is-team-member: ${{ steps.check-membership.outputs.is-member }}
18+
steps:
19+
- name: Check team membership
20+
id: check-membership
21+
uses: actions/github-script@v7
22+
with:
23+
script: |
24+
try {
25+
const { data } = await github.rest.teams.getMembershipForUserInOrg({
26+
org: 'diffplug',
27+
team_slug: 'spotless',
28+
username: github.event.sender.login
29+
});
30+
console.log(`User ${github.event.sender.login} membership status: ${data.state}`);
31+
return data.state === 'active';
32+
} catch (error) {
33+
console.log(`User ${github.event.sender.login} is not a member of the Spotless team`);
34+
return false;
35+
}
36+
1437
claude:
38+
needs: check-team-membership
1539
if: |
16-
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17-
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18-
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19-
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
40+
needs.check-team-membership.outputs.is-team-member == 'true' &&
41+
(
42+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
43+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
44+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
45+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
46+
)
2047
runs-on: ubuntu-latest
2148
permissions:
2249
contents: read

0 commit comments

Comments
 (0)