プロパティ API - ServiceNow Fluent

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • プロパティ API には、システムプロパティ [sys_properties] を定義するオブジェクトが含まれます。

    Property オブジェクト

    アプリケーションのアスペクトを構成するためのシステムプロパティ [sys_properties] を追加します。

    表 : 1. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。次の形式で提供されるメタデータオブジェクトの一意の ID。ここで、<value> は文字列または数値です。
    $id: Now.ID[<value>]

    アプリケーションをビルドすると、この ID は一意の sys_ID にハッシュされます。

    name 文字列 必須。<scope>.<name> 形式の、アプリケーションスコープで始まるプロパティの名前。
    value 任意 プロパティの値。値は正しいデータタイプである必要があります。

    プロパティ値はすべて文字列として格納されます。gs.getProperty() メソッドを使用してプロパティを取得する場合は、結果を文字列として扱います。たとえば、true | false プロパティでは、相当するブール値ではなく、「true」または「false」の文字列が返されます。

    type 文字列 プロパティ値のデータタイプ。

    有効な値:string、integer、boolean、choicelist、color、date_format、image、password、password2、short_string、time_format、timezone、uploaded_image

    description 文字列 プロパティの機能の説明。
    choices アレイ 選択肢値のカンマ区切りリスト。このプロパティは、type プロパティが choicelist に設定されている場合にのみ適用されます。

    別の選択肢ラベルと値が必要な場合は、等号 (=) を使用してラベルと値を区切ります。たとえば、['Blue=0000FF', 'Red=FF0000', 'Green=00FF00'] とすると、リストにが表示され、対応する 16 進値がプロパティ値のフィールドに保存されます。

    roles オブジェクト Role オブジェクトの変数識別子、またはプロパティへの読み取りまたは書き込みアクセス権を持つロールの名前。詳細については、「ロール API - ServiceNow Fluent」を参照してください。
    roles: {
       read: [activity_admin, 'app_user'],
       write: [admin]
    }
    ignoreCache ブーリアン プロパティの値が設定されたときに、フラッシュをキャッシュするかどうかを示すフラグ。

    構成設定のためにデータベースが照会されないように、システムプロパティ値はサーバー側のキャッシュに保存されます。システムプロパティの値を変更すると、システムプロパティ [sys_properties] テーブルのキャッシュがフラッシュされます。このフィールドを使用して、このプロパティの値を他のすべてのサーバー側キャッシュからフラッシュするかどうかを決定します。

    有効な値:
    • true:システムは一部のサーバー側キャッシュのフラッシュを無視し、システムプロパティ [sys_properties] テーブルのキャッシュのみをフラッシュし、他のすべてのキャッシュの前のプロパティ値を保持します。このオプションにより、すべてのキャッシュをフラッシュして新しいプロパティ値を取得する際のパフォーマンスコストが回避されます。通常、システムプロパティが月に 1 回より頻繁に変更され、プロパティ値がシステムプロパティ [sys_properties] テーブルにのみ保存される場合に限り、このプロパティを true に設定する必要があります。
    • false:システムはすべてのサーバー側キャッシュをフラッシュし、データベースから現在のプロパティ値を取得します。すべてのキャッシュで現在のプロパティ値を保持するには、このプロパティを false に設定します。

    デフォルト値:false

    isPrivate ブーリアン 更新セットを介したインポートからプロパティを除外するかどうかを示すフラグ。

    システムプロパティを private にすると、あるインスタンスの設定が別のインスタンスの値を上書きすることを防ぎます。たとえば、開発インスタンスのシステムプロパティに本番インスタンスと同じ値を使用したくない場合に使用します。

    有効な値:
    • true:プロパティは更新セットに含まれてません。
    • false:プロパティは更新セットに含まれます。

    デフォルト値:false

    import { Property } from '@servicenow/sdk/core'
    
    Property({
       $id: Now.ID['1234'],
       name: 'x_snc_app.some.new.prop',
       type: 'string',
       value: 'hello',
       description: 'A new property',
       roles: {
          read: ['admin'],
          write: [adminRole, managerRole],
       },
       ignoreCache: false,
       isPrivate: false,
    })
    参照されるロールは、Role オブジェクトを使用して定義されます。
    import { Role } from "@servicenow/sdk/core";
    
    const managerRole = Role({ 
       $id: Now.ID['manager_role'], 
       name: 'x_snc_example.manager' 
    })
    
    const adminRole = Role({ 
       $id: Now.ID['admin_role'], 
       name: 'x_snc_example.admin', 
       contains_roles: [managerRole] 
    })