サービスカタログ API - ServiceNow Fluent

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:55分
  • サービスカタログ API は、カタログアイテム [sc_cat_item]、レコードプロデューサー [sc_cat_item_producer]、およびサービスカタログの関連要素を定義します。

    注:
    最新の ServiceNow Fluent API ドキュメントと例については、 ServiceNow Fluent API リファレンス および ServiceNow SDK のサンプルリポジトリ ( GitHub)。

    サービスカタログに関する一般的な情報については、「 Service Catalog」を参照してください。

    CatalogItem オブジェクト

    ユーザーがサービスカタログから要求できるカタログアイテム [sc_cat_item] を作成します。

    カタログアイテムは、アイテム要求の実行方法を定義するフロー、ワークフロー、または実行計画を参照する必要があります。

    表 : 1. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    name 文字列 必須。カタログに表示されるアイテムの名前。
    アクティブ ブール アイテムがアクティブで注文可能かどうかを示すフラグ。

    デフォルト:true

    availability 文字列 アイテムが表示されるデバイスのタイプ。
    有効な値:
    • desktopOnly:アイテムはデスクトップデバイスにのみ表示されます。
    • mobileOnly:アイテムはモバイルデバイスにのみ表示されます。
    • both:アイテムはデスクトップとモバイルデバイスの両方に表示されます。

    デフォルト:desktopOnly

    チェックアウト ブール アイテムが編集のためにチェックアウトされているかどうかを示すフラグ。

    デフォルト値:false

    説明 文字列 ユーザーがアイテムまたは関連する プレビュー リンクを選択したときにカタログに表示されるアイテムの詳細な説明。

    ビデオ、画像、社内ナレッジベース (KB) 記事へのリンク、外部情報源や指示書へのリンクを埋め込むことができます。

    メタ アレイ アイテムに関連する検索を支援するために使用されるメタデータタグのリスト。
    注:
    meta プロパティは、Zing テキストインデックス作成と検索エンジンでのみ使用され、AI 検索 には使用されません。
    モデル 参照または文字列 アイテムに関連付けられた製品モデル [cmdb_model] の変数識別子またはsys_id。製品モデルを定義するには、 レコード API - ServiceNow Fluentを使用します。
    順序 番号 カテゴリ内でアイテムが表示される順序。

    デフォルト:0

    所有者 参照または文字列 アイテムを所有し、アイテムへの編集アクセス権を持つユーザー [sys_user] の変数識別子またはsys_id。ユーザーを定義するには、 レコード API - ServiceNow Fluentを使用します。
    ロール アレイ アイテムにアクセスできる ロール オブジェクトまたはロール [sys_user_role] のsys_ids変数識別子のリスト。 詳細については、「 ロール API - ServiceNow Fluent」を参照してください。
    shortDescription 文字列 カタログホームページ、検索結果、および注文フォームのタイトルバーに表示されるアイテムの簡単な説明。
    showVariableHelpOnLoad ブール アイテムにデフォルトで変数ヘルプテキストを表示するかどうかを示すフラグ。

    デフォルト値:false

    startClosed ブール アイテムを折りたたんだ状態で開始するかどうかを示すフラグ。

    デフォルト値:false

    状況 文字列 アイテムの公開ステータス (ドラフトや公開済みなど)。
    variables オブジェクト アイテムを要求するためのオプションを提供する、アイテムの変数定義。各変数タイプには特定の機能があります。たとえば、次のようになります:
    variables: {
        laptopType: SelectBoxVariable({
          question: "Laptop Type",
          choices: {
            standard: { label: "Standard Laptop", sequence: 1 },
            developer: { label: "Developer Workstation", sequence: 2 }
          },
          mandatory: true,
          order: 100
        }),
        justification: MultiLineTextVariable({
          question: "Business Justification",
          mandatory: true,
          order: 200
        })
    }

    カタログ変数に関する一般的な情報については、「 Service catalog variables」を参照してください。

    バージョン 番号 アイテムのバージョン。

    デフォルト値:1

    イメージ 文字列 使用廃止。アイテムの画像。
    アイコン 文字列 カタログのアイテム名の横にアイコンとして表示される画像ファイル。

    27x27 ピクセルの画像を使用します。画像がアップロードされていない場合は、デフォルトのアイコンが表示されます。

    画像 文字列 アイテムの画像として表示する画像ファイル。
    モバイル写真 文字列 モバイルデバイスでアイテムの画像として表示する画像。

    このプロパティは、 mobilePictureType の値が mobilePicture の場合にのみ適用されます。

    mobilePictureType 文字列 モバイルデバイス上のアイテムに表示する画像のタイプ。
    有効な値:
    • desktopPicture: picture プロパティの画像を使用します。
    • mobilePicture: mobilePicture プロパティの画像を使用します。
    • noPicture:アイテムはモバイルデバイスで画像を表示しません。

    デフォルト:desktopPicture

    カートへの追加を非表示 ブール [ カートに追加 ] ボタンを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    ウィッシュリストに追加を非表示 ブール [ ウィッシュリストに追加 ] ボタンを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    配信時間を非表示 ブール 配送時間を非表示にするかどうかを示すフラグ。

    デフォルト値:false

    hideQuantitySelector ブール [ 数量] フィールドを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    ドラフトとして保存を非表示 ブール [ 下書きとして保存 ] ボタンを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    非表示 SP ブール サービスポータルアイテムを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    mandatoryAttachment ブール 要求を送信するために添付ファイルの追加を要求するかどうかを示すフラグ。

    デフォルト値:false

    添付ファイルを非表示 ブール 添付ファイルセクションを非表示にし、添付ファイルの追加をサポートしないかどうかを示すフラグ。

    デフォルト値:false

    assignedTopic アレイ 従業員センターポータルでのアイテムの可視化を制御する既存の分類トピックのsys_idsのリスト。詳細については、「Associate a catalog item with a taxonomy topic in Employee Center」を参照してください。
    注:
    このプロパティは、Employee Experience Taxonomy プラグイン (sn_ect) がアクティブな場合にのみ使用できます。
    利用可能 アレイ アイテムにアクセスできるユーザーを定義するユーザー基準 [user_criteria] のsys_idsのリスト。
    利用不可 アレイ アイテムにアクセスできないユーザーを定義するユーザー基準 [user_criteria] のsys_idsのリスト。

    このプロパティは、 availableFor プロパティを上書きします。

    variableSet アレイ VariableSet オブジェクトの変数識別子のリスト、またはアイテムに添付する変数セット [item_option_new_set] のsys_ids。詳細については、「VariableSet オブジェクト」を参照してください。

    形式: { variableSet, order }

    フロー 参照または文字列 フローオブジェクトの変数識別子、または要求の実行方法を定義するフロー [sys_hub_flow] のsys_id。フローを定義するには、 フロー API - ServiceNow Fluentを使用します。
    注:
    カタログアイテムの実行方法としてフローを使用する必要があります。フローワークフロー、および executionPlan がすべて指定されている場合、システムはフローを使用します。
    executionPlan 参照または文字列 要求の実行方法を定義する実行計画 [sc_cat_item_delivery_plan] の変数識別子またはsys_id。実行計画を定義するには、 レコード API - ServiceNow Fluentを使用します。
    ワークフロー 文字列 アイテム要求の実行方法を定義する従来のワークフロー [wf_workflow] のsys_id。新しい実装には フロー プロパティを使用します。
    アクセスタイプ 文字列 アイテムを要求するために必要なユーザーアクセス権。
    有効な値:
    • restricted:アイテムにアクセスできるユーザーのみがアイテムを要求できます。
    • 委任済み:アイテムへのアクセス権がないユーザーは、委任された要求エクスペリエンスを使用して、他のユーザーの代わりにアイテムを要求できます。詳細については、「Delegated request experience」を参照してください。
    注:
    この機能は、アイテムに要求元変数がある場合にのみ適用されます。

    デフォルト:制限付き

    場所 参照または文字列 アイテムが提供される場所 [cmn_location] の変数識別子またはsys_id。場所を定義するには、 レコード API - ServiceNow Fluentを使用します。
    ベンダー 参照または文字列 アイテムに関連付けられたベンダーの変数識別子またはsys_id。ベンダーを定義するには、 レコード API - ServiceNow Fluentを使用します。
    deliveryPlanScript スクリプト 使用廃止。代わりに executionPlan プロパティを使用してください。
    配送時間 オブジェクト アイテムの配送予定時間。

    形式: deliveryTime: { days: Number, hours: Number })

    エンタイトルメントスクリプト スクリプト アイテムのエンタイトルメントを定義するスクリプト。
    makeItemNonConversational ブール 仮想エージェントなどの会話エクスペリエンスからアイテムを要求できないようにするかどうかを示すフラグ。true の場合、アイテムは会話エクスペリエンスから要求できます。

    デフォルト値:false

    visibleBundle ブール 保存されたバンドルにアイテムが表示されるかどうかを示すフラグ。

    デフォルト:true

    表示ガイド ブール アイテムが注文ガイドに表示されるかどうかを示すフラグ。

    デフォルト:true

    visibleStandalone ブール スタンドアロンビューを表示するかどうかを示すフラグ。

    デフォルト:true

    fulfillmentAutomationLevel 文字列 要求の実行自動化のレベル。
    有効な値:
    • unspecified:アイテムの自動化レベルが指定されていません。
    • manual:カタログアイテムは自動化されていません。
    • 半自動:カタログアイテムは半自動です。
    • fullyAutomated:カタログアイテムは完全に自動化されています。
    fulfillmentGroup 参照または文字列 アイテムの配送を担当するグループ [sys_user_group] の変数識別子またはsys_id。ユーザーグループを定義するには、 レコード API - ServiceNow Fluentを使用します。
    catalogs アレイ アイテムが表示されるカタログ [sc_catalog] のsys_idsのリスト。
    カテゴリ アレイ アイテムが属するカテゴリ [sc_category] のsys_idsのリスト。カテゴリを割り当てる前に、 カタログ プロパティでカタログを指定する必要があります。

    サービスポータルでは、カタログ検索ではカテゴリに割り当てられたアイテムのみが検索されます。従業員センターでは、カタログ検索では分類トピックに関連付けられているアイテムのみが検索されます。詳細については、「Associate a catalog item with a taxonomy topic in Employee Center」を参照してください。

    コスト 番号 アイテムの 1 回限りのコストを示す数値。

    デフォルト:0

    displayPriceプロパティ 文字列 アイテム価格の表示方法を制御するシステムプロパティ。
    価格を無視 ブール 買い物かごとカタログリスト内のアイテム価格を非表示にするかどうかを示すフラグ。

    デフォルト:true

    モバイル価格を非表示 ブール モバイルデバイスでアイテム価格を非表示にするかどうかを示すフラグ。

    デフォルト値:false

    価格を省略 ブール アイテムのすべてのビューから価格を完全に省略するかどうかを示すフラグ。

    デフォルト値:false

    請求可能 ブール アイテムが請求可能かどうかを示すフラグ。

    デフォルト値:false

    pricingDetails アレイ アイテムの価格エントリのリスト。
    有効な値:
    • price:アイテムの 1 回限りの価格。
    • recurring_price:定期的に繰り返される価格。この値を使用する場合は、 recurringFrequency プロパティが必要です。

    形式: { amount, currencyType, field }

    recurringFrequency 文字列 月次や年次など、繰り返し発生する料金が繰り返される時間間隔。

    このプロパティは、pricingDetails にrecurring_priceフィールドエントリーが含まれている場合に必要です。

    requestMethod 文字列 送信ボタンと注文送信エクスペリエンスのラベル。
    有効な値:
    • order:[ 今すぐ注文 ] ボタンを表示します。確認ダイアログが表示され、配送情報が編集可能になります。
    • request: [要求] ボタンを表示します。確認ダイアログが表示されますが、配送情報は表示されません。コードアクセス要求など、配信情報が事前に決定されているシナリオに使用します。
    • submit: [送信] ボタンを表示します。確認ダイアログまたは配信情報は表示されません。パスワードのリセットなど、それ以上の要求情報が不要なシナリオに使用します。

    デフォルト:order

    カスタムカート 参照または文字列 カートのレンダリングに使用するカスタム UI マクロの変数識別子またはsys_id。カスタム買い物かごを定義するには、 レコード API - ServiceNow Fluentを使用します。
    useScLayout ブール アイテムが表示に サービスカタログ レイアウトを使用するかどうかを示すフラグ。

    デフォルト:true

    カートなし ブール 使用廃止。買い物かごを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    順序なし ブール 使用廃止。[順序] オプションを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    noOrderNow ブール 使用廃止。[ 今すぐ注文 ] オプションを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    noProceedCheckout ブール 使用廃止。精算プロセスを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    数量なし ブール 使用廃止。[ 数量] フィールドを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    検索なし ブール 使用廃止。検索を非表示にするかどうかを示すフラグ。

    デフォルト値:false

    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import { CatalogItem } from "@servicenow/sdk/core";
    
    export const softwareLicenseRequest = CatalogItem({
      $id: Now.ID["software_license_request"],
      name: "Software License Request",
      shortDescription: "Request a software license",
    
      catalogs: [serviceCatalog],
      categories: [softwareCategory],
    
      // Attach reusable variable sets
      variableSets: [
        { variableSet: contactInfoSet, order: 100 },
        { variableSet: approvalInfoSet, order: 200 }
      ],
    
      // Item-specific variables
      variables: {
        software_name: SingleLineTextVariable({
          question: "Software Name",
          mandatory: true,
          order: 100
        }),
        license_type: SelectBoxVariable({
          question: "License Type",
          choices: {
            individual: { label: "Individual", sequence: 1 },
            team: { label: "Team (5 seats)", sequence: 2 },
            enterprise: { label: "Enterprise (unlimited)", sequence: 3 }
          },
          mandatory: true,
          order: 200
        }),
        number_of_licenses: SingleLineTextVariable({
          question: "Number of Licenses",
          defaultValue: "1",
          order: 300
        }),
        justification: MultiLineTextVariable({
          question: "Business Justification",
          mandatory: true,
          order: 400
        })
      },
    
      // Pricing with recurring charges
      pricingDetails: [
        { amount: 0, currencyType: "USD", field: "price" },
        { amount: 99, currencyType: "USD", field: "recurring_price" }
      ],
      recurringFrequency: "monthly",
    
      flow: "523da512c611228900811a37c97c2014",
      deliveryTime: { days: 3, hours: 0 }
    })

    CatalogItemRecordProducer オブジェクト

    ユーザーがインシデントレコードや変更要求レコードなどのタスクベースのレコードをサービスカタログから作成するためのレコードプロデューサー [sc_cat_item_producer] を作成します。

    レコードプロデューサーは、そのレコードプロデューサーと同じスコープ内にあるテーブルおよびデータベースビューに対して作成できます。また、他のスコープ内にあるアプリケーションからの作成アクセスを許可するテーブルに対しても、レコードプロデューサーを作成できます。

    表 : 2. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    テーブル 参照または文字列 必須。インシデントやchange_requestなど、レコードプロデューサーがレコードを作成する テーブルオブジェクトの 変数識別子またはテーブルの名前。
    name 文字列 必須。カタログに表示されるアイテムの名前。
    アクティブ ブール アイテムがアクティブで注文可能かどうかを示すフラグ。

    デフォルト:true

    availability 文字列 アイテムが表示されるデバイスのタイプ。
    有効な値:
    • desktopOnly:アイテムはデスクトップデバイスにのみ表示されます。
    • mobileOnly:アイテムはモバイルデバイスにのみ表示されます。
    • both:アイテムはデスクトップとモバイルデバイスの両方に表示されます。

    デフォルト:desktopOnly

    チェックアウト ブール アイテムが編集のためにチェックアウトされているかどうかを示すフラグ。

    デフォルト値:false

    説明 文字列 ユーザーがアイテムまたは関連する プレビュー リンクを選択したときにカタログに表示されるアイテムの詳細な説明。

    ビデオ、画像、社内ナレッジベース (KB) 記事へのリンク、外部情報源や指示書へのリンクを埋め込むことができます。

    メタ アレイ アイテムに関連する検索を支援するために使用されるメタデータタグのリスト。
    注:
    meta プロパティは、Zing テキストインデックス作成と検索エンジンでのみ使用され、AI 検索 には使用されません。
    モデル 参照または文字列 アイテムに関連付けられた製品モデル [cmdb_model] の変数識別子またはsys_id。製品モデルを定義するには、 レコード API - ServiceNow Fluentを使用します。
    順序 番号 カテゴリ内でアイテムが表示される順序。

    デフォルト:0

    所有者 参照または文字列 アイテムを所有し、アイテムへの編集アクセス権を持つユーザー [sys_user] の変数識別子またはsys_id。ユーザーを定義するには、 レコード API - ServiceNow Fluentを使用します。
    ロール アレイ アイテムにアクセスできる ロール オブジェクトまたはロール [sys_user_role] のsys_ids変数識別子のリスト。 詳細については、「 ロール API - ServiceNow Fluent」を参照してください。
    shortDescription 文字列 カタログホームページ、検索結果、および注文フォームのタイトルバーに表示されるアイテムの簡単な説明。
    showVariableHelpOnLoad ブール アイテムにデフォルトで変数ヘルプテキストを表示するかどうかを示すフラグ。

    デフォルト値:false

    startClosed ブール アイテムを折りたたんだ状態で開始するかどうかを示すフラグ。

    デフォルト値:false

    状況 文字列 アイテムの公開ステータス (ドラフトや公開済みなど)。
    variables オブジェクト アイテムを要求するためのオプションを提供する、アイテムの変数定義。各変数タイプには特定の機能があります。たとえば、次のようになります:
    variables: {
        laptopType: SelectBoxVariable({
          question: "Laptop Type",
          choices: {
            standard: { label: "Standard Laptop", sequence: 1 },
            developer: { label: "Developer Workstation", sequence: 2 }
          },
          mandatory: true,
          order: 100
        }),
        justification: MultiLineTextVariable({
          question: "Business Justification",
          mandatory: true,
          order: 200
        })
    }

    カタログ変数に関する一般的な情報については、「 Service catalog variables」を参照してください。

    バージョン 番号 アイテムのバージョン。

    デフォルト値:1

    表示 参照または文字列 必須。適用される UI ビュー [sys_ui_view] の変数識別子または名前、またはデフォルトビュー。UI ビューを定義するには、レコード API - ServiceNow Fluent を使用します。
    デフォルトのビュー (default_view) を使用するには、次の方法でインポートする必要があります。
    import { default_view } from '@servicenow/sdk/core'
    アイコン 文字列 カタログのアイテム名の横にアイコンとして表示される画像ファイル。

    27x27 ピクセルの画像を使用します。画像がアップロードされていない場合は、デフォルトのアイコンが表示されます。

    画像 文字列 アイテムの画像として表示する画像ファイル。
    モバイル写真 文字列 モバイルデバイスでアイテムの画像として表示する画像。

    このプロパティは、 mobilePictureType の値が mobilePicture の場合にのみ適用されます。

    mobilePictureType 文字列 モバイルデバイス上のアイテムに表示する画像のタイプ。
    有効な値:
    • desktopPicture: picture プロパティの画像を使用します。
    • mobilePicture: mobilePicture プロパティの画像を使用します。
    • noPicture:アイテムはモバイルデバイスで画像を表示しません。

    デフォルト:desktopPicture

    assignedTopic アレイ 従業員センターポータルでのアイテムの可視化を制御する既存の分類トピックのsys_idsのリスト。詳細については、「Associate a catalog item with a taxonomy topic in Employee Center」を参照してください。
    注:
    このプロパティは、Employee Experience Taxonomy プラグイン (sn_ect) がアクティブな場合にのみ使用できます。
    利用可能 アレイ アイテムにアクセスできるユーザーを定義するユーザー基準 [user_criteria] のsys_idsのリスト。
    利用不可 アレイ アイテムにアクセスできないユーザーを定義するユーザー基準 [user_criteria] のsys_idsのリスト。

    このプロパティは、 availableFor プロパティを上書きします。

    variableSet アレイ VariableSet オブジェクトの変数識別子のリスト、またはアイテムに添付する変数セット [item_option_new_set] のsys_ids。詳細については、「VariableSet オブジェクト」を参照してください。

    形式: { variableSet, order }

    カートへの追加を非表示 ブール [ カートに追加 ] ボタンを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    ウィッシュリストに追加を非表示 ブール [ ウィッシュリストに追加 ] ボタンを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    配信時間を非表示 ブール 配送時間を非表示にするかどうかを示すフラグ。

    デフォルト値:false

    hideQuantitySelector ブール [ 数量] フィールドを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    ドラフトとして保存を非表示 ブール [ 下書きとして保存 ] ボタンを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    非表示 SP ブール サービスポータルアイテムを非表示にするかどうかを示すフラグ。

    デフォルト値:false

    mandatoryAttachment ブール 要求を送信するために添付ファイルの追加を要求するかどうかを示すフラグ。

    デフォルト値:false

    添付ファイルを非表示 ブール 添付ファイルセクションを非表示にし、添付ファイルの追加をサポートしないかどうかを示すフラグ。

    デフォルト値:false

    編集を許可 ブール 送信後に作成したレコードをユーザーが編集できるかどうかを示すフラグ。

    デフォルト値:false

    キャンセル可能 ブール レコードプロデューサーフォームに [キャンセル] ボタンを表示するかどうかを示すフラグ。ユーザーは [キャンセル] を選択してレコードプロデューサーをキャンセルし、最後に表示された画面に戻ることができます。

    デフォルト値:false

    postInsertScript スクリプト 関連するテーブルにレコードが挿入された後に実行されるサーバーサイドスクリプト。このスクリプトで current.update() を呼び出すことができます。
    注:
    このスクリプトは、ターゲットレコード値とレコードプロデューサーテンプレートの値を上書きします。

    このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。

    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーション内のファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    Default (デフォルト):
    /**
    * This script is executed after the record is generated. 
    * `current` Is the GlideRecord produced by Record Producer. Use `current.update()` to update the record
    * To access the variables, use `producer.var1` where var1 is the name of the variable
    * To access the Record Producer use `cat_item`
    */
    リダイレクト URL 文字列 レコード生成後のリダイレクト先。
    有効な値:
    • generatedRecord:レコードプロデューサーによって作成されたタスクレコードにリダイレクトします。
    • catalogHomePage:サービスカタログにリダイレクトします。

    デフォルト:generatedRecord

    saveOptions 文字列 レコードプロデューサーを保存するための詳細設定オプション。
    saveScript スクリプト カタログビルダーでのすべてのステップ保存で実行されるスクリプト。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。
    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーション内のファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    Default (デフォルト):
    /**
    * This script is executed at every step save in Catalog Builder. 
    * This script is executed before `Script` is executed.
    * `current` Is the GlideRecord produced by Record Producer. 
    * To access the variables, use `producer.var1` where var1 is the name of the variable
    * To access the Record Producer use `cat_item`
    */
    スクリプト スクリプト レコードが作成される前に実行されるサーバーサイドスクリプト。このスクリプトを使用して、レコードのフィールドに値を動的に割り当てます。このスクリプトでは current.update() または current.insert() を呼び出さないでください。

    このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。

    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーション内のファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    Default (デフォルト):
    /** This script is executed before the Record is generated
    * `current`- GlideRecord produced by Record Producer
    * Don't use `current.update()` or `current.insert()` as the record is generated by Record Producer
    * Don't use `current.setValue('sys_class_name', 'xxx')` as this will trigger reparent flow and can cause data loss
    * Avoid `current.setAbortAction()` and generate a separate record
    * Use `producer.var1` to access variables
    */
    イメージ 文字列 使用廃止。アイテムの画像。
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import { CatalogItemRecordProducer } from "@servicenow/sdk/core";
    
    const serviceCatalog = "e0d08b13c3330100c8b837659bba8fb4";
    const itServicesCategory = "d258b953c611227a0146101fb1be7c31";
    
    export const comprehensiveIncidentProducer = CatalogItemRecordProducer({
      $id: Now.ID["comprehensive_incident_producer"],
      name: "Report Incident with Full Configuration",
      shortDescription: "Complete incident producer with variables and scripts",
      table: "incident",
    
      catalogs: [serviceCatalog],
      categories: [itServicesCategory],
    
      variables: {
        short_description: SingleLineTextVariable({
          question: "Brief Summary",
          mandatory: true,
          mapToField: true,
          field: "short_description",
          order: 100
        }),
        urgency: SelectBoxVariable({
          question: "Urgency",
          mandatory: true,
          mapToField: true,
          field: "urgency",
          choices: {
            "1": { label: "High", sequence: 1 },
            "2": { label: "Medium", sequence: 2 },
            "3": { label: "Low", sequence: 3 }
          },
          order: 200
        }),
        assignment_group: ReferenceVariable({
          question: "Assignment Group",
          mapToField: true,
          field: "assignment_group",
          referenceTable: "sys_user_group",
          order: 300
        })
      },
    
      script: Now.include("../../scripts/rp-pre-insert.js"),
      postInsertScript: Now.include("../../scripts/rp-post-insert.js"),
    
      redirectUrl: "generatedRecord",
      view: "ess",
      allowEdit: true
    })

    CatalogUiPolicy オブジェクト

    カタログ UI ポリシー [catalog_ui_policy] を構成して、条件に基づいてカタログアイテムフォームでの変数の動作を制御します。

    カタログ UI ポリシーでは、指定された条件が満たされた場合に変数を必須、読み取り専用、表示、または非表示にすることができます。検証、計算、または非同期呼び出しの場合は、代わりにカタログクライアントスクリプトを使用します。

    表 : 3. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    shortDescription 文字列 必須。カタログ UI ポリシーの機能の簡単な説明。
    カタログアイテム 参照または文字列 variableSet プロパティを使用しない場合にのみ必要です。CatalogItem または CatalogItemRecordProducer オブジェクトの変数識別子、または UI ポリシーが適用されるカタログアイテム [sc_cat_item] またはレコードプロデューサー [sc_cat_item_producer] のsys_id。詳細については、「CatalogItem オブジェクト」または「CatalogItemRecordProducer オブジェクト」を参照してください。
    variableSet 参照または文字列 catalogItem プロパティを使用しない場合にのみ必須です。VariableSet オブジェクトの変数識別子、または UI ポリシーが適用される変数セット [item_option_new_set] のsys_id。詳細については、「VariableSet オブジェクト」を参照してください。
    appliesTo 文字列 UI ポリシーが適用されるスコープ。
    有効な値:
    • item:ポリシーはカタログアイテムに適用されます。
    • set:ポリシーは変数セットに適用されます。

    デフォルト:item

    アクティブ ブール カタログ UI ポリシーがアクティブかどうかを示すフラグ。

    デフォルト:true

    グローバル ブール カタログ UI ポリシーがテーブルのどのビューで実行されるかを示すフラグ。

    デフォルト:true

    onLoad ブール フォームのロード時にカタログ UI ポリシーが実行されるかどうかを示すフラグ。false の場合、ポリシーは変数値が変更された場合にのみ適用されます。

    デフォルト:true

    reverseIfFalse ブール カタログ条件が false と評価された場合に UI ポリシーアクションを取り消すかどうかを示すフラグ。

    デフォルト:true

    継承 ブール カタログ UI ポリシーが継承されているかどうかを示すフラグ。

    デフォルト値:false

    isolateScript ブール ポリシースクリプトが分離されたスコープで実行されるかどうかを示すフラグ。

    デフォルト:true

    カタログ条件 文字列 UI ポリシーをトリガーするカタログアイテム変数値に基づくエンコードされたクエリ条件。たとえば、次のようになります:
    catalogCondition: `${catalogItem.variables.singleLineText}=catalogitem^${catalogItem.variables.reference}ISNOTEMPTY^EQ`
    appliesOnCatalogItemView ブール 注文画面に表示されるカタログアイテムに UI ポリシーが適用されるかどうかを示すフラグ。このビューは要求者が利用できます。

    デフォルト:true

    AppliesOnTargetRecord ブール レコードプロデューサーを使用してタスク拡張テーブル用に作成されたレコードに UI ポリシーが適用されるかどうかを示すフラグ。

    デフォルト値:false

    appliesOnCatalogTasks ブール UI ポリシーがカタログタスクフォームに適用されるかどうかを示すフラグ。このビューは履行者が使用できます。

    デフォルト値:false

    appliesOnRequestedItems ブール 要求されたアイテムフォームに UI ポリシーが適用されるかどうかを示すフラグ。このビューは履行者が使用できます。

    デフォルト値:false

    runScript ブール この UI ポリシーに対して executeIfTrue および executeIfFalse スクリプトを実行するかどうかを示すフラグ。スクリプトを使用して、特定のロールをターゲットにするなど、読み取り専用、必須、または表示以外の動作を適用します。

    デフォルト値:false

    executeIfTrue 文字列 カタログ条件が true と評価されたときに実行されるクライアント側スクリプト。スクリプトは 関数 onCondition() {} 関数でラップする必要があります。
    executeIfFalse 文字列 カタログ条件が false と評価されたときに実行されるクライアント側スクリプト。スクリプトは 関数 onCondition() {} 関数でラップする必要があります。
    runScriptsInUiType 文字列 ポリシースクリプトが実行される UI タイプ。
    有効な値:
    • desktop:スクリプトはデスクトップインターフェイスで実行されます。
    • mobileOrServicePortal:スクリプトはモバイルおよびサービスポータルインターフェイスで実行されます。
    • all:スクリプトはすべてのインターフェイスで実行されます。

    デフォルト:desktop

    VAサポート対象 ブール 仮想エージェントの会話で UI ポリシーがサポートされているかどうかを示すフラグ。

    デフォルト値:false

    アクション アレイ カタログ条件が満たされたときに実行する変数アクションのリスト。詳細については、「アクションアレイ」を参照してください。
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import { CatalogUiPolicy } from "@servicenow/sdk/core";
    import { hardwareRequestItem } from "./catalog-items/HardwareRequest.now";
    
    export const managerApprovalPolicy = CatalogUiPolicy({
      $id: Now.ID["manager_approval_policy"],
      shortDescription: "Show manager approval when high priority selected",
      catalogItem: hardwareRequestItem,
      catalogCondition: `${hardwareRequestItem.variables.priority}=high^EQ`,
      actions: [
        {
          variableName: hardwareRequestItem.variables.manager_approval,
          visible: true,
          mandatory: true
        }
      ]
    })

    アクションアレイ

    条件が満たされたときにカタログ UI ポリシーが変数に対して実行する変数アクション [catalog_ui_policy_action] を設定します。

    アレイ内の各アクションは変数を指定し、UI ポリシー条件が true と評価されると、その変数に適用するようにプロパティが変更されます。

    表 : 4. プロパティ
    名前 タイプ 説明
    variableName 文字列 必須。アクションが適用される変数。
    visible ブール 変数を表示するかどうかを示すフラグ。

    デフォルト値:false

    無効 ブール 変数をオフにするかどうかを示すフラグ。

    デフォルト値:false

    必須 ブール 変数を必須にするかどうかを示すフラグ。

    デフォルト値:false

    クリア ブール 条件が満たされたときに変数値をクリアするかどうかを示すフラグ。

    デフォルト値:false

    変数メッセージ 文字列 条件が満たされたときに変数に表示するメッセージ。

    このプロパティは、 variableMessageType プロパティに値がある場合にのみ適用されます。

    変数メッセージタイプ 文字列 フィールドメッセージのタイプ。
    有効な値:
    • 情報
    • 警告
    • エラー
    文字列 条件が満たされたときに変数に設定する値。

    このプロパティは、 valueAction プロパティが setValue に設定されている場合にのみ適用されます。

    値アクション 文字列 条件が満たされたときに変数値に対して実行するアクション。
    有効な値:
    • setValue:変数を value プロパティで指定された値に設定します。
    • clearValue:変数の値をクリアします。
    順序 番号 アクションが他のアクションと比較して評価される順序。

    デフォルト:100

    readOnly ブール 変数を読み取り専用にするかどうかを示すフラグ。

    デフォルト値:false

    actions: [
        {
          variableName: laptopRequest.variables.justification,
          mandatory: true,
          variableMessage: "Justification required for urgent requests",
          variableMessageType: "info",
          order: 100
        },
        {
          variableName: laptopRequest.variables.manager_approval,
          visible: true,
          mandatory: true,
          order: 200
        },
        {
          variableName: laptopRequest.variables.delivery_date,
          visible: true,
          order: 300
        }
    ]

    CatalogClientScript オブジェクト

    クライアント側で実行されるカタログクライアントスクリプト [catalog_script_client] を構成して、カタログアイテムフォームの動作を制御します。

    カタログクライアントスクリプトを使用して、ユーザー入力の検証、フィールドの自動入力、またはカタログアイテムフォームでのアラートの表示を行います。単純な表示/非表示、必須、および読み取り専用ロジックの場合は、代わりにカタログ UI ポリシーを使用します。

    表 : 5. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    name 文字列 必須。カタログクライアントスクリプトの一意の名前。
    スクリプト スクリプト カタログアイテムフォームで実行するクライアント側スクリプト。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。
    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーション内のファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    タイプ 文字列 クライアントスクリプトの実行をトリガーするイベント。
    有効な値:
    • onLoad:フォームのロード時に実行されます。フィールドの状態、デフォルト値、可視化の設定などの初期セットアップに使用します。
    • onChange:特定の変数が変更されたときに実行されます。if (isLoading) return; guard を含めます。
    • onSubmit:フォームが送信されたときに実行されます。送信をブロックするには false を返します。非同期の問題があるため、このタイプでは GlideAjax を使用しないでください。
    uiType 文字列 クライアントスクリプトが実行される UI タイプ。
    有効な値:
    • desktop:デスクトップインターフェイスに適用されます。
    • mobileOrServicePortal:モバイルおよびサービスポータルインターフェイスに適用されます。
    • all:すべてのインターフェイスに適用されます。

    デフォルト:desktop

    アクティブ ブーリアン クライアントスクリプトが有効かどうかを示すフラグ。

    デフォルト:true

    appliesTo 文字列 variableSet プロパティを使用する場合は必須です。カタログクライアントスクリプトが適用されるスコープ。
    有効な値:
    • item:スクリプトはカタログアイテムに適用されます。
    • set:スクリプトは変数セットに適用されます。

    デフォルト:item

    カタログアイテム 参照または文字列 variableSet プロパティを使用しない場合にのみ必要です。CatalogItem または CatalogItemRecordProducer オブジェクトの変数識別子、またはクライアントスクリプトが適用されるカタログアイテム [sc_cat_item] またはレコードプロデューサー [sc_cat_item_producer] のsys_id。詳細については、「CatalogItem オブジェクト」または「CatalogItemRecordProducer オブジェクト」を参照してください。
    variableSet 参照または文字列 catalogItem プロパティを使用しない場合にのみ必須です。VariableSet オブジェクトの変数識別子、または UI ポリシーが適用される変数セット [item_option_new_set] のsys_id。詳細については、「VariableSet オブジェクト」を参照してください。
    variableName 文字列 type プロパティの値が onChange の場合は必須です。値が変更されたときにスクリプトをトリガーするカタログ変数の名前。
    appliesOnCatalogItemView ブール サービスカタログの注文画面に表示されるカタログアイテムにクライアントスクリプトが適用されるかどうかを示すフラグ。このビューは要求者が利用できます。

    デフォルト:true

    appliesOnRequestedItems ブール アイテムが要求された後に、クライアントスクリプトが要求されたアイテムフォームに適用されるかどうかを示すフラグ。このビューは履行者が使用できます。

    デフォルト値:false

    appliesOnCatalogTasks ブール クライアントスクリプトがアイテムのカタログタスクフォームに適用されるかどうかを示すフラグ。このビューは履行者が使用できます。

    デフォルト値:false

    AppliesOnTargetRecord ブール レコードプロデューサーを使用してタスク拡張テーブル用に作成されたレコードにクライアントスクリプトが適用されるかどうかを示すフラグ。

    デフォルト値:false

    グローバル ブール クライアントスクリプトがグローバルスコープで実行されているかどうかを示すフラグ。

    デフォルト:true

    VAサポート対象 ブール クライアントスクリプトが仮想エージェントの会話でサポートされているかどうかを示すフラグ。

    デフォルト値:false

    publishedRef 文字列 このクライアントスクリプトが参照する公開済みカタログアイテム [sc_cat_item] またはレコードプロデューサー [sc_cat_item_producer] のsys_id。
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import { CatalogClientScript } from "@servicenow/sdk/core";
    import { laptopRequest } from "../catalog-items/laptop-request.now";
    
    CatalogClientScript({
      $id: Now.ID["laptop_onload"],
      name: "Laptop Request - OnLoad",
      script: Now.include("../../client/laptop-onload.js"),
      type: "onLoad",
      catalogItem: laptopRequest,
      active: true,
      appliesOnCatalogItemView: true
    });
    クライアントスクリプトは、スクリプトプロパティから参照されるlaptop-onload.jsファイルで定義されます。たとえば、次のようになります:
    function onLoad() {
      // Set initial field states
      g_form.setReadOnly("estimated_cost", true);
      g_form.setValue("estimated_cost", "$0");
      g_form.setMandatory("justification", true);
    }

    VariableSet オブジェクト

    複数のカタログアイテムとレコードプロデューサーで使用する再利用可能な変数をグループ化する変数セット [item_option_new_set] を作成します。

    変数セットは、カタログアイテムおよびレコードプロデューサーに添付できる変数の再利用可能なコレクションです。カタログ UI ポリシーとクライアントスクリプトは、appliesTo プロパティを設定することで変数セットにスコープを設定できます。

    注:
    • カタログアイテム内の変数セットに同じ内部名を指定することはできません。
    • カタログアイテム内では、変数の名前を変数セットのタイトルまたは内部名と同じにすることはできません。
    • カタログクライアントスクリプトとカタログ UI ポリシースクリプトは、タイトルまたは表示名ではなく、変数セットの内部名を参照する必要があります。
    表 : 6. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    title 文字列 必須。変数セットの表示タイトル。このタイトルは、 displayTitle プロパティが true に設定されている場合にのみ表示されます。
    internalName 文字列 g_form API およびサーバー側スクリプトを介したプログラムによるアクセスに使用される変数セットの内部名。指定しない場合、内部名は title プロパティから自動的に生成されます。
    説明 文字列 変数セットとその使用目的の説明。
    タイプ 文字列 変数セットのタイプ。
    有効な値:
    • singleRow:変数は 1 つの行に配置されます。
    • multiRow:変数は複数の行に配置され、ユーザーが追加または削除できます。

    デフォルト:singleRow

    レイアウト 文字列 変数セットの列レイアウト。
    有効な値:
    • 標準:変数は 1 つの列に表示されます。
    • 2down:変数は、片側ともう片側の 2 つの列に表示されます。
    • 2across:変数は両側が交互に 2 列に表示されます。

    デフォルト:標準

    順序 番号 フォーム上の他の変数セットと相対的に変数セットが表示される順序。

    デフォルト:100

    displayTitle ブール 変数セットの折りたたみ可能なセクションヘッダーを表示するかどうかを示すフラグ。true の場合、 title プロパティの値は折りたたみ可能なヘッダーとして表示されます。
    注:
    チェックボックス変数は、オプションのデフォルトタイトルの下にグループ化されます。カスタムタイトルを使用するには、チェックボックス変数のすぐ上に配置される 順序 値を持つラベル変数を追加します。

    デフォルト値:false

    setAttributes 文字列 max_rows=10,collapsible=true などのカンマ区切り文字列として設定された変数の追加構成属性。max_rows属性を使用して、複数行の変数セットの最大行数を設定します。
    注:
    複数行の変数セットでは、AttachmentVariableContainerVariableHtmlVariable、および CustomVariable 型はサポートされていません。
    readRoles アレイ 変数セットを表示できる ロール オブジェクトまたはロール [sys_user_role] のsys_idsの変数識別子のリスト。 詳細については、「 ロール API - ServiceNow Fluent」を参照してください。
    writeRoles アレイ セット内の変数値を変更できる ロール オブジェクトまたはロール [sys_user_role] のsys_ids変数識別子のリスト。詳細については、「ロール API - ServiceNow Fluent」を参照してください。
    createRoles アレイ 行インスタンスを作成できる ロール オブジェクトまたはロール [sys_user_role] のsys_ids変数識別子のリスト。詳細については、「ロール API - ServiceNow Fluent」を参照してください。

    このプロパティは、 type プロパティの値が multiRow の場合にのみ適用されます。

    variables オブジェクト アイテムを要求するためのオプションを提供する、アイテムの変数定義。各変数タイプには特定の機能があります。たとえば、次のようになります:
    variables: {
        laptopType: SelectBoxVariable({
          question: "Laptop Type",
          choices: {
            standard: { label: "Standard Laptop", sequence: 1 },
            developer: { label: "Developer Workstation", sequence: 2 }
          },
          mandatory: true,
          order: 100
        }),
        justification: MultiLineTextVariable({
          question: "Business Justification",
          mandatory: true,
          order: 200
        })
    }

    カタログ変数に関する一般的な情報については、「 Service catalog variables」を参照してください。

    名前 文字列 変数セットをさらに識別するためのオプションの名前。
    バージョン 番号 変数セットのバージョン。

    デフォルト:0

    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import {
      VariableSet,
      EmailVariable,
      SingleLineTextVariable,
      ReferenceVariable
    } from "@servicenow/sdk/core";
    
    export const contactInfoSet = VariableSet({
      $id: Now.ID["contact_info_set"],
      title: "Contact Information",
      description: "Standard contact information fields",
      type: "singleRow",
      layout: "2across",
      order: 100,
      displayTitle: true,
      variables: {
        email: EmailVariable({
          question: "Email Address",
          mandatory: true,
          order: 100
        }),
        phone: SingleLineTextVariable({
          question: "Phone Number",
          mandatory: true,
          order: 200
        }),
        department: ReferenceVariable({
          question: "Department",
          referenceTable: "cmn_department",
          referenceQualCondition: "active=true",
          order: 300
        })
      }
    })