Asteria WarpフローデザイナーとSlackその1:SlackPost/SlackGetを使用してSlackとメッセージの送信/取得を行う

はじめに

本記事では、ASTERIA WarpのSlackPostを用いてSlackにメッセージを送信する手順と、SlackGetを用いてSlackからメッセージを取得する手順を解説します。

SlackPostについて

SlackPostのプロパティ設定

プロパティにおいて設定した項目は以下の通りです。これらを設定することで、Slackにメッセージを送信できます。ここで設定していない項目はデフォルトの値を使用しています。

  • コネクションを使用:はい
  • コネクション名:使用するSlackコネクションを入力します。
  • メッセージ:Slackに送信したいメッセージを入力します。
  • ユーザー名:メッセージを送信するユーザー名を入力します。(空欄にした場合はSlack Web APIのアプリ名が使用されます。)
    このプロパティを利用するためには、「chat:write:customize」スコープの設定が必要になります。

※ブロックとアタッチメントは今回は使用しませんが、SlackPostのヘルプにJSON形式のサンプルが存在します。それぞれの欄に入力していただければ、動作します。

SlackPostを用いてメッセージを送信するため、下図のフローを作成しました。フローの実行後、Slackを確認するとプロパティで「メッセージ」欄に設定したメッセージが送信されています。

SlackPostの動作確認フロー

フローの解説

上記のフローではSlackにメッセージを送信するSlackPostと、前後のマッパーでプロパティの値を設定・取得する構成になっています。

想定している実行結果は、SlackにSlackPostで設定したユーザー名とメッセージで投稿されることと、投稿したメッセージとユーザー名が「,」区切りで返されることなります。

マッパー(SlackPostの前)※現状ではフローの動作に関係していません

SlackPostの前にマッパーが存在する場合、プロパティの値をマッパーから設定することができます。今回はSlackPostのプロパティに直接値を入力しているため、このマッパーでは何も設定は行っていません。
フローの動作には関係していないため削除しても問題ありませんが、参考として残しています。

SlackPost前のマッパーからプロパティの値を設定できる
SlackPost

SlackPostはプロパティの設定に基づいて、Slackにメッセージを送信します。前に存在するマッパーからプロパティの値を受け取ることもできますが、今回は直接それぞれの値を設定しています。今回設定したプロパティの値は下図の通りになります。

今回使用するSlackPostのプロパティ設定
マッパー(SlackPostの後)

SlackPostの後にマッパーが存在する場合、SlackPostの実行後にプロパティとして設定されていた値を取得できます。今回はプロパティのメッセージとユーザー名に設定されていた値をconcatで「,」区切りで連結してストリームに流しています。

SlackPost後のマッパーからプロパティの値を取得できる

実行結果

フロー実行時の表示は下図のようになります。想定通りメッセージとユーザー名が「,」区切りで返されています。

フローの実行結果

また、Slackを確認すると、フローを実行した時間でSlackPostに設定したメッセージが投稿されていることが確認できます。

------------------------------------------

SlackGetについて

SlackPostのプロパティ設定

プロパティにおいて設定した項目は以下の通りです。これらを設定することで、Slackからメッセージを取得できます。ここで設定していない項目はデフォルトの値を使用しています。

  • コネクションを使用:はい
  • コネクション名:使用するSlackコネクションを入力します。
  • これより前:ここで設定した日時より前のメッセージが取得対象となります。
  • これより後:ここで設定した日時より後のメッセージが取得対象となります。
  • 取得するメッセージ件数:取得するメッセージ件数を指定します。空欄もしくは負の整数を入力した場合はすべてのメッセージを取得します。

SlackGetを用いてメッセージを取得するため、下図のフローを作成しました。フローの実行後、Slackからメッセージが取得されます。

SlackGetの動作確認フロー

取得するSlackのメッセージ

下図の「SlackPost_TestMessage_1」と「SlackPost_TestMessage_A」の2件を取得する想定です。

取得予定とその付近のSlackメッセージ

フローの解説

上記のフローではSlackからメッセージを取得するSlackGetと、マッパーで取得したメッセージなどの値を編集する構成になっています。

想定している実行結果は取得したメッセージとタイムスタンプが「,」区切りで返され、1行ごとに改行されることなります。

SlackGet

SlackGetはプロパティの設定に基づいて、Slackからメッセージを取得します。今回設定したプロパティの値は下図の通りになります。

今回使用するSlackGetのプロパティ設定
マッパー

取得したメッセージとタイムスタンプをconcatで「,」区切りで連結してストリームに流しています。1行ごとに改行されます。

SlackGetで取得した値を編集する

実行結果

フロー実行時の表示は下図のようになります。想定通りタイムスタンプとメッセージが「,」区切りで返されています。1行ごとに改行されています。

フローの実行結果