1. はじめに
こんにちは。株式会社ウイズ・ワン、ServiceNow担当のY-Kです。
本記事ではServiceNowのインスタンス間リリース機能である、Update Set(更新セット) について、
基本的な利用方法と使用時のよくあるトラブル・その対応について説明します。
本記事は2024/12/27時点での情報となります。
2. Update Setとは
Update Set(更新セット) とは、ServiceNow上のカスタマイズ内容を記録し、
他インスタンスへ移行するための機能です。
開発インスタンスにて開発/改修を行ったアプリケーションをテスト/本番インスタンスへ
リリースする際等に使用します。
3. Update Setへ記録可能なレコード
Update Setに記録(他インスタンスへ移行)できるレコードには制限があります。
Update Setへ記録されるレコード
各種カスタマイズ系のレコード
Update Setへ記録されるレコード例
・テーブル[sys_db_object]
・ロール[sys_user_role]
・ビジネスルール[sys_script]等のスクリプト系
Update Setへ記録されないレコード
各種データ系のレコード
Update Setへ記録されないレコード例
・インシデント[incident]等のタスク系レコード
・ユーザー[sys_user]
・ログエントリ[syslog]
よく勘違いされるレコード
よくある間違いとして以下のレコードはUpdate Setに記録されないため、注意が必要です。
Update Setへ記録されない
・ダッシュボード[pa_dashboards]
・スケジュール済みジョブ[sysauto]
・ナレッジベース[kb_knowledge_base]
確実なUpdate Set移行のためには、Update Setの記録内容は詳細に確認するようにしましょう。
4. Update Setの基本的な使用方法
ここでは基本的な利用の流れをご説明いたします。
詳細な使用方法については製品ドキュメントをご参照ください。
手順1:Update Setの作成(移行元インスタンス作業)
System Update Sets > Local Update Set からUpdate Setを作成しましょう。
手順2:Update Setの使用(移行元インスタンス作業)
記録を行うUpdate Setを選択し、開発作業を行いましょう。
開発の完了後、Update Setの『State』を「Complete」に変更しましょう。
手順3:Update Setの転送(移行先インスタンス作業)
System Update Sets>Update SourcesからRemote Instanceを作成しましょう。
Remote Instanceレコードの作成後、
『Retrieve Completed Updadte Sets』ボタンからUpdate Setの取得しましょう。
Update Setの取得が完了すると、
関連リスト『Retrieved Update Sets』に取得したUpdate Setが追加されます。
手順4:Update Setの適用(移行先インスタンス作業)
Update Setの適用を行いましょう。
取得したUpdate Setから『Commit Update Set』ボタンでUpdate Setを適用します。
適用する際、レコードに問題があった場合、
Update Setは適用することができません。
よく発生する問題とその対応方法については以降に説明します。
5. Update Set利用時のよくあるトラブルと解決方法
以下に、Update Setを利用する際によく発生するトラブルとその解決方法について記載します。
5.1. Update Setの記録先を変更したい
Update Setの選択間違いにより、
記録先のUpdate Setが想定とは別のUpdate Setに格納されてしまった場合等、
Update Setの記録先を変更する対応方法になります。
Update Set内の変更記録である、Customer Update[sys_update_xml]レコードの
『Update set』のフィールドを変更することで格納先のUpdate Setを変えることができます。
5.2. Update Set適用時のエラー
以下は、Update Set適用前によく発生するエラーの一部についての説明となります。
・Could not find a record in XXXXXX for column 00000 referenced in this update
参照先のレコードが適用先のUpdate Setにない場合、発生するエラーとなります。
対応1:参照先レコードを適用に含める場合
移行元インスタンスのUpdate Setの内容を確認/修正し、
移行先インスタンスにてUpdate Set削除/再転送しましょう。
対応2:移行先インスタンスに変更を適用しない場合
『Available Actions』の『Skip remote update』を選択しましょう。
対応3:エラーを無視して適用する場合
『Available Actions』の『Accept remote update』を選択しましょう。
・Could not find a record in XXXX for column OOOO referenced in this update, but did find it in another uncommitted update set
参照先のレコードが適用先のUpdate Setにないが、他のUpdate Setに含まれている場合、
発生するエラーとなります。
対応1:上記「Could not find a record in XXXXXX for column 00000 referenced in this update」と同じ対応方法をとる
対応2:他のUpdate Setを先に適用する場合
『Available Actions』の『Show uncommitted update set』から参照先が記録されている
Update Setを確認し、そちらのUpdate Setを適用後、
エラーが発生していたUpdate Setにて『Run Preview Again』ボタンから、
エラー状況の再確認を実施しましょう。
6. まとめ
Update Setについて、その基本と使用時のよくあるトラブルについて紹介してまいりました。
Update SetはServiceNow開発における、基礎となりますので、
ServiceNowを始めたばかりの方は正しく利用できるようにしましょう。
株式会社ウイズ・ワン ServiceNow担当Y-K