Amplify からの ServiceNow 更新

このページでは、Webhooksを使用して、Amplifyから実行されるリモートアクションやワークフローを用いてServiceNowのチケットログを自動更新する方法を紹介します。

設定に基づいて、自動更新は以下の場合に発生できます。

  • リモートアクションまたはワークフローが起動された時。

  • リモートアクションまたはワークフローが完了した時。

このページのコードサンプルは以下の方法でServiceNowとのインタラクションにも適用されます:

ファイルのexternal_source== "SNOW-Incident"をWebhookのNQL条件内でexternal_source== "SNOW-Interaction"に置き換えます。

Webhookのリソースフィールドで/table/incident//table/interactions/に置き換えます。

ServiceNow用のコネクタ資格情報を構成する

コネクタ資格情報設定ページから:

  1. プルダウンからHTTPSオプションを選択します。

  2. インスタンスのURLルートhttps://<instancename>.service-now.com/URLアドレスフィールドに貼り付けます。

https://XXXXXXXXXX.service-now.com/
  1. プルダウンからOAuth 2.0 - クライアント資格情報オプションを選択します。

  • コネクタ資格情報ドキュメントに従って、アクセストークンURLクライアントIDクライアントシークレットスコープフィールドに情報を入力します。

  1. 資格情報を保存します。

Webhookを構成する

以下のセクションは、ServiceNowを更新するための2つのシナリオの詳細を示しています。 各シナリオの手順は非常に似ています。同じステップを含みますが、NQL条件やPayloadは、リモートアクションやワークフローに固有のシナリオに依存しています。

リモートアクションまたはワークフローがトリガーされるとServiceNowを更新する

NexthinkでWebhookを設定して、リモートアクションやワークフローがトリガーされたときにServiceNowのインシデントチケットログを自動的に更新します。

Webhook用のコネクタ資格情報を最初に設定することを忘れないでください。

  1. Webhook設定ページから以下のNQL条件を入力します。 他の例については、Webhook NQL条件の設定ドキュメントを参照してください。

リモートアクション用のNQL条件

remote_action.executions
| where internal_source == "Amplify" 
  And external_reference != "undefined" 
  And external_source == "SNOW-Incident" 
  And status == in_progress 
  and remote_action.nql_id != "undefined"
| list 
  remote_action.name , 
  remote_action.execution.request_time, 
  remote_action.execution.account_name, 
  remote_action.execution.external_reference

ワークフロー用のNQL条件

workflow.executions
| where internal_source == "Amplify" 
  And external_reference != "undefined" 
  And external_source == "SNOW-Incident" 
  And status == in_progress 
  and workflow.nql_id != "undefined"
| list 
  workflow.name , 
  workflow.execution.request_time,  
  workflow.execution.external_reference
  1. 事前に設定していたコネクタ資格情報を選択します。

  2. プルダウンからPATCHオプションを選択します。

  3. リソースフィールドに以下のAPIを挿入します。

リモートアクション用のリソースAPI

api/now/v1/table/incident/{{remote_action.execution.external_reference}}

ワークフロー用のリソースAPI

api/now/v1/table/incident/{{workflow.execution.external_reference}}

{{remote_action.execution.external_reference}}{{workflow.execution.external_reference}}は、Amplify拡張からリモートアクションやワークフローがトリガーされるときに自動的にServiceNowのチケット参照で埋められます。

より多くの情報は、このページの下部にあるF.A.Qセクションを参照してください。

  1. Payloadを挿入し、次のメッセージ例を使用します:

リモートアクション用のPayload

{"work_notes": "Amplifyのユーザー{{remote_action.execution.account_name}}からこのチケットのためにトリガーされたリモートアクション{{remote_action.remote_action.name}}。時刻{{remote_action.execution.request_time}}に実行しました。"}

ワークフローのPayload

{"work_notes": "このチケットに対してAmplifyからトリガーされたワークフロー{{workflow.workflow.name}}が時刻{{workflow.execution.request_time}}に実行されました。"}
  1. 初めての設定では、テストを行わずにWebhookを保存し、Amplifyのドキュメントを参照してAmplifyからのリモートアクションやワークフローをServiceNowで実行し、Webhookが適切に機能するか確認してください。

  • リモートアクションやワークフローをAmplifyからServiceNowでトリガーして、リソースプレースホルダー{{....}}にインシデント参照値を作成するまでは、Send testは正常にWebhookをテストしません。

  • F.A.Q sectionを参照してServiceNowからインシデントのremote_action.execution.external_referenceまたはworkflow.execution.external_reference値を手動で取得し、Webhookの設定をテストしてください。

NexthinkインスタンスをWebアプリケーションと統合するためのAmplifyの設定および、構成詳細をレジストリ経由でデプロイするための方法を学習するには、Amplifyのインストールおよび設定ガイドを参照してください。

リモートアクションやワークフローが完了したら、ServiceNowを更新

NexthinkでWebhookを設定し、完成したリモートアクションまたはワークフローの結果詳細でServiceNowのインシデントチケットログを自動的に更新します。

Webhook用のコネクタ資格情報を最初に設定することを忘れないでください。

  1. Webhook設定ページから以下のNQL条件を入力します。 他の例については、Webhook NQL条件の設定ドキュメントを参照してください。

リモートアクション用のNQL条件

remote_action.executions
| where internal_source == "Amplify" 
  And external_reference != "undefined" 
  And external_source == "SNOW-Incident" 
  And status in [failure, success , expired] 
  and remote_action.nql_id != "undefined"
| list remote_action.name , 
  remote_action.execution.request_time, 
  remote_action.execution.time, 
  remote_action.execution.status, 
  remote_action.execution.status_details, 
  remote_action.execution.inputs, 
  remote_action.execution.outputs, 
  remote_action.execution.account_name, 
  remote_action.execution.external_reference

