【Python】Slackに通知を送る方法

2020年9月20日

皆さんは「エラーが出たときなどに通知を送ってほしい」と思ったことはありませんか?

時間のかかる処理、例えば機械学習などをしている人はよくこの悩みに直面すると思います。
エラーが出たかどうかが気がかりで他の作業に没頭できないなんてこともしばしば。。。。

そんな皆さんのために、今回はPythonを使ってslackに通知を送る方法について紹介します!

環境

私の環境は以下の通りです。

・Windows 10
・Python 3.80
・ThinkPad X280

下準備

まずはslackへ通知を送るための下準備をしていきます!
まずは以下のURLにアクセスしてください。

<URL>
https://my.slack.com/services/new/incoming-webhook/

リンク先の画面

このような画面になると思います!

右上で通知を送るワークスペースを選択できます。
今回私は通知を送るために「HOGE」というワークスペースを作成しました。

そして中央にある「チャンネルを選択」で通知を送るチャンネルを選択できます。
新しく作成もできるので通知を送りたいチャンネルを選択しましょう。

チャンネルを選択したら「incoming Webhookインテグレーションの追加」を押しましょう!

チャンネルの選択画面

ボタンを押した後、遷移先の画面で「Webhook URL」というものが表示されていると思います。
これは後ほど使うのでメモしておきましょう!

webhook urlの表示画面

これで下準備は完了です!ではコードを書いていきましょう!!

コードを書いていく!

今回は「slackweb」というライブラリを使います!
特に難しいことはありません。関数一つで通知を送ることができる優れもの!

ではインストールからしていきましょう!
コンソールで以下のコードを実行してください。
pipでインストールします。

pip install slackweb

次にPythonコードを書きます。

from slackweb import Slack

slack = Slack("取得したWebhookURL")
slack.notify(text="通知テスト")

「取得したWebhookURL」には下準備で取得したWebhook URLをコピペして貼り付けてください。

そしてこのコードを実行してみましょう!
すぐにSlackに通知が飛んでくると思います。

ちゃんと通知が来ましたね!成功です!

slack.notifyの引数で渡した文字列が通知されます。
プログラム中で文字列を生成して渡せば様々な情報を通知できます!

他にも様々な機能がありますが、ただ通知を送るだけならばこの関数だけ知っておけば問題ないかと思います。

まとめ

今回はPythonを用いて、slackに通知を送る方法について紹介しました!

今すぐにでも実行できるものなので、自分のコードの中に埋め込んで使ってください!
また次の記事でお会いしましょう!