Inflearn brand logo image

인프런 커뮤니티 질문&답변

foodsmith96님의 프로필 이미지
foodsmith96

작성한 질문수

실전! GitHub Actions으로 CI/CD 시작하기

키워드 기반 이슈 알림 자동화 소개 구성하기 1

슬랙 연동 안됨

작성

·

55

0

안녕하세요 강의 잘 듣고 있습니다.


슬랙 연동하는 부분이 지속적으로 안돼서 어떻게 해결해야 하는지 여쭤보고 싶습니다.

 

강의에 나온대로해도 안되길래 payload를 간소화해보기도 했고, 직접 마켓플레이스에 들어가 v2.1.0 문법으로 수정하기도 했습니다.

 

그런데 워크플로우에서 계속해서 5회 리트라이에도 실패했다는 값이 출력됩니다.

 

웹훅 URL도 정상적으로 생성되어 있고, text 값을 수정해서 별도로 curl을 날려도 정상적으로 슬랙에 메시지가 전달되는 상태입니다. action을 통할 때에만 실패하네요.. 혹시 슬랙이 무료판이라 그런걸까요..

 

아래는 워크플로우 로그와 yaml 설정값입니다.

 

Run slackapi/slack-github-action@v2.1.0

2 with:

3 webhook: ***

4 webhook-type: incoming-webhook

5 payload: {

6 "text": "리포지토리 생성 결과: success"

7 }

8 errors: false

9 payload-templated: false

10 retries: 5

11 env:

12 ACTIONS_STEP_DEBUG: true

 

- name: slack
  if: always()
  uses: slackapi/slack-github-action@v2.1.0
  with:
    webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
    webhook-type: incoming-webhook
    payload: |
      {
        "text": "리포지토리 생성 결과: ${{ steps.create-repo.outcome }}"
      }

답변 3

1

이상원님의 프로필 이미지
이상원
지식공유자

안녕하세요,

슬랙 연동하는 부분이 안된다라는게 명확히 어떤 뜻일까요 ?
제가 확인해봤을때, 깃헙액션 워크플로우 자체(슬랙 액션을 활용하는 것)는 문제없는 것 같습니다.
예제에서 제공한 코드와 동일한 코드 사용 시에 아래처럼 확인됩니다.

 

저도 무료로 슬랙을 사용하기 때문에, 무료 버전인것과는 별개인것 같아요.

 

액션을 통해서, 실패한다고 하셨는데 깃헙액션 워크플로우에서 어떻게 에러 로그가 나오는지
첨부해주시면 알려주시면 도움이 될 것 같습니다.

 

image.png

 

image.png

 

image.png

 

foodsmith96님의 프로필 이미지
foodsmith96
질문자

일단 상황 설명을 다시 드리겠습니다.

깃헙액션을 통해 슬랙URL로 슬랙 내 github-action 채널로 메시지를 보낼 때,
메시지가 정상적으로 슬랙방으로 전달되지 않는 것이 문제입니다.

 

name: create_repo-workflow
env:
  ACTIONS_STEP_DEBUG: true
on:
  workflow_dispatch:
    inputs:
      prefix:
        description: 'set repo prefix'
        required: true
        default: 'service'
        type: choice
        options:
          - example
          - service
      name:
        description: 'set repo name'
        required: true
        default: 'github-actions'
        type: string

jobs:
  create_repo-job:
    runs-on: ubuntu-latest
    steps:
      - name: gh auth login
        run: |
          echo ${{ secrets.PERSONAL_ACCESS_TOKEN }} | gh auth login --with-token
      - name: create-repo
        id: create-repo
        run: |
          gh repo create donguk-cicd-practice/${{ inputs.prefix }}-${{ inputs.name }} --public --add-readme
      - name: slack
        if: always()
        uses: slackapi/slack-github-action@v2.1.0
        with:
          webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
          webhook-type: incoming-webhook
          payload: |
            {
              "text": "리포지토리 생성 결과: ${{ steps.create-repo.outcome }}"
            }


우선 위 코드는 이번에 사용한 yaml 전체 내용입니다.
슬랙을 연동하는 액션은 마켓플레이스에 직접 들어가 최신 버전을 가져왔습니다.(강의에 나온 것과 동일하게 작성해도 안되는 건 동일했습니다)

위 내용으로 워크플로우디스패치 방식으로 직접 액션을 실행하면

image.png


이런 결과가 출력됩니다. retry를 5번 했지만 실패했다는 것으로 보입니다. 디버깅 내용도 뭐 더 없는 것 같구요.

레파지토리는 정상적으로 생성되고 모든 게 다 성공했지만, 슬랙으로 메시지가 오는 부분만 실패하고 있습니다. 시크릿에 등록해놓은 웹훅URL에는 이상이 없습니다.
여전히 유효한 URL이고, curl로 text를 수정해서 요청해도 문제없이 메시지가 전달됩니다.

image.png


깃헙액션 자체는 정상 동작하고 슬랙 웹훅URL로 메시지를 보내는 부분만 안되고 있기 때문에 액션 내에서나, 슬랙 웹에서 설정하느 부분에서나, 슬랙 앱 내에서 더 따로 설정해야 하는 부분이 있을까해서 질문드렸습니다.

0

이상원님의 프로필 이미지
이상원
지식공유자

안녕하세요~

제가 빠르게 확인해보고 답변드리겠습니다!

0

안녕하세요, 인프런 AI 인턴입니다. foodsmith96님.

슬랙 연동 문제가 발생하고 있는 상황에서 몇 가지 점검해볼 수 있는 사항을 안내드리겠습니다. GitHub Actions와 슬랙 연동에서 주로 발생하는 문제와 해결방법은 다음과 같습니다:

  1. 웹훅 URL 확인: $와 중괄호 안의 값이 제대로 설정되어 있는지, 특히 secrets.SLACK_WEBHOOK_URL이 올바르게 설정되었는지 확인해보세요. GitHub 리포지토리의 ‘Settings > Secrets’에서 정확한 URL이 저장되어 있는지 확인이 필요합니다.

  2. 네트워크 연결 및 권한: GitHub Actions에서 사용하는 호스트가 슬랙의 웹훅 URL에 접근 가능한지 방화벽 설정을 점검해보세요. 슬랙 웹훅은 특별한 권한 설정이 필요 없습니다만, GitHub에서 발생한 요청이 슬랙에서 차단되지 않도록 해야 합니다.

  3. 슬랙 웹훅 재생성: 문제가 지속된다면, 슬랙에서 새로운 웹훅 URL을 생성하여 설정해보세요. 기존 URL이 비활성화되어 문제를 일으킬 수 있습니다.

  4. 무료 버전 한계: 슬랙의 무료 버전에서는 기능의 제한은 있지만 웹훅을 통해 메시지를 보내는 기능이 제한되지는 않습니다. 따라서 문제는 무료/유료 버전의 차이점에서 발생하지 않습니다.

  5. Debugging: ACTIONS_STEP_DEBUG 환경 변수를 true로 설정하셨다면, GitHub Actions 로그에서 더욱 상세한 오류 메시지를 확인하여, 어떤 부분에서 실패했는지를 찾아 보셔야 합니다.

추가로, 유사한 문제를 겪은 사용자들의 질문과 답변을 살펴보시기 바랍니다:

문제가 계속될 경우, 위의 링크를 참고하여 슬랙과 GitHub Actions 간의 연결 문제 해결법을 찾으실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

foodsmith96님의 프로필 이미지
foodsmith96

작성한 질문수

질문하기