Interested in a ServiceNow event built for developers? Registration for now[dev]26 is officially open!

JunshuO
ServiceNow Employee

 
皆様、こんにちは。
 
Vancouver リリースで、ServiceNow はアップグレードセンターに 「スキップされたレコードルール」 を導入しました。ホットフィックス/パッチ/アップグレード後にスキップされた更新に取り組む際に非常に便利な追加機能のようです。スキップされたレコードルールは ServiceNow のエコシステムではまだあまり注目されていなかったため、深掘りしていきましょう。
 
スキップされた更新
ホットフィックス/パッチ/アップグレード後の「スキップされた更新」の処理は、誰もが好んで行う作業ではないかもしれません :grinning_face_with_sweat: 。大規模/古いインスタンスや適切なガバナンスが欠けているインスタンスでは、スキップされた更新の数がリリースごとに数百、あるいは数千に上ることがあります。理論的には、これらすべてを処理することが望ましいですが、これは時間のかかるタスクになる可能性があり、すべての ServiceNow アドミニストレーターまたは開発者がこのタスクを実行できるわけではありません。ここで、スキップされたレコードルールがお役に立つかもしれません。
 
まず、「スキップされた更新」とは何かについて、少しおさらいしてみましょう。以下に、 ServiceNow から見つけることができる説明の1つを示します。
「スキップされた変更とは、Now Platform® インスタンスに変更 (構成やカスタマイズなど) を行い、ServiceNow® が新しいリリース (Orlando から Paris など) の一部として同じレコードを更新した場合に作成されるレコードです。ServiceNow のアップグレードでは、お客様が行った変更が上書きされることはありません。そのため、スキップされた変更を確認し、ベースに戻すか、マージするか、変更を保持するかを決定する必要があります。インスタンスでスキップされた変更を生成する可能性のある機能強化を特定するために、アップグレード前にリリースノートを確認してください。」
 
お客様が変更したことを認識していなくても、何らかの理由で顧客による更新と見なされるレコードについても、スキップされた変更が発生する点にご留意ください。
 
アップグレードセンターでアップグレードモニターを表示すると (アップグレードセンター > アップグレードモニター、または `upgrade_monitor.do`) 、「 * へのアップグレードでスキップされたレコード 」というセクションに、前回のホットフィックス/パッチ/アップグレードで発生したスキップされたレコードの概要が表示されます。以下のようになります。
 
Skipped Record Rules 01.png
 
Vancouver リリース以降、左下にスキップされたレコードルールを参照する新しいリンクが表示されます。
 
スキップされたレコードルール
Vancouver リリースで、ServiceNow はアップグレードセンターにスキップされたレコードルールを導入しました。スキップされたレコードルールは、 ServiceNow から次のように説明されています: 「設定された条件に基づいてスキップされたレコードルールを作成し、アップグレード後のカスタマイズを定義します。」
 
ホットフィックス/パッチ/リリース後、スキップされたレコードルールが自動的に実行されます。いずれかのスキップされたレコードルールの条件に一致するレコードがある場合、それらのスキップされたレコードは、そのルールで定義された条件に従って処理されます。スキップされたレコードルールは、アクションを自動的に更新したり、コメントを追加したりできます。
 
ServiceNow は、標準で4つの非アクティブなスキップされたレコードルールを追加しています。スキップされたレコードルールは、 「`sys_upgrade_skipped_record_rule`」 テーブルに保存されます。標準で提供されるスキップされたレコードルールの一例を以下に示します。
 
Skipped Record Rules 03.png
 
スキップされたレコードルールの作成
スキップされたレコードルールの作成はそれほど複雑ではありませんし、以下の最初の例に示すように、必ずしも複雑である必要はありません。この例では、リリース中に頻繁に更新されるシステムプロパティのいくつかがリストされています。私のお客様の何社かでは、これらのシステムプロパティがほぼすべてのリリースで同じアクションで繰り返し処理される経験をしてきました。スキップされたレコードルールを作成するのに最適な例と言えるでしょう。
 
Skipped Record Rules 04a.png
 
使用可能なアクションは、次のとおりです。
- 自分の変更を保持
- 元に戻して非アクティブのままにする
- スキップされたレコードをユーザーにアサインする
- スキップされたレコードにタグをアサインする
 
