Log validator version on startup #57
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: Notify Reviewers on Slack | |
on: | |
pull_request: | |
types: [review_requested] | |
jobs: | |
notify: | |
if: github.event.action == 'review_requested' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Format reviewer list | |
id: reviewers | |
run: | | |
echo '${{ toJson(github.event.pull_request.requested_reviewers) }}' > reviewers.json | |
# Check if the reviewers data exists and extract it | |
if [ -s reviewers.json ] && [ "$(cat reviewers.json)" != "null" ] && [ "$(cat reviewers.json)" != "[]" ]; then | |
# Process the individual reviewers - handle both array format and single object format | |
reviewers=$(cat reviewers.json | jq -r 'if type=="array" then .[].login else .login end' 2>/dev/null | grep -v '^$' | paste -sd ", " -) | |
if [ -z "$reviewers" ]; then | |
# Fallback - try to get reviewer login directly if the structure is unexpected | |
reviewers=$(cat reviewers.json | grep -o '"login":"[^"]*"' | sed 's/"login":"//g' | sed 's/"//g' | paste -sd ", " -) | |
fi | |
else | |
reviewers="No reviewers found" | |
fi | |
echo "Extracted reviewers: $reviewers" | |
echo "reviewers=$reviewers" >> $GITHUB_OUTPUT | |
- name: Get requested reviewer from event payload | |
id: single_reviewer | |
if: github.event.requested_reviewer != null | |
run: | | |
echo "reviewer=${{ github.event.requested_reviewer.login }}" >> $GITHUB_OUTPUT | |
- name: Send Slack Notification | |
uses: slackapi/[email protected] | |
with: | |
payload: | | |
{ | |
"text": "👀 *${{ github.event.pull_request.user.login }}* has requested reviews from *${{ steps.single_reviewer.outputs.reviewer || steps.reviewers.outputs.reviewers }}* on PR: <${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}>.", | |
"blocks": [ | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": "👀 *${{ github.event.pull_request.user.login }}* has requested reviews from *${{ steps.single_reviewer.outputs.reviewer || steps.reviewers.outputs.reviewers }}* on PR: <${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}>." | |
} | |
} | |
] | |
} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |