従来 - ソースコントロールのコミットのノイズを除去する

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:3分
  • ソースコントロールの開発者は、システムによって自動更新されるフィールドからノイズを受けることなく、Git 分岐を結合できます。

    重要:
    Xanadu リリース以降、ServiceNow スタジオ従来バージョンは将来の廃止に向けて準備されています。これは非表示になり、新しいインスタンスではアクティブ化されなくなりますが、引き続きサポートされます。廃止プロセスの詳細については、Now Support ナレッジベースの廃 止プロセス [KB0867184] の記事を参照してください。

    代わりに、現在のバージョンの ServiceNow スタジオ でアプリをビルドして編集してみてください。詳細については、「ServiceNow スタジオ」を参照してください。

    ノイズ除去の概要

    スタジオ では、ソースコントロール機能はアプリケーションファイルが Git リポジトリにエクスポートされるときに XML ペイロードとしてパッケージ化します。ユーザーがアプリケーション開発ワークフローの一部として Git リポジトリで Git 分岐を結合する場合、そのユーザーは XML ファイル内の競合を解決する必要があります。これらの競合は通常、sys_updated_by などのシステム生成フィールドにあり、ユーザー生成ではない変更を表します。このプロセスではより多くのノイズが発生する可能性があるため、ユーザーはこれらのフィールドの競合を解決するときに注意する必要があります。

    セーバー免除属性

    ソースコントロールに XML ペイロードのノイズを除去する機能が追加され、Git 分岐が結合されたときにユーザーが競合を解決できるようになりました。

    デフォルトでは、システムによって値が自動生成されるテーブル内の特定のフィールドに対して saver_exempt 属性が設定されます。saver_exempt 属性の詳細については、「辞書の属性」を参照してください。

    次のテーブルには、saver_exempt の値が含まれています。

    表 : 1. セーバー免除属性テーブル
    フィールド システムテーブル saver_exempt の値 予想される結果
    • sys_updated_on
    • sys_updated_by
    • sys_mod_count
    • sys_metadata
    • sys_choice
    • sys_package
    • sys_app_customization
    • sys_claim
    • sys_package_dependency_m2m
    exempt_vcs_only Git コミット用にアプリケーションをパッケージ化している間、フィールドはテーブルのレコードの対応する XML 表現に書き込まれません。
    Sys_id
    • sys_dictionary
    • sys_documentation
    • sys_choice
    exempt_vcs_only Git コミット用にアプリケーションをパッケージ化している間、sys_id フィールドは 3 つのテーブルのレコードの XML 表現に書き込まれません。
    loader_exempt = true のフィールド exempt_always loader_exempt が [True] に設定されているフィールドは、インスタンスにロードされません。Git コミット用にアプリケーションをパッケージ化している間、これらはテーブルのレコードの XML 表現に書き込まれません。

    トラッキングプロパティの無効化

    アドミニストレーターは glide.source_control.disable_tracking_of_update_fields を無効にして、ユーザーが生成した値がフィールドに表示されないようにすることができます。

    注:
    次のフィールドは、ソースコントロールのコミット中に XML に書き込まれず、インスタンスの値が Git コミットからロードされます。アドミニストレーターがこれらのフィールドを XML に書き込み、システム生成の値をこれらのフィールドで使用するように設定する場合、アドミニストレーターはプロパティ glide.source_control.disable_tracking_of_update_fields[False] に設定できます。

    次のフィールドは、アドミニストレーターに表示されるシステム生成値です。

    • sys_updated_by = コミットユーザー
    • sys_updated_on = コミット時間
    • sys_mod_count = ゼロ

    テーブルの sys_id フィールド

    テーブルの sys_id フィールドは、対応する「dictionary/<tablename>.xml」に保存され、テーブルの作成時を除いてインスタンスへのインストール中に再生成されないようにします。結果として、テーブルの sys_id を参照する、またはこのテーブルの sys_db_object レコードを表すすべての XML ファイルから、ノイズが低減されます。