Slackにつないでみた

Avatar
dstn

こんにちは。タルタルチキンの後はバニラアイスです。

今回はDataSpiderSlackをつなぎ、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とチャンネルがすでにあると想定して検証を行っていきます。

接続したい環境がない場合は以下のリンクの手順で作成してください。

 

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

Workspace作成

チャンネル作成

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

 

API設定

まずは以下のリンクに行き、

https://api.slack.com/apps/

 

以下の画面の「Create New App」をクリックし、

mceclip0.png

 

アプリ名を決め、作成したいWorkspaceを選択します。

Create App」をクリックしたらアプリが作成できます

 

App Nameの欄にアプリ名が表示されていたら作成完了です。

完了が確認できたらチャンネルを開き、作成したアプリを追加してください。

 

続いてScope(アプリができる機能)を追加します。

 

まず「Permission」を選択。

mceclip1.png

 

次にScopes項目でBot Token ScopesUser Token Scopesに「chat:write」を追加します。

Add an OAuth Scope」を選択し、検索欄に「chat:write」と入力し「chat:write」を選択。

黄色い〇のところに「chat:write」と表示されていたら追加完了です。

mceclip2.png

 

その後ページ上部の「Install to Workspace」をクリックし、承認したら(Allowをクリックしたら)、以下の画面になります。

Bot User OAuth Access Token」はあとで使うのでコピーしてどこかに張り付けておいてください。

mceclip3.png

ここまででSlackの設定は終了です。

続いてDataSpider Servistaの設定に行きましょう!

 

 

DataSpider Servista設定

 始めにグローバルリソースの設定をします。

グローバルリソースを開き、「新しいグローバルリソースの作成」をクリックします。

「ネットワーク」カテゴリーの「REST」を選択し

mceclip4.png

 

URLの欄に https://slack/api を入力します。

接続テストを行い、「接続テストに成功しました。」と表示されたら接続完了です。

mceclip5.png

 

続いて新しいプロジェクト&スクリプトを作成します(任意のプロジェクト名&スクリプト名を設定)。

 

デザイナ画面が開けたらツールパレット上のネットワークカテゴリ内にある「POST実行」をキャンバス内に配置。

 

今回は必須設定、リクエスト設定、レスポンス設定を行う必要があります。

 

【必須設定】

必須設定ではパス欄に/chat.postMessageを入力します。

こちらはSlack APIのメッセージ投稿用のメソッドです。

mceclip6.png

※以下メソッドの説明。

https://api.slack.com/methods/chat.postMessage

 

【リクエスト設定】

次にリクエスト設定タブを開き、データ形式を「フォーム」に設定します。

その後フォームを3つ追加し、上から「token」「channel」「text」を入力します。

こちらはSlack APIにリクエストを送る際の必須項目です。

mceclip7.png

 

【レスポンス設定】

最後にレスポンス設定タブを開き、レスポンスのデータ形式を設定します。

SlackのレスポンスはJSONデータで送られてくるためデータ形式を「JSON」に設定します。また不正な文字コードによるエラーを防ぐため、「XMLとして不正な文字を削除する」にチェックを入れます。

mceclip8.png

 

以上でPOST実行コンポーネントの設定は終了です。

 

 

続いて変換カテゴリーの「マッピング」を用いて先ほどリクエスト設定で追加した変数(token,channel,text)に対して値を入れていきます。ツールパレットの文字列カテゴリーから「単一文字列定数」をキャンバス内に配置し設定を行います。

 

以下の画面が出てきたら<変数設定表>にある一行文字列、コメントを入れコンポーネントを作成します。

mceclip9.png 

 

<変数設定表>

No

一行文字列

コメント

代入先変数名

1

 

API設定の際にコピーしたBot User OAuth Access Token

アクセストークン

token

2

任意のチャンネル名

チャンネル

channel

3

 

チャンネルに投稿するメッセージ

※今回はメッセージを設定しますが、実際はお問い合わせDBから取得した新着メッセージの値です。

投稿内容

text

  

  

作成し終えたらキャンバス内は以下のようになっています。

その後各コンポーネントを代入先変数のvalueに繋げたら変数の設定は終了です。

mceclip10.png

 

最後に、各コンポーネントを「変数入力➡Slackに投稿」の順につないだらScriptは完成です。以下はスクリプトの完成図です。

 

それでは実行していきましょう!

 

mceclip11.png

 

デバックボタンをクリックしてみると…

 

mceclip12.png

 

成功しました!!

 

 

 

ではSlackを見てみましょう。

 

mceclip13.png

 

はい、投稿に成功しました!

 

これでSlackDataSpider Servistaをつなげることができました。

 

おわりに

今回の「つなげてみた」で検証した機能を使えば、

例えば、Salesforceと連携させてSalesforceに新着お問い合わせが来たら

Slackの任意のチャンネルでお知らせしてくれるといったシステムを作ることができます。

 

みなさんもSlack連携をお試しください!!

コメント

サインインしてコメントを残してください。

Powered by Zendesk