バージョン:Orlando, Paris
アップデートセットとは(ServiceNowでは「更新セット」を訳されている)
アップデートセットとはServiceNowインスタンスで変更した内容を別インスタンスにコピーする機能である。スクリプトやシステム設定などはコピーされるが、データは含まれないので別途に複写する必要がある。
基本の流れは次の通りである:
- アップデートセットを作成
- インスタンスを変更する(フォーム、レポート、スクリプトの作成など)
- アップデートセットをエクスポートする
- 別のServiceNowインスタンスにアップデートセットをインポートする
オーランドからの新機能
オーランドより前のServiceNowバージョンではインスタンスをクローンする前に処理中アップデートセットをのスタータスを「完了」にした。オーランドからは処理中のアップデートセットもクローンできるようになりました。
- アプリケーションナビゲータから「システムクローン」を検索
2.システムクローン下の「クローンの要求」を選択
3.表示されるページの右下の「>」をクリック
4.項目「進行中の更新セットを保存」を「過去90日間」を選択
ベストプラクティス
次は米ServiceNowフォーラムに挙げられているベストプラクティスを集めたものである。実際の開発現場により内容が異なる場合もあります。
- 開発手順を明確にする
- アップデートセットをどのように作成し、どのような内容を含めるかを開発者全員に明確にする
- 多くのアップデータセットを適用する場合はServiceNowのアップデートセットバッチ機能を利用する
- ユーザストーリ毎にアップデートセットを作成する
- 機能毎にインポートしてテスト及び本番インスタンスへの導入をできるようにする
- 変更内容が多い場合はアップデートセットを分ける
- アップデートセットを修正する必要がある場合もあります。アップデートセットが大きいと修正に時間が掛かり、失敗する可能性も高くなる
- 他の人とアップデートセットを共有しない
- 原則として一つのアップデートセットは一人の開発者が作成する
- 数人で一つのアップデートセットを作成すると内容の整合性が取れなくなる場合もある
- アップデートセットの責任者を明確にする
- 同じバージョンのインスタンス間でアップデートセットをインポート/エクスポートする
- ServiceNowの異なるバージョンは100%互換性がないため、バージョンが異なるとインポートに失敗する可能がある
- アップデートセットを結合しない
- アップデートセットの大きさを小さくするために結合せず、アップデートセットの適用順を明確にする
- アップデータセット用の命名ルールを作成する
- インポートする順番を分かりやすくするためにアップデートセット名に連番を含める
- アップデートセットを修正する場合は、リビジョン番号を名前に含める
- アップデートセットを作成したインスタンスが分かるようにする
- スプリントが分かるようにする
- 開発者が分かるようにする
- 説明を記述する
- アップデートセットの説明に変更内容やインポート後に行う作業手順を記述する
- バッグフィックスなどの場合は関連するインシデント番号なども記述する
- アップデートセットに含めるフロー及びワークフローは公開しておく
- 公開されていないフロー及びワークフローはアップデートセットに含まれない
- 別インスタンスにインポートする前に公開するのを忘れたことに気が付いた場合は、アップデートセットのステータスを「処理中」に戻して、当該フロー及びワークフローを公開する。この場合はアップデートセットのリビジョンを上げる
- アップデートセットの内容を確認する
- プレビューして内容を確認する
- 他顧客情報が含まれていないことを確認する。
- テスト用に作成されたフォームなど不要な要素はアップデートセットから削除する
- デバッグ内容が含まれていないか確認する(例:gs.info)
- sys_idがハードコードされていないことを確認する。データは別途にインポートされるので異なるsys_idが振られる場合がある
- 更新内容を削除しない
- 不要の変更は削除せず、デフォルトアップデートセットに移動する
- 週末や祭日などServiceNowが使われてなく、時間の余裕がある時間帯にアップデートセットをインポートする
- インポートに失敗する場合もあります。また、十分にテストする時間を設ける
- アップデートセットもバックアップする
- アップデータセットを直接修正する場合もあります。フォームなどを同じようにアップデートセットもリビジョン管理とバックアップをとり、履歴が残るようにする
- アップデートセットに含めるデータは最小限するする
- テーブルレコードに属性「update_synch=true」を設定するとそのレコードはアップデートセットに含まれる
- アップデートセットの大きさを小さくするために出来る限りデータはデータエクスポート/インポート機能を利用してアップデートセットには含めない