より複雑なスキップされたレコードルールを作成することが可能です。アップグレード時には、顧客インスタンスで意図的に非アクティブ化された通知がスキップされたレコードとして発生することがよくあります。このようなスキップされたレコードの確認と対処に時間を費やすのは非効率的であるため、スキップされたレコードルールを作成しましょう。条件のノーコードオプションは限られていますが、コードを使用できます。以下は、クライアント呼び出し可能スクリプトインクルードで定義されたロジックを適用する例です。これは、すべての非アクティブな通知を取得するロジックであり、これによりスキップされたレコードルールが顧客インスタンス上の非アクティブな通知に関連するスキップされたレコードを自動的に処理するようになります。
 
Skipped Record Rules 04.png
 
クライアント呼び出し可能スクリプトインクルード:
var UpgradeMonitorUtilAjax = Class.create();
UpgradeMonitorUtilAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {

	getListDeactivatedNotifications: function() {
		var TableName = 'sysevent_mail_action',
		EncodedQuery = 'active=false^sys_updated_by!=admin^sys_updated_by!=fred.luddy';

		var grRecord = new GlideRecord(TableName);
		grRecord.addEncodedQuery(EncodedQuery);
		grRecord._query();

		var recordArr = [];
		while(grRecord._next()) {
			recordArr.push(TableName + '_' + grRecord.getUniqueValue());
		}

		return recordArr;
	},

});
 
これはあくまで一例です。安易にコピー&ペーストするのではなく、それが適用可能であり、お使いのインスタンスに適用することが適切かどうかを判断してください。
 
スキップされたレコードルールの実行
スキップされたレコードルールを初めて適用しテストできるのは、次のホットフィックス/パッチ/アップグレードの時だと思っていました。しかし幸いなことに、そうではありませんでした。実は私も最初はこの点を見落としていました :grinning_face: 。スキップされたレコードルールを手動で実行することは可能です。スキップされたレコードルールのリストを表示する際 (特定のルールを表示するのではなく) 、使用可能なアクションの1つは 「今すぐ実行」 です。
 
Skipped Record Rules 05.png
 
スキップされたレコードルール履歴
スキップされたレコードルールの履歴についても、分かりやすい概要が提供されています。これは、 「`sys_skipped_record_rule_history`」 テーブルで確認できます。
 
結果
スキップされたレコードルールを導入すると、ホットフィックス/パッチ/アップグレード後には、アップグレードセンターのアップグレードモニターに、スキップされたレコードの一部が自動的に処理されたことが直ちに表示されることが期待されます。私のお客様の1社では、Washington DC Patch 0 へのアップグレードにおいて、91件のスキップされた更新のうち55件を自動的に処理することに成功しました。
 
Skipped Record Rules 99.png

---

 

以上となります。お役に立てれば幸いです。 ご質問やご意見がございましたら、お気軽にお知らせください。

 

C

この内容がお役に立ちましたら、 ブックマーク していただくか、「 役に立つ 」とマークしていただけると幸いです。

 

私が共有/参加した記事、ブログ、ビデオ、ポッドキャスト、共有プロジェクトにもっと興味がありますか?
- 記事、ブログ、ビデオ、ポッドキャスト、プロジェクトの共有 - 現場の経験

 

よろしくお願いいたします。


マーク・ロートフ

独立系 ServiceNow コンサルタント
9x ServiceNow MVP

---

リンクトイン


この記事は機械翻訳されております。最新は元となる記事をご覧ください: https://www.servicenow.com/community/upgrades-and-patching-articles/exploring-upgrade-center-skipped...

免責事項: 一部の日本語は、翻訳ソフトウェアを使用してお客様の便宜のために翻訳されています。正確な翻訳をご提供できるよう相当な努力を払っておりますが、いかなる自動翻訳も人間の翻訳者に代わすることはなく、そのようなことは意図されておりません。翻訳は「現状のまま」提供されています。他言語への翻訳の的確性、信頼性または正確性については、明示または黙示を問わず、いかなる保証も行われません。翻訳ソフトには限界があるため、一部のコンテンツが正確に翻訳されていない場合があります。これらの資料の公用言語は英語です。翻訳の際に生じる相違または不一致は、コンプライアンスまたは履行の目的に関しては拘束力を有さず、法的効力はないものとします。