ワークフロー用のNQL条件


workflow.executions
| where internal_source == "Amplify"
 And external_reference != "undefined" 
 And external_source == "SNOW-Incident" 
 And status in [failure, success, expired, cancelled] 
 And workflow.nql_id != "undefined"
| list workflow.name ,
 workflow.execution.request_time, 
 workflow.execution.time, 
 workflow.execution.status, 
 workflow.execution.status_details, 
 workflow.execution.inputs, 
 workflow.execution.outcome, 
 workflow.execution.external_reference
  1. 事前に設定していたコネクタ資格情報を選択します。

  2. プルダウンからPATCHオプションを選択します。

  3. リソースフィールドに以下のAPIを挿入します。

リモートアクション用のリソースAPI

api/now/v1/table/incident/{{remote_action.execution.external_reference}}

ワークフロー用のリソースAPI

api/now/v1/table/incident/{{workflow.execution.external_reference}}

{{remote_action.execution.external_reference}}{{workflow.execution.external_reference}} は、Amplify拡張からリモートアクションやワークフローがトリガーされるときに自動でServiceNowのチケット参照で埋められます。

より多くの情報は、このページ下部のF.A.Q セクションを参照してください。

  1. Payloadを挿入し、次のメッセージ例を使用します:

リモートアクションのPayload

{"work_notes":"リモートアクション{{remote_action.remote_action.name}}のステータスは以下の通りです。 Amplifyユーザー{{remote_action.execution.account_name}}からこのチケットにトリガーされています。\n リクエスト時刻:{{remote_action.execution.request_time}} \n 実行時刻:{{remote_action.execution.time}} \n ステータス:{{remote_action.execution.status}} \n ステータス詳細:{{remote_action.execution.status_details}} \n 入力:{{remote_action.execution.inputs.format(text)}} \n 出力:{{remote_action.execution.outputs.format(text)}}"}

ワークフローのPayload

{ "work_notes": "ワークフロー{{workflow.workflow.name}}のステータスは以下の通りです。Amplifyからこのチケットにトリガーされています。リクエスト時刻:{{workflow.execution.request_time}} 実行時刻:{{workflow.execution.time}} ステータス:{{workflow.execution.status}} ステータス詳細:{{workflow.execution.status_details}} 入力:{{workflow.execution.inputs}} 結果:{{workflow.execution.outcome"}}} 
  1. 初めての構成の場合、テストを行わずにWebhookを保存し、Amplifyのドキュメントを参照してAmplifyからのリモートアクションをServiceNowで実行し、Webhookが正常に機能するか確認します。

  • リモートアクションをAmplifyからServiceNowでトリガーして、リソースプレースホルダー{{...}}のインシデント参照値を作成するまでは、Send testはWebhookを成功裏にテストしません。

  • F.A.Q セクションを参照して、ServiceNowのインシデントremote_action.execution.external_referenceまたはworkflow.execution.external_reference値を手動で取得し、Webhookの構成をテストしてください。

NexthinkインスタンスをWebアプリケーションと統合するためのAmplifyの設定および、構成詳細をレジストリ経由でデプロイする方法を学習するには、Amplifyのインストールおよび設定ガイドを参照してください。


F.A.Q

AmplifyがServiceNowのインシデントまたはインタラクションログを更新しているかどうかを確認する方法は?

Amplifyのドキュメントは、Amplify拡張を使用してServiceNowのログでリモートアクションやワークフローを登録する方法を説明しています。 それは、このページに記載されたWebhook設定に従った後です。

リソースフィールド内の{{remote_action.execution.external_reference}}および {{workflow.execution.external_reference}}プレースホルダーの値は何ですか?

AmplifyのWebhookプロセスは、Amplifyが事前に定義されたServiceNow URLを読み取り、チケットのsys_idとタイプ(インシデントまたはインタラクション)を見つけるために一致させ、ServiceNowのURLからexternal_reference値を取得することから構成されます。

次に、Amplifyはこのexternal_reference値とremote_actionまたはworkflow情報をNexthinkプラットフォームに送信し、Webhookがこれらの値を使用してWebhook _Resource_プレースホルダー、例: {{remote_action.execution.external_reference}}を置き換えます。

ServiceNowのremote_action.execution.external_reference値を手動で取得してWebhookの構成をテストする方法は?

ServiceNowブラウザページからAmplifyでリモートアクションを実行した後:

  1. ServiceNowインシデントまたはインタラクションURLからexternal_referenceを取得します。

  • ワークスペースビューでのURL例:

  • クラシックビューでのURL例:

NexthinkのWebhook設定ページから:

  1. リソースプレースホルダー{{remote_action.execution.external_reference}}をServiceNow URLから手動で取得したexternal_referenceに置き換えます。 たとえば:

api/now/v1/table/incident/32dd789083xxxxxxxxxxxxxxxxxxxxx
  1. Webhook設定を確認するためにテストを送信します。 テストが成功したことを確認した後、正しいプレースホルダーでリソースを置き換え、Save webhookしてください:

api/now/v1/table/incident/{{remote_action.execution.external_reference}}

ServiceNowのインシデントやインタラクションsys_idをNexthinkプラットフォームで見るにはどうすればいいですか?

このページに記載されたWebhook設定に従い、ServiceNowでAmplify拡張を使用してリモートアクションを実行した後、NexthinkのInvestigationsページから対応するNQLクエリを実行してチケットsys_idを取得してください。

External referenceの下でsys_idを見つけ、External sourceの下でチケットタイプを見つけます( external_source== "SNOW-Incident"またはexternal_source== "SNOW-Interaction")。

Checking ServiceNow incident or interaction ID in the Nexthink platform.

関連トピック

Last updated

Was this helpful?