Slack チャンネルにファイルをアップロードする
最終更新
最終更新
SlackBot アクションで、Slack チャンネルにファイルをアップロードするカスタムアクションを構築します。
クラウドストレージサービスから、ファイルをダウンロードするアクションを追加します。本レシピでは の「ファイルをダウンロード」アクションを利用する例を解説します。
アクションを追加し、アプリケーションとして「Box」を選択します。
アクションとして「ファイルをダウンロード」を選択します。
ダウンロードするファイルの ID を入力します。例として、常に同じファイルをダウンロードするよう、特定ファイルの ID を入力しています。
先に構築した「ファイルをダウンロード」アクションによってダウンロードしたファイルを、Slack のチャンネルにアップロードするカスタムアクションを構築する手順を解説します。
アクションを追加し、アプリケーションとして「Slack Bot」を選択します。
アクションとして「カスタムアクション」を選択します。
カスタムアクションを設定します。
「カスタムアクション名」にはわかりやすい任意の名前を入力します。
「HTTPメソッド」には POST
を選択します。HTTPメソッドを選択すると、追加の入力フィールドが表示されます。
リクエストパスには /files.upload
と入力します。
リクエストタイプには multipart
と入力します。Slack の特定チャンネルにファイルをアップロードするにためには、この設定が必須となります。
リクエストボディ定義に、「手動追加」をクリックして file
と channel
2つの項目を追加します。
file
スキーマは以下のように設定します。型には File
を指定します。
channels
スキーマは以下のように設定します。型は String
を指定します。
リクエストボディの file
で送信する値を設定します。
Filename
に、Slack にファイルをアップロードしたあと、どようなファイル名でSlack に保存したいかを指定します。ここでは cat
という名前を指定しています。
Content
に、事前準備で作成した「ファイルをダウンロード」アクションによって提供される変数を指定します。Content
をクリックし、変数欄から「ファイルをアップロード」→「ファイル」の順番に選択します。
Content Type
は空白のままにします。
リクエストボディの channel
で送信する値を指定します。
Content
にファイルをアップロードしたい Slack のチャンネル ID を入力します。
これで Slack にファイルをアップロードするカスタムアクションが完成したので、テストを実行してみましょう。
上記アクションをテスト実行すると、「ファイルをダウンロード」アクションでファイルがダウンロードされていることを確認できます。
また、Slack API から返された詳細な出力値を確認し、API コールが成功したかがどうか確認可能です。
Slack の指定したチャンネルにアクセスし、ファイルが正しくアップロードされているかについても確認しましょう。