仕事で、適当な処理をしてSlackにポストするという処理が必要になったので、大した処理でもなかったのでPythonで記述することにした。
で、ほかの処理と出口を揃えたい+Attachmentでちょっとリッチな通知をしたかったので、簡単にWebHookに投げてポストさせられるよう『slack-python-webhook(slackweb)』を利用することにした。
以下、作成時のソースサンプル。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import slackweb
# --- Slack Setting ---
SLACK_WEBHOOK='WebHookのURL'
SLACK_CHANNEL='#test'
SLACK_USER='SlackのPostユーザ'
SLACK_TEXT="Test Text"
# --- Slack Post ---
slack=slackweb.Slack(url=SLACK_WEBHOOK)
attachments=[]
attachment={"pretext": "テストのテキスト",
"color": "#36a64f",
"fields":[
{
"title": "AAA",
"value": "123",
},
{
"title": "BBB",
"value": "456",
}
]
}
attachments.append(attachment)
slack.notify(text=SLACK_TEXT, channel=SLACK_CHANNEL, username=SLACK_USER, attachments=attachments)
上記のようなスクリプトを投げた場合、以下のようにSlackに投稿される。
Attachmentについては、いろいろな投稿方法がある。
詳細についてはこちらの公式ドキュメントを見るといいだろう。