기타/Python → Webhook

python 코드 작성

비번변경 2021. 5. 16. 15:02

1. 코드 작성

프로세스

1. 예외 처리 구문을 이용하여 1/0 시도

2. 예외 발생 시 slack으로 메시지 전송

 

필요 문법

try - except문

- 문법 형식

try:
	...
except 발생 오류 as 오류 변수:
	...

 

Slack 메세지 전송

- 필요 라이브러리 : request

- 설치 방법

# python 3 사용 시
sudo pip3 install request

- 코드

import requests

# 함수
def send_message_to_slack(error):
    url = "SLACK_WEBHOOK_URL"
    username = "ec2.vim-test"

    # text = ZeroDivisionError : division by zero
    text = error.__class__.__name__ + " : " + error.__str__()
    icon_emoji = ":heavy_division_sign:"
    channel = "# test_alarm"
    
    payload = {"channel": channel, "username" : username, "text" : text, "icon_emoji" : icon_emoji }

    # 메세지 전송
    requests.post(url, json=payload)

 

전체 코드

더보기
import requests

# 메세지 전송 함수
def send_message_to_slack(error):
    url = "SLACK_WEBHOOK_URL"
    username = "ec2.vim-test"

    # 의도한 text == ZeroDivisionError : division by zero
    text = error.__class__.__name__ + " : " + error.__str__()
    icon_emoji = ":heavy_division_sign:"
    channel = "# test_alarm"

    payload = {"channel": channel , "username" : username, "text" : text, "icon_emoji" : icon_emoji }

    # 메세지 전송
    requests.post(url, json=payload)

# MAIN
# ArithmeticError 발생
try:
    num = 1/0
except ArithmeticError as e:
    send_message_to_slack(e)

2. 실행 결과

python3 send-message-slack.py

웹훅 전송 파이썬 코드 실행 결과