Skip to main content

Slack Incomming Webhook 사용하기.

Slack Incomming Webhook을 사용하여 서버에서 특정 로직이 수행될 때, 슬랙에 자동으로 알림이 가도록 해보겠습니다.

Sending messages using Incoming Webhooks

슬랙에서는 다양한 API를 사용할 수 있도록합니다, 그 중 Incomming Webhook(수신 웹훅)을 직접 만들고 사용할 수 있습니다.

step 1. incomming webhook앱 생성

  • 수신 웹훅을 생성하고 요청 url, 앱 이미지 등 정보를 확인합니다.
  • 슬랙 문서를 따라서 진행하면 큰 어려움없이 생성할 수 있습니다.
  • slack api 관리 : https://api.slack.com/apps/A03FJ80PQDC

step 2. 앱의 incomming webhook 활성화 및 workspace와 연결.

  • 알림을 띄울 슬랙 워크스페이스 채널에 만든 앱을 추가해줍니다.
  • 워크스페이스에 생성한 앱을 설치 할 때, ‘**설치할 봇 사용자가 없습니다’**라는 에러가 난다면, 해당 블로그 글을 참고해주세요!

step 3. 발급받은 webhook URL로 post+ json data 요청.

  • 해당 url은 단일 사용자 및 단일 채널에 고유한 url.
  • json data의 형식이 정해져있기 때문에 정해진 형식을 지켜야 정상적으로 메세지가 띄워집니다!

step 4. 내용 꾸미기

  • 전송할 데이터를 마음 껏 꾸밀 수 있습니다.
  • 슬랙 문서에 데이터 형식과 꾸미는 방법에 대한 설명들이 있습니다!

FastAPI에서 요청.

FastAPI에서 해당 요청 로직을 비동기로 처리해주기 위해서는 request 라이브러리 대신 httpx라는 라이브러리를 사용해야합니다. (request는 비동기 처리를 지원하지 않음.)

slack-1.png