Amplify からの ServiceNow 更新
このページでは、Webhooksを使用して、Amplifyから実行されるリモートアクションやワークフローを用いてServiceNowのチケットログを自動更新する方法を紹介します。
設定に基づいて、自動更新は以下の場合に発生できます。
リモートアクションまたはワークフローが起動された時。
リモートアクションまたはワークフローが完了した時。
ServiceNow用のコネクタ資格情報を構成する
コネクタ資格情報設定ページから:
プルダウンからHTTPSオプションを選択します。
インスタンスのURLルート
https://<instancename>.service-now.com/
をURLアドレスフィールドに貼り付けます。
他のURL例については、コネクタ資格情報ドキュメントを参照してください。
https://XXXXXXXXXX.service-now.com/
プルダウンからOAuth 2.0 - クライアント資格情報オプションを選択します。
コネクタ資格情報ドキュメントに従って、アクセストークンURL、クライアントID、クライアントシークレット、スコープフィールドに情報を入力します。
資格情報を保存します。

Webhookを構成する
以下のセクションは、ServiceNowを更新するための2つのシナリオの詳細を示しています。 各シナリオの手順は非常に似ています。同じステップを含みますが、NQL条件やPayloadは、リモートアクションやワークフローに固有のシナリオに依存しています。
リモートアクションまたはワークフローがトリガーされるとServiceNowを更新する
NexthinkでWebhookを設定して、リモートアクションやワークフローがトリガーされたときにServiceNowのインシデントチケットログを自動的に更新します。
Webhook用のコネクタ資格情報を最初に設定することを忘れないでください。
Webhook設定ページから以下のNQL条件を入力します。 他の例については、Webhook NQL条件の設定ドキュメントを参照してください。
NQL条件を入力した後、システムはPayloadのための許可されたプレースホルダーを一覧表示します。
リモートアクション用の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 device.name != null
And user.name != null
And outcome == null
And status == in_progress
and workflow.nql_id != "undefined"
| list
workflow.name ,
workflow.execution.request_time,
workflow.execution.external_reference
事前に設定していたコネクタ資格情報を選択します。
プルダウンからPATCHオプションを選択します。
リソースフィールドに以下の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セクションを参照してください。
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}}に実行されました。"}
初めての設定では、テストを行わずに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の設定をテストしてください。

リモートアクションやワークフローが完了したら、ServiceNowを更新
NexthinkでWebhookを設定し、完成したリモートアクションまたはワークフローの結果詳細でServiceNowのインシデントチケットログを自動的に更新します。
Webhook用のコネクタ資格情報を最初に設定することを忘れないでください。
Webhook設定ページから以下のNQL条件を入力します。 他の例については、Webhook NQL条件の設定ドキュメントを参照してください。
NQL条件を入力した後、システムはPayloadのための許可されたプレースホルダーを一覧表示します。
リモートアクション用の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
事前に設定していたコネクタ資格情報を選択します。
プルダウンからPATCHオプションを選択します。
リソースフィールドに以下の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 セクションを参照してください。
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"}}}
初めての構成の場合、テストを行わずにWebhookを保存し、Amplifyのドキュメントを参照してAmplifyからのリモートアクションをServiceNowで実行し、Webhookが正常に機能するか確認します。
リモートアクションをAmplifyからServiceNowでトリガーして、リソースプレースホルダー
{{...}}
のインシデント参照値を作成するまでは、Send testはWebhookを成功裏にテストしません。F.A.Q セクションを参照して、ServiceNowのインシデント
remote_action.execution.external_reference
またはworkflow.execution.external_reference
値を手動で取得し、Webhookの構成をテストしてください。
F.A.Q
AmplifyがServiceNowのインシデントまたはインタラクションログを更新しているかどうかを確認する方法は?
Amplifyのドキュメントは、Amplify拡張を使用してServiceNowのログでリモートアクションやワークフローを登録する方法を説明しています。 それは、このページに記載されたWebhook設定に従った後です。
リソースフィールド内の{{remote_action.execution.external_reference}}
および {{workflow.execution.external_reference}}
プレースホルダーの値は何ですか?
{{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の構成をテストする方法は?
remote_action.execution.external_reference
値を手動で取得してWebhookの構成をテストする方法は?ServiceNowブラウザページからAmplifyでリモートアクションを実行した後:
ServiceNowインシデントまたはインタラクションURLから
external_reference
を取得します。
ワークスペースビューでのURL例:

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

NexthinkのWebhook設定ページから:
リソースプレースホルダー
{{remote_action.execution.external_reference}}
をServiceNow URLから手動で取得したexternal_reference
に置き換えます。 たとえば:
api/now/v1/table/incident/32dd789083xxxxxxxxxxxxxxxxxxxxx
Webhook設定を確認するためにテストを送信します。 テストが成功したことを確認した後、正しいプレースホルダーでリソースを置き換え、Save webhookしてください:
api/now/v1/table/incident/{{remote_action.execution.external_reference}}
ServiceNowのインシデントやインタラクションsys_id
をNexthinkプラットフォームで見るにはどうすればいいですか?
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"
)。

関連トピック
Last updated
Was this helpful?