본문 바로가기

Other Topics

Send Slack Message using Incoming Webhooks

Slack을 통해서 워크스페이스의 채널에 메시지를 전달할 수 있는 방법은 다수 존재한다. Slack API에 따르면 여섯 가지 정도가 존재하는데, 대표적인 방법으로는 chat.postMessage을 이용하는 Web API, Real Time Messaging API, 그리고 오늘 소개할 Incoming Webhooks를 이용하는 방법이다.

 

Incoming Webhooks를 이용하면 App을 통해 원하는 채널에 편리하게 메시지를 전송할 수 있다.

 

Slack 채널에 메시지를 전송하는 방법은 다음과 같다.

 

1. Slack 워크스페이스를 생성한다.

Slack의 무료 기능만 사용하더라도, 채널을 생성하고 App을 생성하여 메시지 전송받는데에는 지장이 없기 때문에 원하는 이름으로 워크스페이스를 생성하면 된다.

 

Slack

https://slack.com

 

위 링크에 접속하여 우측 상단의 새 워크스페이스 생성을 선택하면 된다.

 

2. 생성을 마쳤다면, 워크스페이스 접속하여 메시지를 전송받을 채널을 생성한다.

 

3. 채널 생성 후에는 Slack API에 접속한다.

 

Slack API

https://api.slack.com/

 

Create an app 버튼을 클릭하여 App을 생성한다. 앞으로 생성된 App이 메시지를 보내게 될 것이다. App을 생성하고 나면 Your App에 생성된 App이 보이게 된다.

 

4. App 생성 후, Basic Information에서 Incoming Webhooks 메뉴에 접근하여 Activate Incoming Webhooks를 활성화시킨다.

 

5. 활성화된 화면 하단의 Add New Webhook to Workspace 버튼을 누르면 채널을 선택할 수 있는 화면이 나오고, 이때 메시지를 전송할 채널을 선택한다.

 

6. 채널을 선택하면 Webhook URL이 생성되고, URL 상단에는 메시지 전송을 테스트할 수 있는 curl 명령이 생성된다. 메시지가 정상적으로 전송되는지 curl 명령을 실행시켜 테스트해보자.

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/.../.../...

 

7. 아래와 같이 메시지가 전송되었다면 정상적으로 처리된 것이다.