※この記事はServiceNow初心者が学習用のために記載した記事です。内容について誤っている場合がございます。不足点などございましたらコメントいただけますと幸いです。
前提知識
- Customer Updates(sys_update_xml)テーブルとは
- sys_update_xmlテーブルは、ServiceNow 内の更新セット (Update Set) に関連する変更を管理するテーブル
- フォームやスクリプト、ビジネスルールなどのカスタマイズが加えられると、その変更がこのテーブルに記録される
payloadフィールドとは
- 更新内容の XML データが格納される
- payload は、変更されたレコード(スクリプト、UI ポリシー、カスタムアクションなど)の XML 形式のデータ を保存するフィールド
- XML データには、変更前後の情報や関連するメタデータが含まれる
payload フィールドの内容
- ServiceNow で Incident レコード (incident テーブル) が更新された場合
- 更新内容
- number: INC0010023
- short_description: "ユーザーがVPN接続できない"
- state: New (1) → In Progress (2)
- assigned_to: John Doe (sys_id: abc123def456)
- この場合、payload は以下のような XML になる
<record_update>
<update>
<table>sys_script</table>
<sys_id>1234567890abcdef</sys_id>
<action>UPDATE</action>
<record>
<sys_name>MyCustomScript</sys_name>
<script>
var myVar = "Hello, ServiceNow!";
gs.info(myVar);
</script>
</record>
</update>
</record_update>
payload の構造
XML タグ | 説明 |
---|---|
<table> |
更新対象のテーブル名 (incident ) |
<sys_id> |
変更された incident レコードの sys_id
|
<action> |
UPDATE (更新) |
<record> |
レコードのフィールド値 |
<number> |
インシデント番号 |
<short_description> |
短い説明 |
<state> |
インシデントのステータス (1: New , 2: In Progress , 3: Resolved など) |
<assigned_to> |
sys_id 形式の担当者 |
<sys_updated_by> |
更新を実行したユーザー |
<sys_updated_on> |
更新日時 |