10分!Pythonでslack通知にファイルを送信する方法を徹底解説!

slack通知する際にCSVなどのファイルを送信したいことがあると思います。

ファイル送信は、slack側でちょっとめんどくさい設定が必要ですが、10分程度で準備はできるので、サクッとやり方を説明します。

 

ファイル送信に必要なslack側の準備

以下の手順でslack側の設定をします。

  1. slackにHubotアプリをインストール
  2. HubotのAPIトークンを取得
  3. 対象のチャンネルにHubotを追加
  4. チャンネルIDを取得

1個ずつ解説していきます。

 

1. 対象のチャンネルにHubotアプリをインストール

1-1. ファイルを送信したいslackのチャンネルを指定し、右クリック→「チャンネル詳細を開く」を押下します。

 

1-2. チャンネル詳細のポップアップで、「インテグレーション」タブを選択し、「アプリを追加する」を押下します。

1-3. アプリを追加する画面で、「Hubot」と検索し、インストールを押下します。

1-4. ブラウザに遷移するので、「Salckに追加」を押下

 

 

2. HubotのAPIトークンを取得

2-1. 1-4を実施すると以下の画面に遷移するので、表示されているAPIトークンを取得。

2-2. 画面下部の「インテグレーションを追加」を押下

2-3. ここまで実施すると、slackの左側のブレードのAppにHubotが追加される。

 

3. 対象のslackチャンネルにHubotを追加

3-1. コメント記載フィールドの「+」を押下

 

3-2. 「ショートカットを検索する」という入力フィールに、「アプリを追加」と入力し、「このチャンネルにアプリを追加する」を押下

3-3. 1.2で作成したHubotを追加

ここまで実施すると、対象のチャンネルにHubotが追加されます。

 

4. チャンネルIDを取得

続いて、ファイルを送信するslackチャンネルのIDを取得します。ファイルを送信するチャンネルを特定するために必要な情報です。(おそらく

対象のチャンネルを右クリックして、「チャンネル詳細を開く」を押下します。チャンネル詳細の「チャンネル情報」の下部にチャンネルIDが表示されているのでこちらを保存しておきます。

pythonでファイルを送信

必要な情報は揃ったので、pythonでslackにファイルを送信したいと思います。

前提として必要な情報は、以下の2つです。

  1. HubotのAPIトークン
  2. ファイルを送信するslackチャンネルのID

slackerというモジュールが必要なので、なければインストールしてください。

pip install slacker

サンプルコード

from slacker import Slacker

API_TOKEN = "xoxb-xxxx"
SLACK_CHANNEL_ID = "xxxxxxxx"

file_name = "test.csv"

slacker = Slacker(API_TOKEN)
slacker.files.upload(file_=file_name, channels=SLACK_CHANNEL_ID)

これでslackに以下のようにファイルが届きました。以上で、完了です。

 

関連記事

3分でPythonでslackに通知を送る方法を徹底解説

コメントを残す

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

CAPTCHA