Amplify からの ServiceNow 更新

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

設定に基づいて、リモートアクションまたはワークフローが以下の条件でトリガーされた時に自動更新が行われます:

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

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

このページのコードサンプルは、以下のようにServiceNowのインタラクションにも適用できます。

WebhookのNQL条件においてexternal_source== "SNOW-Incident"external_source== "SNOW-Interaction"に置き換える。

WebhookのResourceフィールドにおいて/table/incident//table/interactions/に置き換える。

ServiceNowのコネクタ資格情報の設定

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

  1. プロトコルのドロップダウンからHTTPSオプションを選択します。

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

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

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

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

ウェブフックを設定する

次のセクションでは、ServiceNowを更新するための2つのシナリオについて詳しく説明します。 それぞれのシナリオの手順は非常に似ており、リモートアクションやワークフローに対応したNQL条件とペイロードが異なるだけで、指定されたシナリオに依存します。

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

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

ウェブフックのために、まずコネクタクレデンシャルを設定することを覚えておいてください。

  1. ウェブフック設定ページから、以下に示すNQL条件を挿入してください。 詳しくは、ウェブフック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. ペイロードを挿入し、以下のメッセージ例を使用してください:

リモートアクション用のペイロード

{"work_notes": "Amplifyユーザー {{remote_action.execution.account_name}} によりリモートアクション {{remote_action.remote_action.name}} がこのチケットのために{{remote_action.execution.request_time}}にトリガーされました"}

ワークフロー用の ペイロード

{"work_notes": "Amplifyからこのチケットのためにトリガーされたワークフロー {{workflow.workflow.name}} について以下のように結果が表示されました。 リクエスト時間: {{workflow.execution.request_time"}}} 
  1. 初回構成の際はテストを行わずにウェブフックを保存し、Amplifyのドキュメントを参照してAmplifyからServiceNowにリモートアクションまたはワークフローを実行し、ウェブフックが正常に機能するか確認してください。

    • リソースプレースホルダー {{....}} のインシデント参照値を作成するために、AmplifyからServiceNowにリモートアクションまたはワークフローをトリガーしない限り、テストを送信してもウェブフックのテストは成功しません。

    • ServiceNowから手動でインシデントremote_action.execution.external_reference または workflow.execution.external_reference の値を取得し、ウェブフック設定をテストするためには、F.A.Q sectionを参照してください。

NexthinkとWebアプリケーションの統合とWebhookの設定の詳細については、 Amplifyインストールと設定ガイド をご覧ください。

リモートアクションまたはワークフローが完了したときにServiceNowを更新する

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

ウェブフックのために、まずコネクタクレデンシャルを設定することを覚えておいてください。

  1. ウェブフック設定ページから、以下に示すNQL条件を挿入してください。 詳しくは、ウェブフック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.executions.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. ペイロードを挿入し、以下のメッセージ例を使用してください:

リモートアクション用のペイロード
@{ "work_notes": "Amplifyユーザー {{remote_action.execution.account_name}} によりリモートアクション {{remote_action.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.as(format=text)}}”}

"work_notes"as(format = text)関数を含めることで、リモートアクションの出力を読みやすい形式で表示します。

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

    • リソースプレースホルダー{{....}}のインシデント参照値を作成するためにServiceNowでAmplifyからリモートアクションをトリガーしない限り、テストを送信してもウェブフックのテストは成功しません。

    • ServiceNowから手動でインシデントremote_action.execution.external_reference または workflow.execution.external_reference の値を取得し、ウェブフック設定をテストするためには、F.A.Q sectionを参照してください。

NexthinkとWebアプリケーションの統合とWebhookの設定の詳細については、 Amplifyインストールと設定ガイド をご覧ください。


F.A.Q

AmplifyがServiceNowでインシデントまたはやりとりログを更新したかどうか確認するにはどうすればよいですか?

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

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

Amplifyウェブフックのプロセスには、Amplifyが事前定義されたServiceNowのURLのセットを読み、チケットsys_idとタイプ(インシデントかやりとりか)を特定することでServiceNowのURLからexternal_reference値を取得することが含まれます。

その後、Amplifyはこのexternal_reference値とremote_actionまたはworkflow情報をNexthink Platformに送信し、ウェブフックがこれらの値を使用してウェブフックリソースプレースホルダー、例:{{remote_action.execution.external_reference}}を置き換えます。

ウェブフック設定をテストするため、ServiceNowのremote_action.execution.external_reference値を手動で取得するにはどうすればよいですか?

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

  1. ServiceNowインシデントまたはやりとりのURLからexternal_referenceを取得します。 &#x20

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

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

Nexthink ウェブフック設定ページから:

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

api/now/v1/table/incident/32dd789083xxxxxxxxxxxxxxxxxxxxx
  1. テストを送信して、ウェブフック設定を確認します。 テストが成功したことを確認した後、リソースを正しいプレースホルダーに置き換え、ウェブフックを保存します。

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

NexthinkプラットフォームでServiceNowのインシデントまたはやりとりsys_idを確認する方法はありますか?

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

外部参照の下にsys_idを、外部ソースの下にチケットタイプを見つけます(external_source== "SNOW-Incident"またはexternal_source== "SNOW-Interaction")。


関連トピック:

Last updated