Python으로 Slack에 알림 보내기

한량·2021년 8월 31일
0
  1. 새 채널 생성

  1. 슬랙에 Incoming WebHooks앱 추가

  1. 앱을 설치할 채널 선택

  1. URL 저장

  1. 메세지 전송
import json
import sys
import random
import requests
import os
import numpy as np
import torch

def send_msg(msg):
    url = # 웹후크 UR 입력
    message = ("Train 완료!!!\n" + msg) 
    title = (f"New Incoming Message :zap:") # 타이틀 입력
    slack_data = {
        "username": "NotificationBot", # 보내는 사람 이름
        "icon_emoji": ":satellite:",
        #"channel" : "#somerandomcahnnel",
        "attachments": [
            {
                "color": "#9733EE",
                "fields": [
                    {
                        "title": title,
                        "value": message,
                        "short": "false",
                    }
                ]
            }
        ]
    }
    byte_length = str(sys.getsizeof(slack_data))
    headers = {'Content-Type': "application/json", 'Content-Length': byte_length}
    response = requests.post(url, data=json.dumps(slack_data), headers=headers)
    if response.status_code != 200:
        raise Exception(response.status_code, response.text)
  1. 활용
    메세지는 자유롭게 변경 가능하지만 나는 .py로 파일을 따로 만들어 train이 끝날 때마다 호출해서 arg로 넘겨준 epoch, loss, acc 등을 출력하게 만들었음

profile
놀고 먹으면서 개발하기

0개의 댓글