はじめに
最近Pythonに触れていないのですがぴちぴちの初学者時代に、Slackと連携してPythonスクリプトに記載した内容をメッセージ通知できたら何かに使えそうだな~と思い、調べて実践してみた記録です。
たしかこちらのサイトを参考にした記憶があるので、載せておきます。
Slackにインテグレーション機能を追加したら簡単にできるので、是非試してみてください。
Slackにインテグレーション機能を追加するにあたって、ワークスペース管理者に承認してもらう必要があります。
設定方法
1. Slackでインテグレーション機能の設定
"Incoming Webhook"を使用します。
設定はこちらから行います。
①対象のワークスペースを選択
②メッセージを通知したいチャンネルやDMを選択
③"Incoming Webhookインテグレーションの追加"を押下
Webhook URLはPythonでスクリプトを書く際に使用するため、メモしておきます。
④"設定を保存する"を押下
※任意で、通知の名前とアイコンをカスタマイズ可能
2. Pythonのスクリプト記載
前準備として、Python環境で"slack web"のインストールが必要です。
pip install slackweb
スクリプトの内容はこの数行で済んじゃいます。
text = "通知内容"で、お知らせしたい内容を挿入してください。
※先程メモしたWebhook URLは、ここで使用します。
import slackweb
slack = slackweb.Slack(url="https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxx")
slack.notify(text="「感謝」 「成長」 「恩返し」株式会社Crane&I")
Python環境上で実行すると、該当のチャンネルやDMに通知が届きます。
私は、せっかくなので名前とアイコン変えてみました。
【おまけ】自動通知設定
OSがWindowsの場合、作成したPythonのスクリプトを自動で通知させる際、"タスクスケジューラ"を使用して実現することができます。
Windowsに標準で入っているので、スタートメニューからタスクスケジューラを開いてください。
MacやLinuxの場合、"cron"を使用することで実現可能のようです。
"操作" > "基本タスクの作成"を選択すると、"基本タスクの作成ウィザード"が開きます。
⑤実行する開始日と時間を設定
⑥間隔を設定
⑦"次へ"を押下
⑩Python実行ファイル(python.exe)のフルパスを設定
⑪Pythonスクリプトの名称を設定
⑫Pythonスクリプトが格納されているフォルダを設定
⑬"次へ"を押下
これで、指定した日時にメッセージを通知することができます。
タスクスケジューラは、PCが起動していないと実行されません。
ログオフの状態でも実行させる場合、以下の設定をしておくと可能になります。
最後に
今回は、Pythonを使用してSlackのメッセージ通知設定をする方法についてご紹介いたしました。
Slackを取り入れている会社なら、定期的なお知らせメッセージ通知などに使用できそうですね。
最後までお読みいただき、ありがとうございました