목록 보기
Slack Block Kit 활용
백엔드

Slack Block Kit 활용

마켓컬리
마켓컬리
2020년 4월 7일

두줄요약

Slack Block Kit과 Java SDK로 배송팁 승인·거부 메시지 액션을 구현했습니다. Spring API에서 이벤트를 받고 수정된 블록 메시지를 재전송하는 흐름을 설명합니다.

구조와 흐름

  • Incoming Webhook으로 Block Kit 메시지 전송, Interactivity Request URL로 버튼 액션 수신
  • 배송팁 승인·거부 버튼의 actionId와 값으로 액션 종류 및 대상 식별
  • 액션 처리 후 ResponseUrl로 수정된 블록을 재전송해 기존 메시지 교체

해결 방법

  • Block Kit Builder에서 JSON 템플릿과 UI 구성 사전 확인
  • Java Slack SDK의 LayoutBlock, Payload, ActionResponseSender 활용
  • Spring API에서 form-urlencoded의 payload를 문자열로 수신한 뒤 Gson으로 BlockActionPayload 변환

주의할 점

  • Slack 액션 요청 Content-Type이 application/x-www-form-urlencoded여서 RequestBody 직접 수신 시 예외 가능성
  • replaceOriginal 값에 따른 기존 메시지 교체 또는 후속 메시지 추가 방식 구분
  • okhttp 1.4.2 초과 버전에서 copyInto 관련 NoSuchMethodError 언급

적용해볼 점

  • 승인·거부처럼 Slack 메시지 안에서 처리 가능한 사내 업무 워크플로우
  • 버튼, 메뉴, Date Picker 등 Block Kit 컴포넌트를 활용한 대화형 알림 확장

다음 읽기

#Slack API 주제를 이어서 읽기

Slack Block Kit 활용

Slack Block Kit과 Java SDK로 배송팁 승인·거부 버튼이 포함된 메시지를 구현했습니다.\nSlack 액션 payload를 Spring API에서 처리하고 기존 메시지 상태를 갱신했습니다.

마켓컬리
마켓컬리
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...