My Note

自己理解のためのブログ

Python3でSlackにPostする

SlackにPython3でMessageをPostするコードを書いたので備忘録です。 Slackにエラーログを送ったり、アラート通知などに活用する。

import urllib.request
import json

url = 'https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxx'

def post_slack(msg):
    set_fileds = [{
        "title": "TITLE",
        "value": msg,
        "short": False
    }]

    data = {
        'attachments':  [{
            #'color': '#FF0000',
            'color': 'danger',
            'fields': set_fileds
        }]
    }

    method = 'POST'
    request_headers = { 'Content-Type': 'application/json; charset=utf-8' }
    body = json.dumps(data).encode("utf-8")
    request = urllib.request.Request(
        url=url, 
        data=body, 
        method=method,
        headers=request_headers 
    )
    urllib.request.urlopen(request)

if __name__ == '__main__':
    msg = "My name is yhidetoshi"
    post_slack(msg)

通知結果

f:id:yhidetoshi:20190617213650p:plain
python3_slack

まとめ

Python3を使って、SlackにメッセージをPostした。これをAWS Lambdaから様々なイベントやログ情報をSlackにPostするために活用する。 今後は、ClamAVとLambdaを使って、S3バケットにオブジェクトをPUTしたら自動スキャンする部分も記事にしたい。