서두
일단 시작하기전에 Slack API 를 연동할 방법을 곰곰히 생각해보았다. 킹치만 우리에게는 구글신이라는 것이 있기에 굳이 삽질을 할 필요가 없다.
1. Slack Api 에 들어간 다음 Sign in 을 한다
- 여기서 당연히 Account 가 없으면 가입을 해야되는 부분이고, 나는 일단 프로젝트를 위해서 그냥 만들어줬다.
2. Create App 을 한다
타입이 2가지가 있는데, (제 배에는 구멍이 2개죠..) Slack 에서 만들어놓은 Basic UI 방식이 있고, 그 이외에 매니페스트 방식이 있다. 기본적으로 구글신에서 안내하는것은 Basic UI 를 따르니까 보고 쓱싹 생성하자.
manifest 쓰면 앱에 관한 설정의 대부분을 관리할 수 있따는 겁니다. 근데 YAML 이랑 JSON 을 때려잡아야 하죠
Part2
여기서 Slack 을 일종의 Bot 용도로 써서 알리미 용도로 쓸거니까 추가 Method 기능에서 Bot을 얌채같이 클릭해준다.
여기서 Install App 을 해서 상호작용을 하려면, 기본적으로 Permission 이 있어야 한다. (리눅스 기반에서는 다 그렇잖아? 서버도 그렇구)
이렇게 OAuth & Permission 탭에서 하단부로 들어가면 Bot 에 대한 Permission Scope 를 정할 수 있는 곳이 보인다.
이게 100% 맞는지는 모르겠지만, 니가 Bot 을 무슨 용도로 쓰고, Bot에 어떤 권한을 줄꺼니로 느낌이 든다
"Add an OAuth Scope" 를 클릭하면 콤보박스가 하나 뜨는데, 거기서 필요한 Permission 을 골라주면 되겠다.
내 경우는 채널에 대한 메세지를 알람처럼 보낼 것이기 때문에 chat:write 을 부여했다.
그러면 위와 같이 Bot 이랑 Permission 에 설정했다고 체크박스와 함께 화려한 불빛이 나를 감싼다.
하단부의 Install your app 에서 workspace 에 설치를 진행했다.
이제 Slack API 에서 내가 만든 App 에 메세지를 보낼 수 있다. (물론 메세지 이외에 다른 짓도 하고싶다면, API 의 사용 용도에 따라서 삽질을 진행하면 되겟다.)
Part3
Incomming Webhooks 활성화 하기
일반적으로 Bot 토큰이나 등등에 대해서 안뜬다면 그냥 Incomming Webhook 에 들어와서 저기 위에 있는 Off를 On으로 바꿔주면 나같이 위에서 삽질을 했다면 퍼미션 변경한다고 뜬다. 진행해보자
그리고 번외의 채널 리스트 불러오기도 구현해보자
이 부분에는 Scope 에서 channels:read 퍼미션이 필요하다.
'Java > Spring Boot JPA' 카테고리의 다른 글
HOw to resovle Cannot resolve table 'user_group' (0) | 2023.07.19 |
---|---|
[예약어 조지기] 미리 예약된 예약어는 issue 를 발생 시킨다. (0) | 2023.07.18 |
[JPA] SQL N/A statement / MySQL 1064 & 42000 (0) | 2023.07.11 |
ElasticSearch with Spring Data JPA (1) | 2023.06.14 |
[Spring] h2 DB 연결하고 JPA 사용하기 (0) | 2023.05.18 |