[Payment History] Assist with Accessibility Testing for Staging Review #55948
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Add Team Reviewer CoP Checker | |
| on: | |
| pull_request_review: | |
| types: [submitted] | |
| issue_comment: | |
| types: [created] | |
| jobs: | |
| add-team-reviewer: | |
| # Only run this job when changes are requested | |
| if: github.event.review.state == 'changes_requested' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Check if reviewer is team member and add team | |
| uses: actions/github-script@v7 | |
| with: | |
| github-token: ${{ secrets.BOT_GITHUB_TOKEN }} | |
| script: | | |
| const reviewer = context.payload.review.user.login; | |
| const teamSlug = 'platform-support'; | |
| const teamToAdd = 'department-of-veterans-affairs/platform-support'; | |
| console.log(`Changes requested by: ${reviewer}`); | |
| try { | |
| // Check if the reviewer is a member of the specified team | |
| const { data: teamMembers } = await github.rest.teams.listMembersInOrg({ | |
| org: context.repo.owner, | |
| team_slug: teamSlug | |
| }); | |
| const isTeamMember = teamMembers.some(member => member.login === reviewer); | |
| if (isTeamMember) { | |
| console.log(`${reviewer} is a member of ${teamSlug}. Adding team as reviewer.`); | |
| // Add the team as a reviewer | |
| await github.rest.pulls.requestReviewers({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| pull_number: context.payload.pull_request.number, | |
| team_reviewers: [teamSlug] | |
| }); | |
| console.log(`Added ${teamSlug} as reviewer`); | |
| } else { | |
| console.log(`${reviewer} is not a member of ${teamSlug}. No action taken.`); | |
| } | |
| } catch (error) { | |
| console.error('Error:', error); | |
| core.setFailed(`Action failed with error: ${error}`); | |
| } | |
| re-add-team-reviewer: | |
| # Only run this job when a comment is created on a PR | |
| if: github.event.issue.pull_request | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Check if commenter is team member and re-add team | |
| uses: actions/github-script@v7 | |
| with: | |
| github-token: ${{ secrets.BOT_GITHUB_TOKEN }} | |
| script: | | |
| const commenter = context.payload.comment.user.login; | |
| const teamSlug = 'platform-support'; | |
| const prNumber = context.payload.issue.number; | |
| console.log(`Comment made by: ${commenter} on PR #${prNumber}`); | |
| try { | |
| // Check if the commenter is a member of the specified team | |
| const { data: teamMembers } = await github.rest.teams.listMembersInOrg({ | |
| org: context.repo.owner, | |
| team_slug: teamSlug | |
| }); | |
| const isTeamMember = teamMembers.some(member => member.login === commenter); | |
| if (isTeamMember) { | |
| console.log(`${commenter} is a member of ${teamSlug}. Re-adding team as reviewer.`); | |
| // Re-add the team as a reviewer | |
| await github.rest.pulls.requestReviewers({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| pull_number: prNumber, | |
| team_reviewers: [teamSlug] | |
| }); | |
| console.log(`Re-added ${teamSlug} as reviewer to PR #${prNumber}`); | |
| } else { | |
| console.log(`${commenter} is not a member of ${teamSlug}. No action taken.`); | |
| } | |
| } catch (error) { | |
| console.error('Error:', error); | |
| core.setFailed(`Action failed with error: ${error}`); | |
| } |