13
5

【Python】初心者でも悩まずにできちゃうSlack連携してメッセージ通知

Posted at

はじめに

最近Pythonに触れていないのですがぴちぴちの初学者時代に、Slackと連携してPythonスクリプトに記載した内容をメッセージ通知できたら何かに使えそうだな~と思い、調べて実践してみた記録です。
たしかこちらのサイトを参考にした記憶があるので、載せておきます。

Slackにインテグレーション機能を追加したら簡単にできるので、是非試してみてください。

Slackにインテグレーション機能を追加するにあたって、ワークスペース管理者に承認してもらう必要があります。

設定方法

1. Slackでインテグレーション機能の設定

"Incoming Webhook"を使用します。
設定はこちらから行います。

image.png
①対象のワークスペースを選択
②メッセージを通知したいチャンネルやDMを選択
③"Incoming Webhookインテグレーションの追加"を押下

Webhook URLはPythonでスクリプトを書く際に使用するため、メモしておきます。
image.png

image.png
④"設定を保存する"を押下
※任意で、通知の名前とアイコンをカスタマイズ可能

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に通知が届きます。
私は、せっかくなので名前とアイコン変えてみました。
image.png

【おまけ】自動通知設定

OSがWindowsの場合、作成したPythonのスクリプトを自動で通知させる際、"タスクスケジューラ"を使用して実現することができます。
Windowsに標準で入っているので、スタートメニューからタスクスケジューラを開いてください。

MacやLinuxの場合、"cron"を使用することで実現可能のようです。

"操作" > "基本タスクの作成"を選択すると、"基本タスクの作成ウィザード"が開きます。
image.png

image.png
①実行する処理の名前を設定
②"次へ"を押下

image.png
③実行する頻度を選択
④"次へ"を押下

image.png
⑤実行する開始日と時間を設定
⑥間隔を設定
⑦"次へ"を押下

image.png
⑧"プログラムの開始"を選択
⑨"次へ"を押下

image.png
⑩Python実行ファイル(python.exe)のフルパスを設定
⑪Pythonスクリプトの名称を設定
⑫Pythonスクリプトが格納されているフォルダを設定
⑬"次へ"を押下

image.png
⑭"完了"を押下

これで、指定した日時にメッセージを通知することができます。

タスクスケジューラは、PCが起動していないと実行されません
ログオフの状態でも実行させる場合、以下の設定をしておくと可能になります。

image.png

最後に

今回は、Pythonを使用してSlackのメッセージ通知設定をする方法についてご紹介いたしました。
Slackを取り入れている会社なら、定期的なお知らせメッセージ通知などに使用できそうですね。

最後までお読みいただき、ありがとうございました:raised_hands_tone1:

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5