Slack Block Kit으로 업무 효율 UP!

by DD
6년 전
조회수 7

Slack Block Kit을 사용하여 Slack 메시지 UI를 구성하고, Spring Framework 기반 Java 애플리케이션에서 Slack SDK를 활용하여 메시지를 전송함

Incoming WebhookInteractivity & Shortcuts 설정을 통해 Slack App을 구성하고, 사용자 액션에 대한 API 연동을 구현함

Block Template을 동적으로 변경하여 Slack 메시지를 업데이트하고, 배송 팁 승인/거부 기능을 구현하여 업무 효율성 향상을 달성함

Slack Block Kit 아키텍처

Slack Block Kit은 Slack 메시지 내 UI를 구성하기 위한 프레임워크이다. 구체적으로 JSON 기반의 Template을 사용하여 다양한 UI 컴포넌트를 정의하고, Incoming Webhook을 통해 메시지를 전송한다. 따라서 Interactivity & Shortcuts 설정을 통해 사용자 액션에 대한 API를 연동하여 동적인 상호작용을 구현한다.

Spring Boot와 Slack SDK 연동

Spring Boot 환경에서 Java Slack SDK를 사용하여 Slack API를 연동한다. 따라서 Dependency 추가를 통해 SDK를 프로젝트에 포함시키고, Block Template을 생성하여 메시지를 전송한다. 반면, Slack에서 전송되는 application/x-www-form-urlencoded 형식의 데이터를 처리하기 위해 Gson을 활용하여 JSON String을 변환한다.

실전 적용 가이드: 배송 팁 승인 기능

배송 팁 승인/거부 기능을 구현하기 위해 Block Kit Builder를 활용하여 UI Template을 디자인한다. 구체적으로 ActionId를 활용하여 승인/거부 버튼에 대한 이벤트를 정의하고, Callback ID를 통해 Spring API에서 해당 이벤트를 처리한다. 따라서 ActionResponseSender를 사용하여 Slack 메시지를 동적으로 업데이트하여 사용자 경험을 향상시킨다.

Slack Block Kit 활용