Pythonから「slackweb」を使ってWebHook経由でSlackにPostする
Pocket

仕事で、適当な処理をしてSlackにポストするという処理が必要になったので、大した処理でもなかったのでPythonで記述することにした。
で、ほかの処理と出口を揃えたい+Attachmentでちょっとリッチな通知をしたかったので、簡単にWebHookに投げてポストさせられるよう『slack-python-webhook(slackweb)』を利用することにした。

以下、作成時のソースサンプル。

Sponsored Links

#!/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に投稿される。

20161101_001623000000_

 

Attachmentについては、いろいろな投稿方法がある。
詳細についてはこちらの公式ドキュメントを見るといいだろう。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。