feat : 서버 페치 실패시 빌드 막도록 수정 #11
Workflow file for this run
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: PR Label Notify | |
| on: | |
| pull_request_target: | |
| types: [labeled] | |
| repository_dispatch: | |
| types: [pr_notify] | |
| jobs: | |
| notify: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Send Discord notification for PR label | |
| if: github.event_name == 'pull_request' && github.event.label.name == 'need_review' | |
| env: | |
| DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| PR_TITLE: ${{ github.event.pull_request.title }} | |
| PR_AUTHOR: ${{ github.event.pull_request.user.login }} | |
| PR_URL: ${{ github.event.pull_request.html_url }} | |
| REPO_NAME: ${{ github.repository }} | |
| run: | | |
| # Security: Only allow CODEOWNERS to trigger notifications | |
| ALLOWED_AUTHORS=("wibaek" "manNomi" "enunsnv" "khwww") | |
| if [[ ! " ${ALLOWED_AUTHORS[@]} " =~ " ${PR_AUTHOR} " ]]; then | |
| echo "⚠️ Skipping notification: PR author is not a CODEOWNER" | |
| exit 0 | |
| fi | |
| TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ) | |
| jq -n \ | |
| --arg username "프론트 PR 리뷰봇" \ | |
| --arg avatar_url "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" \ | |
| --arg content "리뷰가 필요합니다! <@&1368737911301865503>" \ | |
| --arg pr_number "$PR_NUMBER" \ | |
| --arg pr_title "$PR_TITLE" \ | |
| --arg pr_author "$PR_AUTHOR" \ | |
| --arg pr_url "$PR_URL" \ | |
| --arg repo_name "$REPO_NAME" \ | |
| --arg timestamp "$TIMESTAMP" \ | |
| '{ | |
| username: $username, | |
| avatar_url: $avatar_url, | |
| content: $content, | |
| embeds: [{ | |
| title: ("PR #" + $pr_number + ": " + $pr_title), | |
| description: "리뷰 요청이 있습니다", | |
| url: $pr_url, | |
| color: 3447003, | |
| fields: [ | |
| { | |
| name: "작성자", | |
| value: $pr_author, | |
| inline: true | |
| }, | |
| { | |
| name: "저장소", | |
| value: $repo_name, | |
| inline: true | |
| } | |
| ], | |
| footer: { | |
| text: "GitHub Actions" | |
| }, | |
| timestamp: $timestamp | |
| }], | |
| allowed_mentions: { | |
| roles: ["1368737911301865503"] | |
| } | |
| }' | curl -X POST "$DISCORD_WEBHOOK_URL" \ | |
| -H "Content-Type: application/json" \ | |
| -d @- | |
| - name: Send Discord notification for webhook | |
| if: github.event_name == 'repository_dispatch' | |
| env: | |
| DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | |
| CUSTOM_MESSAGE: ${{ github.event.client_payload.message }} | |
| run: | | |
| MESSAGE="${CUSTOM_MESSAGE:-리뷰가 필요합니다! <@&1368737911301865503>}" | |
| jq -n \ | |
| --arg username "프론트 PR 리뷰봇" \ | |
| --arg avatar_url "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" \ | |
| --arg content "$MESSAGE" \ | |
| '{ | |
| username: $username, | |
| avatar_url: $avatar_url, | |
| content: $content, | |
| allowed_mentions: { | |
| roles: ["1368737911301865503"] | |
| } | |
| }' | curl -X POST "$DISCORD_WEBHOOK_URL" \ | |
| -H "Content-Type: application/json" \ | |
| -d @- |