Slack スポークを設定
Slack にカスタム OAuth アプリケーションを作成してServiceNowインスタンスと Slack アカウントをデータ連携し、ServiceNow要求を認証します。
始める前に
- 統合ハブサブスクリプションを要求します。
- Slack スポークを有効にします。
- Slack アカウント
- Slack ユーザーをServiceNowインスタンスのユーザー [sys_user] テーブルに追加し、[メール] を一意の識別子とします。
- 必要なロール:admin
このタスクについて
Slack アプリを構成
Slack ワークスペースでカスタム OAuth アプリケーションを作成し、Slack スポークで OAuth 2.0 認証を有効にします。
始める前に
必要なロール:admin
このタスクについて
Slack アカウントから、次の手順を完了します。アプリを作成したり、以下の構成の概要に従って既存のアプリを構成することもできます。
手順
-
Slackワークスペースを作成します。
ワークスペースの作成方法については、「Create a Slack workspace (Slack ワークスペースの作成)」を参照してください。次の画像は、一般的な Slack ワークスペースを示しています。
- Slack API コンソールに移動します。
- [アプリを作成] をクリックします。
-
[アプリを作成] ウィンドウで、アプリを作成するための最適な方法を選択します。
-
基本情報ページのアプリの認証情報ページから、Slack アプリのクライアント ID、クライアントシークレット、署名シークレットの各値をコピーして記録します。詳細については、「Get Client ID and Secret for later (後で使用するためにクライアント ID およびクライアントシークレットを取得)」の手順を参照してください。
-
OAuth と権限のページ:
- [リダイレクト URL] にServiceNowインスタンス URL を次のフォーマットで指定します:https://<instance-name>.service-now.com/oauth_redirect.do
-
次のボットトークンスコープを追加します。
- channels:history
- channels:manage
- channels:read
- chat:write
- chat:write.customize
- groups:read
- im:read
- mpim:read
- groups:history
- groups:write
- im:history
- im:write
- mpim:history
- mpim:write
- users:read
- users:read.email
- files:read
詳細については、「 スコープと権限」を参照してください。
注:ここで説明するスポークの設定手順には、ボットユーザートークンのみが必要です。ボットトークンスコープの使用中は、「ユーザーを作成」および「ユーザーを非アクティブ化」アクションを使用できません。これらのアクションを使用するには、Slack アカウントからユーザートークンを取得する必要があります。
-
スラッシュコマンドのページで、コマンドを作成して次の値を指定します。
フィールド 値 コマンド /now 要求 URL https://<instance-name>.service-now.com/api/sn_slack_ah_v2/command_service/<slack-app-name> 簡単な説明 コマンドに関する説明です。 使用上のヒント 渡すことができるパラメーターのリストです。たとえば、[operation] [table] です。 詳細については、「Slash コマンドを作成」の手順を参照してください。
-
インタラクティブ機能とショートカットのページ:
-
インタラクティブ機能を有効にし、[要求 URL] に ServiceNow インスタンス URL を https://<instance-name>.service-now.com/api/sn_slack_ah_v2/slack/<slack-app-name>/interactivepayload という形式で指定します。
詳細については、「 ユーザーインタラクションのためのアプリの準備」セクションを参照してください 。
-
メッセージに表示されるショートカットを作成し、 [コールバック ID] に値 post_message_now を入力します。
詳細については、「ショートカットを作成」セクションを参照してください。
-
インタラクティブ機能を有効にし、[要求 URL] に ServiceNow インスタンス URL を https://<instance-name>.service-now.com/api/sn_slack_ah_v2/slack/<slack-app-name>/interactivepayload という形式で指定します。
-
Slack ボットを作成し、ボットを Slack アプリと必要なチャネルに追加します。
詳細については、「ワークスペース用のボットの作成」を参照してください。
ServiceNow インスタンスに Slack 接続を追加
ワークフロースタジオ に Slack 接続を追加し、Slack スポークを構成します。
始める前に
手順
- 移動先 すべて > Flow Designer > デザイナー.
-
[接続] をクリックします。
注:Slack ワークスペースごとに 1 つずつ、Slack スポークに複数の接続を追加できます。
- Slack スポークタイルで、[詳細を表示] をクリックします。
-
接続ページで、[構成] をクリックします。
ポップアップウィンドウに、空白のままの接続の設定フォームが表示されます。
-
フォームに、これらの値を入力します。
表 : 1. 接続の設定フォーム フィールド 説明 接続 URL Slack に接続するための URL です。https://slack.com を入力します。 認証情報名 認証情報レコードを識別する名前です。たとえば、Slack Cred です。 OAuth 名 OAuth レコードを識別する名前です。たとえば、Slack OAuth です。 OAuth クライアント ID Slack アプリのクライアント ID です。 OAuth クライアントシークレット Slack アプリのクライアントシークレットです。 OAuth リダイレクト URL Slack アプリで指定されたリダイレクト URL です。この値は自動入力されます。 - [OAuth トークンを設定して取得] をクリックします。
-
ポップアップウィンドウで、[許可] をクリックします。
Slack スポークに対して OAuth アクセストークンが生成されます。
ServiceNowインスタンスでの署名キーの指定
ServiceNowからの要求を認証するために、ServiceNowインスタンスにSlackアプリの詳細と署名キーを指定します。
始める前に
手順
- 移動先 すべて > Slack > Slack 構成.
-
デフォルトレコードを開きます。
新しいレコードを作成して、他の署名キーを提供することもできます。
-
フォームに、これらの値を入力します。
表 : 2. Slack 構成フォーム フィールド 説明 Slack アプリ Slackアプリの名前です。 注:この名前は、Slack アプリの作成時に指定したアプリ名と同じにする必要があります。接続エイリアス [接続] タブで選択したアプリに関連付けられている接続エイリアスです。 プロパティ名 Slack構成の名前です。署名シークレットを入力します。 署名シークレット Slackアプリの署名シークレットです。 - [更新] をクリックします。
ServiceNowインスタンスで送信構成を設定
Slack スポークアプリケーションでアクションを実行する必要があるイベントをServiceNowインスタンスで指定します。
始める前に
このタスクについて
手順
- 移動先 すべて > Slack > 送信構成.
- [新規] をクリックして送信構成テンプレートを作成するか、デフォルトの送信構成をクリックして設定します。
-
送信構成フォームに、次の値を入力します。
表 : 3. 送信構成フォーム フィールド 説明 名前 送信構成レコードを識別する名前です。 メッセージのタイトル Slack スポークチャネルに投稿されるメッセージのタイトルです。たとえば、{0} の承認待ちです。 ターゲットテーブル ServiceNowレコードの詳細を取得するテーブルです。 フィールド Slack スポークチャネルに投稿されるメッセージに値を表示する必要があるServiceNowテーブルのフィールドです。 ボタン 関連するユーザーがSlack スポークチャネルでアクションを実行するためのボタンです。たとえば、要求を [承認] または [却下] します。ボタンとそのスタイルの詳細については、「ボタン要素」を参照してください。 注:ユーザーは、必要なアクションを実行するために必要な権限を持っていなければなりません。たとえば、ユーザーは要求を承認または却下するために必要な権限を持っていなければなりません。これらの権限は、ServiceNowインスタンスでユーザーに割り当てられたユーザーロールに基づいています。選択リスト 却下などの Slack 送信選択肢です。これらのオプションは、Slack チャネルにリストとして表示されます。 アクション ID 送信構成の一意の識別子です。 注:フローを完了するには、送信構成の [アクション ID] を関連する受信決定で使用する必要があります。たとえば、承認メッセージの送信構成の [アクション ID] は、承認決定の受信決定で指定されます。これにより、要求の承認または却下時に、ServiceNowインスタンスの関連レコードが更新されます。 - [送信] をクリックします。
ServiceNowインスタンスで受信決定を構成
ServiceNowインスタンスでアクションを実行する必要があるイベントをSlack スポークアプリケーションで指定します。
始める前に
手順
- 移動先 すべて > Slack > 受信決定.
- [新規] をクリックします。
-
意思決定フォームで、次の値を入力します。
表 : 4. 意思決定フォーム フィールド 説明 ラベル 受信決定を識別する名前です。 回答 指定された条件が満たされるとトリガーされるサブフローです。 デフォルトの回答 この回答がデフォルトの回答かどうかを指定するオプションです。デフォルトの回答は、条件が満たされない場合に適用されます。 - [ルックアップ] アイコン (
) をクリックします。
- ドキュメントリストから必要なサブフローを選択します。注:[テーブル名] がフロー [sys_hub_flow] であることを確認します。
条件 Slackアプリケーションで満たすべき条件で、ServiceNowインスタンスでアクションを実行する必要があります。 ServiceNowインスタンスの関連レコードを更新するために、条件に送信構成を設定する際に使用した [アクション ID] 値を指定します。注:フローを完了するには、送信構成の [アクション ID] を関連する受信決定で使用する必要があります。たとえば、承認メッセージの送信構成の [アクション ID] は、承認決定の受信決定で指定されます。これにより、要求の承認または却下時に、ServiceNowインスタンスの関連レコードが更新されます。 - [ルックアップ] アイコン (
-
[送信] をクリックします。
イベントがポリシーで指定された条件を満たすと、関連するサブフローがトリガーされます。注:Slack でモーダルを表示する場合は、「ServiceNowインスタンスでSlackモーダルを設定」を参照してください。これらの受信決定は意思決定テーブルに保存されます。ユーザーは、これらのテーブルのデータを直接更新または変更しないように注意してください。