Python3でSlackにPostする
SlackにPython3でMessageをPostするコードを書いたので備忘録です。 Slackにエラーログを送ったり、アラート通知などに活用する。
- 開発環境
- Mac
- Python3.7.0
- Slack: WebHookURLが必要
SlackにPostするときにAPI仕様を確認する ( Attachment structure )
slack_post.py
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)
通知結果
まとめ
Python3を使って、SlackにメッセージをPostした。これをAWS Lambdaから様々なイベントやログ情報をSlackにPostするために活用する。 今後は、ClamAVとLambdaを使って、S3バケットにオブジェクトをPUTしたら自動スキャンする部分も記事にしたい。