티스토리 뷰
파이썬으로 슬랙(Slack) API를 이용하여 알람을 보내보자!
1. 슬랙(Slack) 설정
1) Workspace & Channel 생성(내용 생략)
2) App 생성
에서 'Create a custom app' 을 눌러서 생성하면 된다.
3) Incomming Webhooks 설정
해당 메뉴에서 활성화 후 '워크스페이스에 새 웹후크 추가' 를 누른 뒤 본인이 생성한 채널을 선택한다.
4) OAuth 및 권한 설정
다시 좌측 메뉴에서 'OAuth 및 권한' 메뉴를 선택 후 밑으로 내리면 권한을 추가할 수 있다.
'chat:write' 권한을 추가한다.
추가하고 나면 페이지 상단에 '앱을 다시 설치해주세요.' 라는 문구가 노출되며 상단으로 올려서 재설치하면 된다.
5) 슬랙 채널에 App 추가하기
- 슬랙 채널 내 상단 i 메뉴 선택
- 세부정보 항목에서 더보기 선택
- 앱추가
- 생성한 앱 선택하여 추가
2. 알림 전송
이제 슬랙으로 알람을 보낼 준비는 끝났다.
실제로 전송해보자!
우선 파이썬으로 코드를 작성하기 전에 curl 을 이용하여 알람이 오는지 확인해보자.
curl -X POST https://slack.com/api/chat.postMessage
-H 'Authorization: Bearer xoxb-2063683334582-2104100566434-H2k4JDBv4yRtv4TQXFu0jChn' \
-H 'Content-type: application/json' \
--data '{"channel":"#test_channel","text":"hello slack!"}'
{"ok":true,"channel":"C022MAASKST","ts":"1622009602.000900","messa...(생략)
정상이다! 이제 간단한 파이썬 코드를 작성해보자.
파이썬에는 이미 'Slacker' 라는 라이브러리가 존재하지만, 21년도부터 슬랙 정책에 의해 사용할 수 없게 되었다고 한다.
그래서 나는 'requests' 라이브러리를 사용하여 간단하게 코드를 작성했다.
import requests
import json
def sendSlack():
text = '파이썬으로 슬랙 알림보내기!'
SLACK_BOT_TOKEN = 'xoxb-2063683334582-2104100566434-H2k4JDBv4yRtv4TQXFu0jChn'
CHANNAL = '#test_channel'
payload = {
'channel': CHANNAL,
'text': text
}
response = requests.post(
'https://slack.com/api/chat.postMessage',
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + SLACK_BOT_TOKEN
},
data = json.dumps(payload)
)
print(response)
sendSlack()
성공했다.
이제 크롤링 봇이나, 다양항 상황에 따라 슬랙으로 알림을 받도록 연동해보면 좋겠다.
참고]
https://pypi.org/project/requests/
http://hleecaster.com/sending-messages-to-slack-channel-using-python/
'개발' 카테고리의 다른 글
Zookeeper를 이용한 Blue/Green 배포 시스템 구축 (0) | 2022.05.09 |
---|---|
gRPC spring-boot-starter (0) | 2021.06.08 |
gRPC 알아보기 (0) | 2021.06.07 |
파이썬 셀레늄(selenium)으로 웹사이트 크롤링하기 (0) | 2021.05.26 |
- Total
- Today
- Yesterday
- Java
- S3
- gRPC
- AWS
- 파이썬
- springboot
- gateway
- slack
- Spring
- HTTP/2
- ALB
- Selenium
- Proto
- KUBECTL
- 쿠버네티스
- spring cloud
- k8s
- 슬랙알람
- loadbalancer
- CURL
- python
- cloudfront
- 슬랙
- 배포 전략
- Ingress
- 인그레스
- protobuf
- spring-boot-starter
- Kubernetes
- eks
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |