こんにちは。タルタルチキンの後はバニラアイスです。
今回はDataSpiderとSlackをつなぎ、DataSpiderからSlackの任意のチャンネルへメッセージを投稿することができるのか、試してみました。
■検証環境
使用した環境はこちらです。
・Slack Workspace(無償版)
-Workspace名:Slack接続
-チャンネル名:Slack接続テスト
・DataSpider Cloud v1.4 DSC14_200805_03 パッチ適用済み
・DataSpider Servista 4.2 SP7
・Windows Server 2016(AWS)
■接続
では、早速接続方法についてお話していきます。
◎Slack設定
まずはSlackの設定をしていきます。
今回は接続したいWorkspaceとチャンネルがすでにあると想定して検証を行っていきます。
接続したい環境がない場合は以下のリンクの手順で作成してください。
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
・API設定
まずは以下のリンクに行き、
以下の画面の「Create New App」をクリックし、
アプリ名を決め、作成したいWorkspaceを選択します。
「Create App」をクリックしたらアプリが作成できます
App Nameの欄にアプリ名が表示されていたら作成完了です。
完了が確認できたらチャンネルを開き、作成したアプリを追加してください。
続いてScope(アプリができる機能)を追加します。
まず「Permission」を選択。
次にScopes項目でBot Token Scopes、User Token Scopesに「chat:write」を追加します。
「Add an OAuth Scope」を選択し、検索欄に「chat:write」と入力し「chat:write」を選択。
黄色い〇のところに「chat:write」と表示されていたら追加完了です。
その後ページ上部の「Install to Workspace」をクリックし、承認したら(Allowをクリックしたら)、以下の画面になります。
「Bot User OAuth Access Token」はあとで使うのでコピーしてどこかに張り付けておいてください。
ここまででSlackの設定は終了です。
続いてDataSpider Servistaの設定に行きましょう!
◎DataSpider Servista設定
始めにグローバルリソースの設定をします。
グローバルリソースを開き、「新しいグローバルリソースの作成」をクリックします。
「ネットワーク」カテゴリーの「REST」を選択し
URLの欄に https://slack/api を入力します。
接続テストを行い、「接続テストに成功しました。」と表示されたら接続完了です。
続いて新しいプロジェクト&スクリプトを作成します(任意のプロジェクト名&スクリプト名を設定)。
デザイナ画面が開けたらツールパレット上のネットワークカテゴリ内にある「POST実行」をキャンバス内に配置。
今回は必須設定、リクエスト設定、レスポンス設定を行う必要があります。
【必須設定】
必須設定ではパス欄に/chat.postMessageを入力します。
こちらはSlack APIのメッセージ投稿用のメソッドです。
※以下メソッドの説明。
https://api.slack.com/methods/chat.postMessage
【リクエスト設定】
次にリクエスト設定タブを開き、データ形式を「フォーム」に設定します。
その後フォームを3つ追加し、上から「token」「channel」「text」を入力します。
こちらはSlack APIにリクエストを送る際の必須項目です。
【レスポンス設定】
最後にレスポンス設定タブを開き、レスポンスのデータ形式を設定します。
SlackのレスポンスはJSONデータで送られてくるためデータ形式を「JSON」に設定します。また不正な文字コードによるエラーを防ぐため、「XMLとして不正な文字を削除する」にチェックを入れます。
以上でPOST実行コンポーネントの設定は終了です。
続いて変換カテゴリーの「マッピング」を用いて先ほどリクエスト設定で追加した変数(token,channel,text)に対して値を入れていきます。ツールパレットの文字列カテゴリーから「単一文字列定数」をキャンバス内に配置し設定を行います。
以下の画面が出てきたら<変数設定表>にある一行文字列、コメントを入れコンポーネントを作成します。
<変数設定表>
No |
一行文字列 |
コメント |
代入先変数名 |
1
|
API設定の際にコピーしたBot User OAuth Access Token |
アクセストークン |
token |
2 |
任意のチャンネル名 |
チャンネル |
channel |
3
|
チャンネルに投稿するメッセージ ※今回はメッセージを設定しますが、実際はお問い合わせDBから取得した新着メッセージの値です。 |
投稿内容 |
text |
作成し終えたらキャンバス内は以下のようになっています。
その後各コンポーネントを代入先変数のvalueに繋げたら変数の設定は終了です。
最後に、各コンポーネントを「変数入力➡Slackに投稿」の順につないだらScriptは完成です。以下はスクリプトの完成図です。
それでは実行していきましょう!
デバックボタンをクリックしてみると…
成功しました!!
ではSlackを見てみましょう。
はい、投稿に成功しました!
これでSlackとDataSpider Servistaをつなげることができました。
おわりに
今回の「つなげてみた」で検証した機能を使えば、
例えば、Salesforceと連携させてSalesforceに新着お問い合わせが来たら
Slackの任意のチャンネルでお知らせしてくれるといったシステムを作ることができます。
みなさんもSlack連携をお試しください!!