피드로 돌아가기
Dev.toDevOps
원문 읽기
Custom 셸 스크립트를 대체하는 Playwright 기반 Slack Reporter 도입
Stop Writing Custom Slack Notifications for Playwright — Use a Reporter
AI 요약
Context
CI 파이프라인 내 Slack 알림 구현 시 단순 curl 호출에서 시작해 점진적으로 복잡해지는 요구사항으로 인해 수백 줄의 유지보수하기 어려운 셸 스크립트가 발생하는 기술 부채 상황.
Technical Solution
- Playwright Reporter 인터페이스를 통한 알림 로직의 모듈화 및 설정 기반 추상화
- Slack Block Kit JSON을 직접 생성하는 커스텀 JSX 런타임을 도입하여 UI 선언적 정의 구조 설계
- 민감 정보 유출 방지를 위해 TOKEN, SECRET 등 특정 키워드 매칭 기반의 Auto-masking 필터 적용
- Incoming Webhook과 Web API라는 두 가지 Transport Layer를 제공하여 권한 및 제어 수준에 따른 선택적 채택 가능
- 템플릿 함수를 (result, testCases) => SlackBlock[] 형태로 정의하여 결과 데이터와 UI 레이아웃의 완전한 분리 달성
실천 포인트
- CI 알림 요구사항 증가 시 셸 스크립트 확장 대신 전용 Reporter 모듈 도입 검토 - 보안 사고 방지를 위해 환경 변수 출력 전 마스킹 로직의 강제 적용 여부 확인 - 단순 알림을 넘어 Interactive Dropdown 등 Slack Block Kit의 UI 기능을 활용한 가시성 확보