diff --git a/troubleshooting/250909_slack_briefing_failure.md b/troubleshooting/250909_slack_briefing_failure.md new file mode 100644 index 0000000..70bb17e --- /dev/null +++ b/troubleshooting/250909_slack_briefing_failure.md @@ -0,0 +1,48 @@ +# 9시 슬랙 브리핑 실패 (2025-09-09) + +## 문제 상황 +오전 9시 정기 슬랙 브리핑이 전혀 발송되지 않음 + +## 발생한 에러들 + +### 1. 9:00:01 - 크론 트리거 실행 실패 +- **경로**: rb8001 컨테이너 `/send-daily-summary` API 엔드포인트 +- **로그**: `{"time":"2025-09-09 09:00:01,930","level":"INFO","module":"main","msg":"Cron triggered daily summary"}` +- **에러 1**: skill-email (포트 8501) HTTP 500 에러 + - 사용자: U091UNVE41M, U0925SXQFDK + - 원인: Gmail 토큰 만료 `Token has been expired or revoked` +- **에러 2**: Slack DM 전송 실패 + - 메시지: `channel_not_found` + - 대상: 전희재(U091UNVE41M), 김종태(U0925SXQFDK), HanYong Hwang + +### 2. 9:01 - APScheduler 실행 실패 +- **원인**: 메서드명 불일치 + - 호출 시도: `send_daily_summary()` + - 실제 메서드: `send_daily_summary_dm()` +- **결과**: AttributeError로 완전 실패 + +## 근본 원인 + +### 봇 토큰 설정 문제 +- **현재 설정**: `SLACK_BOT_TOKEN=xoxb-9417291383105...` (Company-X 봇) +- **필요한 토큰**: `xoxb-9073915808149...` (로빙팀 봇, 현재 주석 처리됨) +- **문제**: Company-X 봇 토큰으로 로빙팀(T0925SXPS4D) 워크스페이스 접근 시도 + +## 해결 방안 + +### 1. 환경변수 분리 +```bash +ROBEING_SLACK_BOT_TOKEN=xoxb-9073915808149... # 로빙팀용 +COMPANYX_SLACK_BOT_TOKEN=xoxb-9417291383105... # Company-X용 +``` + +### 2. 코드 수정 필요 +- dm_skill.py: 워크스페이스별 적절한 토큰 선택 로직 +- main.py: APScheduler 메서드명 수정 (`send_daily_summary_dm`) + +### 3. Gmail 재인증 +- 영향 사용자의 Gmail 토큰 재발급 필요 + +## 영향 범위 +- rb8001, skill-email, skill-news 서비스 +- 모든 브리핑 수신자 (3명 이상) \ No newline at end of file