Automated Test Framework (ATF) テストで、作成/削除/更新されたレコードがロールバックされないDescription Automated Test Framework (ATF) テストが完了すると、プラットフォームは作成/削除/更新されたレコードをロールバックしますが、ロールバックが行われない場合もあります。 Cause ATF レコードがロールバックされない原因となるシナリオはいくつかあります。 何もロールバックされない。これは、[sys_rollback_context] テーブルにステータスが [In progress] (in_progress) または [Currentlyrolling back reverting] (reverting) のレコードが残っている場合に発生する可能性があります。これにより、プラットフォームはロールバックを実行できなくなります。一部のファイルがロールバックされない。 ATF は、同じセッションで挿入/更新/削除されたレコードのみを追跡します。別のセッション ID でレコード操作されると、その操作は追跡されません (ワークフロー、ジョブスケジュールなど)。例:カスタムワークフローの タイマーオブジェクト は常に「システム」のワーカースレッドで実行されます。このワークフローによって作成されたレコード (タイマーの後) は、ロールバックコンテキストでキャプチャされません。 Resolution1. まず、現在実行中(running )としてマークされているロールバックコンテキストが何も実行していないことを確認する必要があります。ワークアラウンドとしては以下のように、sys_rollback_contextテーブルのstate をrecordedに更新します。これはフォームの [State] フィールドがACLにより読み取り専用となっていますが、ACLをバイパスして、テーブル「sys_rollback_context」を更新します。 fixContextState();function fixContextState() { var gr = new GlideRecord('sys_rollback_context'); gr.get('___SYS_ID_OF_SYS_ROLLBACK_CONTEXT___'); gr.state = 'recorded'; gr.update();} 2. ファイルは ATF ロールバック後も残っているため、sys_created_by ユーザーで識別し、そこから論理的にトレースできます。レコードがワークフローによって作成され、これがタイマーを使用している場合は、Service Management チームに相談して代替可能かどうかを判断します。