Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 30 additions & 5 deletions .github/workflows/expand-team-reviewers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,45 @@ jobs:
owner: ${{ github.repository_owner }}

- name: Expand team to individual reviewers
shell: bash
run: |
org="${{ github.repository_owner }}"
repo="${{ inputs.repository }}"
team="${{ inputs.requested_team }}"
pr="${{ inputs.pull_request_number }}"
pr_author="${{ github.event.pull_request.user.login }}"
# Get team members, but filter out a PR author because review cannot be requested from the author
members=$(gh api /orgs/$org/teams/$team/members \
--paginate \
--jq '.[].login' \
| paste -sd "," -)
if [ -n "$members" ]; then
--jq '.[].login | select(. != "'"$pr_author"'")' )

exit_code=$?
if [[ $exit_code -ne 0 ]]
then
echo "Error: Failed to fetch team members"
echo "$members" # contains the error message
exit $exit_code
fi
Comment on lines +50 to +56
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

Without this, the workflow tries to input error message as a list of reviewers, which is at least a waste of GHA tokens (aka Żappsy :D)


if [[ -n "$members" ]]
then
members_list=$(echo "$members" | paste -sd ",")
echo "Requesting review for $repo#$pr from $org/$team members: $members_list"

gh api \
--method DELETE \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/$repo/pulls/$pr/requested_reviewers --input - <<< '{
"reviewers": [],
"team_reviewers": [
"'"$team"'"
]
}'

gh pr edit "$pr" \
--repo "$repo" \
--remove-reviewer "$org/$team" \
--add-reviewer "$members"
--add-reviewer "$members_list"
fi
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}