SlackにPython3でMessageをPostするコードを書いたので備忘録です。
Slackにエラーログを送ったり、アラート通知などに活用する。
- 開発環境
- Mac10.14.1
- 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)
Slackへの通知結果
まとめ
Python3を使って、SlackにメッセージをPostしました。これをAWS Lambdaから様々なイベントやログ情報をSlackにPostするために活用していきたいと思います。