[Slack×Python]簡易版:PythonでSlackにメッセージ送信!
Slack APIを使うことで、プロセスの完了をメッセージ送信を用いて通知することが可能です。
デプロイなどの時間がかかる処理の待ち時間をパソコンの前で待機するのではなく自由時間として使いましょう!!
はじめに
これはSlackのAPIを用いて、簡易的にSlackにメッセージを送信するための一連のフローです。
なぜやるのか
機械学習や、アプリケーションのデプロイはデータセットやコーディングが大規模になればなるほど、実行から完了まで時間がかかります。実際、深層学習など、完了までに数時間かかるなどザラです。そこで、Slack APIを使うことで、プロセスの完了をメッセージ送信を用いて通知することが可能です。Slack APIを用いて少しでもエンジニアQOLを向上させましょう!!
手順
まず下記のリンクにアクセスします。
ページ右上の[Your apps]をクリック
画面真ん中の[Create an App]をクリック後
[Form scratch]をクリックします
[App Name]にこのシステムの名前を記述します。
※この[App Name]は後ほど変えられるので心配しないでください!
[Pick a workspace to develop your app in:]こちらでこのAppを通して通知を送信したいSlackのworkspaceを入力してください。
※この[Pick a workspace to develop your app in:]は後ほど変えられないので慎重に選んでください!
設定後[Create App]をクリック
[Off]になっている項目を[On]にすると下記が表示されるので
[Add New Webhook to Workspace]をクリックして
このAppとして投稿することのできる投稿先チャンネルを選びます。
その後、自分が選択した[Channel]であることを確認した上で、[Webhook URL]をコピーしましょう。
※同じAppを用いて他のチャンネルにも送信したいときは同じ[Add New Webhook to Workspace]にて追加してください。
コピーした[Webhook URL]をしたの[webhook_url]にペーストして関数を動かせば、Python上でSlackに送ることができます!
終わりに
今回、SlackのAPIを利用し、WebHooksを使用し、自分の作成したappからSlackへの通知を行うシンプルなプログラムと一連のフローを作成しました。
WebHooksの利点は、手軽に実装できる点ですが、その反面、拡張性が低いです。しかし、プログラムが無事に完了した際の通知など、簡単なお知らせの用途には非常に適しています。
一方、Slack botのような高度な機能を持ったアプリを作成する際には、Slack botに必要な権限を与える手続きが必要です。その詳しい実装方法については、後日公開予定します!!