LINE을 통해 형식화된 운영 알림을 대기 중인 엔지니어에게 전송
언제 쓸까: Sentry/Prometheus 알림이 깔끔한 Flex 카드로 LINE에서 특정 엔지니어를 핑하도록 하려면, 벽처럼 쌓인 텍스트 대신.
사전 조건
- LINE Official Account + 채널 액세스 토큰 — developers.line.biz → Channel → Messaging API → Issue token
- 엔지니어의 userId(봇의 웹훅 이벤트에서) —
follow또는message이벤트에서 userId를 캡처하여 사용자 DB에 저장
흐름
-
Flex 버블 디자인Sentry 알림에 대한 Flex Message 버블 설계: 헤더(이슈 제목), 본문(이벤트 수, 릴리스, 영향받은 사용자), 버튼(Sentry에서 열기, 승인).✓ 복사됨→ Claude가 검증할 수 있는 유효한 Flex JSON
-
대기 중인 사용자에게 푸시이 Flex 메시지를 userId U1234567890abcdef로 altText 'Sentry alert: <title>'와 함께 푸시합니다.✓ 복사됨→ messageId 반환됨, 400 없음
-
사용자가 봇을 차단한 경우 폴백 처리푸시가 400(사용자 차단됨)로 실패하면, 대신 보조 대기 사용자 ID로 멀티캐스트하고 원래 실패를 기록합니다.✓ 복사됨→ 우아한 폴백 경로
결과: 기본 이벤트로부터 2초 이내에 LINE에서 세련되고 실행 가능한 알림.
함정
- altText 필수이며 400자로 제한됨 — 없으면 푸시가 자동으로 실패함 — 항상 altText를 포함하세요; Flex를 요약하여 400자 이내로 유지하세요
- 사용자가 봇의 친구가 아닌 상태에서 푸시하면 400 실패 — 실제 웹훅 이벤트에서 캡처한 userId에만 푸시하세요 — 추측할 수 없습니다