Robotic Crowd

Robotic Crowd

Slackにメッセージ送信

Author: Kanako Takei 578 views

この記事では、SendSlackMessageアクションでSlackにメッセージを送信する方法を説明します。

「SendSlackMessage」Slackにメッセージを投稿する

Slackへのメッセージ送信には、SendSlackMessageを使います。

「チャンネル名」のピッカーからは、全てのパブリックチャンネルとアプリを追加したプライベートチャンネルが選択できます。
別のワークフロー編集者もSendSlackMessageアクション作成時に同チャンネルが表示できるため、ご注意ください。

メッセージは、コネクション連携でインストールした専用アプリから送信されます。
※送信したいチャンネルごとにアプリを追加する必要があります。(設定方法は「設定例」にて後述)

メッセージにはワークフロー起動トリガーをつけることもでき、Slack上で業務全体の流れをコントロールすることも可能です。
(Q&Aの「5. 送信メッセージにワークフロー実行トリガーを設置したい」にて説明)

 設定時のQ&A

2つの方法をご紹介します。

①Textアクションで本文を作成する(推奨)

Textアクションで文章を作成して、
アウトプットをGmailSendアクションの「本文(body)」に指定します。
Textアクションは入力された文章の改行表現を保持する(Enterを押したところで改行される)ため、
通常のメールエディタと同じ感覚で文章を作成できます。

SendSlackMessageアクションの「本文(body)」で本文を作成する

SendSlackMessageアクションの「本文(body)」で改行を表現する場合、
${“\n”}(改行コード)を使う必要があります。

段落の表現のため、改行して1行空ける時にも、
改行コードが1つ必要になる点にご注意ください。

SlackAPIの仕様に準じるため通常のメンションとは表記方法が異なります
それぞれの表記は下記の様になります。

slack上の表記Robotic Crowd上の表記
<@channel><!channel>
<@here><!here>
<@ユーザー名><@メンバーID>
<@グループ(salesなど)><!subteam^メンバーグループID>

メンバーIDの取得方法

メンバーIDは以下の手順でコピーすることができます。

  • メンションするユーザーの「全プロフィールを表示する」を押します。
  • 一番右にある「…(その他)」のボタンを押します。
  • 「メンバーIDをコピー」をクリックします。

ユーザーグループIDの取得方法

ユーザーグループIDは、ブラウザ版Slackから取得する必要があります。

  • ブラウザ版Slackにログインします。
  • 実際にグループメンションが使われている投稿を見つけます。
  • メンションをクリックをして表示されるユーザーグループページのURL末尾に、ユーザーグループIDが記載されています。

メンバーIDを使ってDM送付が可能です。
メンバーIDの取得方法は「2. メンション付きでメッセージを送りたい」を参照してください。

DMを送りたいメンバーのIDを、チャンネル名に「@メンバーID」の形式で入力します。

詳細設定の「添付ファイル」欄で指定ができます。
詳細設定はアクションカードの「∨」をクリックして開きます。

深緑色のFileアウトプット、Imageアウトプットほか、Robotic Crowdに読み込まれているファイルが指定できます。

SendSlackMessageの詳細設定で、送信メッセージにワークフローの実行トリガーを設置できます。

以下3つのパラメータを設定します。

ボタン実行トリガーの作成部分です。
ボタンの代わりにセレクトを送信する実行トリガーの見た目をプルダウン形式に変更します。
返信メッセージを受け取る起動先のワークフローへテキストを渡すための入力フィールドを表示します。

ボタン

ワークフロー実行トリガーを作成する部分です。
「起動するワークフロー」を選択すると、起動対象のワークフロー中のStoreValueされていない変数に渡す値を設定できます。
挙動としては、AddToQueue(別のワークフローを起動)などと同じになります。

同じワークフローを起動するボタンを複数作っておき、渡す値に応じて処理を変えるといった使い方もできます。

ボタンの代わりにセレクトを送信する

オンにすると、Slackメッセージ上で実行トリガーをプルダウンから選択する形式に変更できます。
ボタン数が多い時や誤動作防止に使います。

返信メッセージを受け取る

オンにすると、起動先のワークフローに任意のテキストを渡すための入力フォームを表示できます。

起動先のワークフローでは、${response_message}という変数で入力テキストを受け取ります。
上の画像は、承認を押すと${approval}に「承認」を渡し、${response_message}にコメントを渡します。

 ワークフローの設定例

例えばワークフロー実行完了時に、対象サイトのスクリーンショットを添付して、自分をメンションして完了通知を送る場合、下記手順にてワークフローを設定します。
(スクリーンショット撮影までの説明は割愛します。)

SlackアプリをSlack側でチャンネルに追加しておきます。
※コネクション作成がお済みでない場合、Slackアプリがインストールされていません。こちらを参考にSlackとの連携をお願いします。

  • 対象チャンネルを開き、左上の対象チャンネル名をクリックします。
  • 「インテグレーション」タブに移動し、「アプリを追加する」をクリックします。
  • 「Robotic Crowd」の「追加」をクリックします。
  • もう一度インテグレーションタブを開いた時に、App欄にRobotic Crowdが表示されていればOKです。

Textアクションを設定します。

  • Textアクションで通知文を作成します。
    自分のメンバーIDをメンションするようにしておきます。
     

SendSlackMessageメッセージを設定します。

  • 「プロバイダーID」に対象のワークスペースを指定します。
    「プロバイダーを選ぶ」をクリックすると作成済みコネクションから簡単に選択ができます。
  • 「チャンネル名」に対象チャンネルを指定します。
    「チャネルを選ぶ」から簡単に選ぶことができます。
  • 「メッセージ内容」にTextアクションのアウトプットを指定します。
  • 詳細設定を開き、「添付ファイル」にTakeScreenshotのアウトプットを指定します。

コネクションはご自身の環境のものをご利用ください。
# ブラウザを開く
+open_browser_1:
  action>: OpenBrowser
  url: 'https://support.roboticcrowd.com/'
  lang: 'ja-JP'
  headless: true
  windowSize: '1280 x 720'

# スクリーンショットを撮る
+take_screenshot_1:
  action>: TakeScreenshot
  browser: +open_browser_1
  full_page: false
  type: png

# テキストを作成
+text_1:
  action>: Text
  text: "<@xxxxxxxx>\nワークフローが実行完了しました。\n\nサイトの状態を念のためチェックしてください。"

# Slackでメッセージを送信
+send_slack_message_1:
  action>: SendSlackMessage
  provider: slack_xxxx
  channel: '#稼働テスト'
  text: +text_1
  file: +take_screenshot_1
  send_select: false
  response_message: false
  meta:
    display:
      provider:
        type: chip
        label: 'Slack (テスト)'
        icon: slack
slack スラック

このページは役に立ちましたか?