Slack App 만들기

[Slack App] 슬랙 앱 만들기 - 슬랙앱 라이브러리&문서

dohye1 2023. 1. 23. 15:03
반응형

1. Slack API 공식문서

일단 슬랙앱은 내가 완전 커스텀하게 만들수있는게아니라, 슬랙이 정해놓은 규칙안에서 자유롭게 만들 수 있다.

 

슬랙 앱 내부에서 유저로 인해 특정한 이벤트가 발생하면 슬랙에서 서버로 알려주고,

서버에서 특정한 액션을 하게되면 슬랙앱에 내가 요청한 액션이 발생하도록 할 수 있다.

 

슬랙이 정해놓은 이벤트와 액션만 사용이 가능한데, 슬랙앱의 웬만한 동작들은 커버가 가능하기때문에 기능 구현엔 큰 무리가 없었다.

 

개발을 하면서 가장 많이 본 페이지이기도하고, 개발시에는 항상 켜놓고 구현을했음

 

2. @slack/bolt

나는 자바스크립트로 서버를 만들었는데,

슬랙앱을 쉽게 생성할 수 있도록 지원해주는 라이브러리가 있다!!

slack/bolt라는 라이브러리를 사용하면 되는데,

이 라이브러리는 슬랙 공식문서에도 소개되고있고, 지속적으로 관리가 되고있다.

슬랙 자체적으로 만든 라이브러리인것같다!

자바스크립트외에도 파이썬, 자바도 지원이된다!

 

여기를 보면, @slack/bolt를 사용해 앱을 만드는 방법도 나와있다.

엄청 간단함!!!

 

이벤트, 액션, 커맨드, 숏컷을 처리하는 방식도 소개되어있고, view를 어떻게 슬랙으로 전송하는지도 잘 나와있다.

3. slack-block-builder

슬랙앱은 슬랙에서 만들어놓은 컴포넌트들을 조합해서 사용해야한다!

슬랙의 공식문서에 block-kit 페이지가 있는데

저 block kit builder를 누르면

위 사진처럼 사용할수있는 컴포넌트/예시 컴포넌트/컴포넌트 객체구조?를 보여준다.

 

그래서 기획자분들이 앱화면 프로토타입을 만들때 이 페이지를 참고하시면서 만들어서,

기획자분들과의 의사소통에 많은 도움이 되었다.

 

그런데 위 사진의 오른쪽부분처럼 view를 기본적으로는 객체로 구현을 해야하는것같은데,

 slack-block-builder 이 라이브러리를 사용하면 손쉽게 view를 구성할 수 있다.

내가 일일이 객체로 구성하지않아도되고, 이 라이브러리에서 제공해주는 컴포넌트들을 사용하면된다.

 

https://www.blockbuilder.dev/#/

 

Slack Block Builder

 

www.blockbuilder.dev

위 페이지에서 디테일한 사용예시도 볼 수 있기때문에,

나는 view를 구성할때 위의 문서와 block kit builder를 같이 보면서 만들었다.

 

 

기타

슬랙앱을 만들때 고려해야할것

1. 만약 앱을 출시할 목적으로 만든다면?

슬랙앱-서버가 이벤트&액션을 주고받는데,

개발시에는 socket mode를 켜놓고 작업했기때문에 이벤트와 액션을 주고받을때 이 데이터들이 전송되는 경로에대해서는 고려할 필요가없었는데,

앱 심사를 제출할때는 socket mode를 꺼야한다.

그리고 http 요청에 의해서 슬랙앱-서버가 정보를 주고받기때문에 

https로 시작하는 주소가 필요하다!

이 부분에 대해서는 다른글에서 작성해보겠다.