SlackPost - Slackにメッセージを送信

SlackのWeb APIを使用してSlackにメッセージを送信します。
ユーザまたはボットが参加している会話(チャンネル、ダイレクトメッセージなど)へメッセージを送信できます。
ボットトークンにchat:write及びchat:write.publicスコープを設定した場合、ボットが参加していないパブリックチャンネルにメッセージを送信できます。

■ストリーム情報

入力フォーマットすべて
接続数1
説明 入力ストリームは使用せず、すべて無視します。
出力フォーマットText,MIME
説明Slack APIのレスポンスが出力されます。

出力ストリーム変数

名前データ型説明
StatusCodeintHTTPレスポンスのステータスコード

■コンポーネントプロパティ

名前プロパティ型マッピング説明
コネクションを使用boolean- 接続先に以下のコネクション を使用するかどうか選択します。
はい [true] - 以下のコネクション で指定されたSlack接続名を接続先として使用します。
いいえ [false] - コネクション情報 以下のプロパティを使ってSlackに接続を行います。
コネクションconnection-コネクションを使用 が「はい」の場合に、Slackアプリケーションへの接続用コネクションを指定します。
コネクションペインまたは管理コンソールにて作成した接続名を選択します。
コネクション情報group-コネクションを使用 プロパティが「いいえ」の場合に使用されるプロパティ群です。
Slack APIのトークンstring入力&出力 Slack Web APIのトークンを指定します。トークンは「Your Apps>Add features and functionality>Permissions>OAuth&Permissions」画面から取得したOAuth Access Tokenを使用します。
トークンのタイプによって次のスコープの設定が必要になります。
  • ユーザートークン: chat:write
  • ボットトークン: chat:write
コネクションを使用 が「いいえ」の場合にこの設定が参照されます。
チャンネルstring入力&出力 メッセージを送信するチャンネルを指定します。
パブリックチャンネル、プライベートチャンネルを指定する場合は、チャンネル名(例 #general)もしくはチャンネルID(例 C024BE91L)を指定します。
ダイレクトメッセージ、グループダイレクトメッセージを送信する場合は、ID (例 D023BB3L2)を指定します。
※IDはSlackのWeb画面で対象のチャンネルやユーザーを選択するとURLの最後のパスとして表示されています。
コネクションを使用 が「いいえ」の場合にこの設定が参照されます。
タイムアウト(秒)int入力&出力 リクエスト時およびコネクション接続時のタイムアウトまでの時間を秒単位で指定します。
コネクションを使用 が「いいえ」の場合にこの設定が参照されます。
リトライ回数int入力&出力 リクエスト時にHTTPサーバーに接続できなかったときに自動的にリトライするカウントを指定します。リトライしない場合は0を指定します。
コネクションを使用 が「いいえ」の場合にこの設定が参照されます。
リトライ間隔(秒)int入力&出力 上記リトライ時に再度接続リクエストを送るまでの間隔を秒単位で指定します。
コネクションを使用 が「いいえ」の場合にこの設定が参照されます。
プロキシ設定を使用boolean- 管理コンソールで設定したプロキシ設定を使用するかどうかを指定します。
コネクションを使用 が「いいえ」の場合にこの設定が参照されます。
はい [true] - プロキシ設定を使用します。
いいえ [false] - プロキシ設定を使用しません。
メッセージstring入力&出力 送信するテキストを指定します。
ブロックと同時に使用した場合、通知時のメッセージとして使用されます。
テキストのフォーマットについてはhttps://api.slack.com/docs/message-formattingを参照してください。
ブロックstring入力&出力 Block Kit layout blocksを表すJSON配列の文字列を指定します。
Block Kit layout blocksについてはReference: Layout blocksを参照してください。
JSON配列の文字列の例:
  • [{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]
アタッチメントstring入力&出力 Attachmentsを表すJSON配列の文字列を指定します。
AttachmentsについてはReference: Secondary message attachmentsを参照してください。
JSON配列の文字列の例:
  • [{"pretext": "pre-hello", "text": "text-world"}]
ユーザー名string入力&出力 メッセージを送信するユーザー名を指定します。指定しない場合はSlack Web APIのアプリ名が使用されます。
このプロパティを利用するためには次のスコープの設定が必要になります。
  • ボットトークン: chat:write:customize
リンク自動変換boolean入力&出力メッセージアタッチメントに指定した文字列を解析して、URLやメンションとして認識される文字列をURLやメンションのリンクに自動変換するかどうかを設定します。
URLや文字列として認識される文字列の詳細はAutomatic parsingを参照してください。
リンクまたはメンションに変換される文字列の例:
  • http://example.com
  • @here
  • #random
mrkdwn文字列の例:
  • <http://example.com|Title>
  • <!here>
  • <#C01M9TP0GBC>

はい [true] - URLやメンションとして認識される文字列を自動変換する。mrkdwn文字列は認識されない。
いいえ [false] - URLやメンションとして認識される文字列を自動変換しない。mrkdwn文字列は認識される。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
SlackApiException「SlackApiExceptionのパラメーター 」
を参照してください。
サーバーから返されたHTTPレスポンスのMIME1 Slack APIがエラーを返した場合
HTTPException なし コンポーネントの入力ストリーム2Slackとの通信中にエラーが発生した場合
3Slackとの通信中、もしくは通信前処理でエラーが発生した場合
汎用 なし コンポーネントの入力ストリーム4メッセージ」「ブロック」「アタッチメント」のうち一つも値が設定されていない場合
5コネクション に指定したコネクションが見つからない場合
9その他のエラーが発生した場合

■「SlackApiException」のパラメーター

No.名前説明
1HTTPStatusLineサーバーから返されたHTTPステータスラインが返されます。
2HTTPBodyサーバーから返されたHTTPレスポンスのボティが返されます。

■フローの強制終了

フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。