AI를 사용해 CI 실패 원인을 설명하는 GitHub Action을 만들었습니다

발행: (2026년 1월 10일 오전 12:00 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

어떻게 만들었는가

저는 Claude Code (Anthropic의 CLI 도구)를 사용해 한 세션 안에서 전체를 구축했습니다. 아이디어 단계부터 실제 작동하는 GitHub Action까지 약 한 시간 정도 걸렸으며, 중간에 “빌드를 깨뜨린 사람에게 직접 메시지를 보내면 멋지지 않을까?” 라는 생각에 DM 기능을 추가했습니다.

Claude Code가 모든 작업을 처리했습니다: GitHub Actions 설정, Slack API 통합, 로그 파싱, 그리고 README까지 작성했습니다. 솔직히 굉장히 신기한 경험이었습니다.

작동 방식

워크플로우가 실패하면:

  • 실패한 작업의 로그를 가져옵니다
  • 로그를 Claude에 전달해 분석합니다

Slack에 다음과 같은 요약을 게시합니다:

  • Root cause — 실제로 무엇이 깨졌는지
  • Error — 구체적인 오류 메시지
  • Suggested fix — 실행 가능한 다음 단계
  • Link — 전체 로그에 대한 링크

멋진 기능: 빌드를 깨뜨린 사람에게 DM 보내기

채널에 게시하는 대신 커밋한 사람에게 직접 DM을 보낼 수 있도록 설정할 수 있습니다. Slack에서 해당 사용자의 GitHub 이메일을 찾아 개인 메시지를 전송합니다.

더 이상 “@channel 누가 빌드를 깨뜨렸나요?” 라는 질문이 필요 없습니다 — 책임자는 즉시 알림을 받게 됩니다.

예시 출력

CI Failed: Build and Test

Repository: your-org/your-repo
Branch: feature/new-feature  
Commit: abc1234
Failed Jobs: test

---

1. **Root Cause**: Test assertion failed due to incorrect mock data
2. **Error**: Expected 200 but received 404 in api.test.js:42
3. **Suggested Fix**: Update the mock endpoint URL to match the new API route

설정 (2분)

notify-on-failure:
  runs-on: ubuntu-latest
  needs: [build, test]
  if: failure()
  steps:
    - uses: galion96/ci-failure-sumarizer@v1
      with:
        anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
        slack_bot_token: ${{ secrets.SLACK_BOT_TOKEN }}
        notification_mode: dm  # or 'channel' for webhook

비용

Claude Sonnet 사용 시: 실패당 약 $0.01. 한 달에 CI가 100번 실패한다면 비용은 $1 정도입니다.

링크

Back to Blog

관련 글

더 보기 »

안녕, 뉴비 여기요.

안녕! 나는 다시 S.T.E.M. 분야로 돌아가고 있어. 에너지 시스템, 과학, 기술, 공학, 그리고 수학을 배우는 것을 즐겨. 내가 진행하고 있는 프로젝트 중 하나는...