概要
UiPathより、Slackへのメッセージ送信やメッセージ・添付ファイルを取得したりリプライを送る方法について解説
使用パッケージ(2020/08/22時点)
UiPath.Slack.Activities[Ver 0.3.0]
サンプルプロジェクト(GitHub)
※UiPath Studioより「リポジトリを複製」で参照したい方はこちらのURLを使用下さい
https://github.com/odm-cckte0122/UiPath-SlackConnectSample.git
事前準備
- Slackにボットを追加する
- 追加したボットから、接続に必要な情報(ClientID , ClientSecret , Bot Access Token)を取得する
- 追加したボットを、操作したいチャンネルに追加する
※ボットの追加・設定方法についてはSlack ボットの作成手順を参照
できること(使用頻度が高いもの)
Slackにメッセージを投稿
サンプルファイル:チャンネルにメッセージを投稿.xaml
Send Messageアクティビティを使用することで、指定したチャンネルにメッセージを投稿することができる。
【Send Messageアクティビティ設定情報】
項目名 | 型 | 入力内容 |
---|---|---|
Conversation | String | 投稿するチャンネル名。必須 ※付与した権限によっては、DMやグループチャットへの投稿も可能 |
Text | String | 投稿するメッセージ内容。必須 ※Slack上で使用するmarkdown記法を使用できる(*で囲むと太字になったりする) |
File | String | 投稿に添付するファイルのパス。任意 ※相対パスでも添付可能・ファイルパスに指定した変数が空白の場合は何も添付されない 注意:日本語名のファイルは添付しようとすると文字化けしてしまうため、別途対応が必要 |
Slackのメッセージにリプライ
サンプルファイル:チャンネルのメッセージにリプライ.xaml
Get Messagesアクティビティと Replyアクティビティを使用することで、指定したチャンネル内の投稿にリプライを送ることができる。
【Get Messagesアクティビティ設定情報】
項目名 | 型 | 入力内容 |
---|---|---|
Conversation | String | メッセージを取得するチャンネル名。必須 ※付与した権限によっては、DMやグループチャットへの投稿も可能 |
Messages | Slack.Models.Message[] | 取得したメッセージ情報。必須 ※Message型の配列となっており、投稿者の情報やメッセージ内容、メッセージ固有のIDなど様々な情報が格納されている |
MaxResults | Int32 | メッセージの取得上限。任意 |
【Replyアクティビティ設定情報】
項目名 | 型 | 入力内容 |
---|---|---|
Message | Slack.Models.Message | リプライを送るメッセージ。必須 ※Get Messagesアクティビティで取得したメッセージから取得した情報をもとに返信するメッセージを指定 |
Text | String | 投稿するメッセージ内容。必須 ※Slack上で使用するmarkdown記法を使用できる(*で囲むと太字になったりする) |
File | String | 投稿に添付するファイルのパス。任意 ※相対パスでも添付可能・ファイルパスに指定した変数が空白の場合は何も添付されない |
Slackに添付されたファイルをダウンロード
サンプルファイル:投稿に付与されたファイルをダウンロード.xaml
Get Messagesアクティビティと Download Fileアクティビティを使用することで、指定したチャンネル内の投稿にリプライを送ることができる。
【Download Fileアクティビティ設定情報】
項目名 | 型 | 入力内容 |
---|---|---|
File | Slack.Models.SlackFile | ダウンロードしたいファイル情報。必須 ※Get Messagesアクティビティで取得したメッセージにファイルが添付されている場合、SlackFile[]としてこの情報が格納されている |
LocalPath | String | ファイルをダウンロードした時のファイルパス。必須 ※相対パスでも添付可能 |
参考
Slack からエクスポートしたデータの読み方
※Get Messagesアクティビティで取得したmessage情報を読み解くヒントになるかもしれません。
Message情報をログに出力するサンプル:チャンネルのメッセージ情報を取得.xaml