サービスカタログ API - ServiceNow Fluent
サービスカタログ API は、カタログアイテム [sc_cat_item]、レコードプロデューサー [sc_cat_item_producer]、およびサービスカタログの関連要素を定義します。
サービスカタログに関する一般的な情報については、「 Service Catalog」を参照してください。
CatalogItem オブジェクト
ユーザーがサービスカタログから要求できるカタログアイテム [sc_cat_item] を作成します。
カタログアイテムは、アイテム要求の実行方法を定義するフロー、ワークフロー、または実行計画を参照する必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| $id | 文字列または数値 | 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。 形式: |
| name | 文字列 | 必須。カタログに表示されるアイテムの名前。 |
| アクティブ | ブール | アイテムがアクティブで注文可能かどうかを示すフラグ。 デフォルト:true |
| availability | 文字列 | アイテムが表示されるデバイスのタイプ。 有効な値:
デフォルト: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 | オブジェクト | アイテムを要求するためのオプションを提供する、アイテムの変数定義。各変数タイプには特定の機能があります。たとえば、次のようになります:カタログ変数に関する一般的な情報については、「 Service catalog variables」を参照してください。 |
| バージョン | 番号 | アイテムのバージョン。 デフォルト値:1 |
| イメージ | 文字列 | 使用廃止。アイテムの画像。 |
| アイコン | 文字列 | カタログのアイテム名の横にアイコンとして表示される画像ファイル。 27x27 ピクセルの画像を使用します。画像がアップロードされていない場合は、デフォルトのアイコンが表示されます。 |
| 画像 | 文字列 | アイテムの画像として表示する画像ファイル。 |
| モバイル写真 | 文字列 | モバイルデバイスでアイテムの画像として表示する画像。 このプロパティは、 mobilePictureType の値が |
| mobilePictureType | 文字列 | モバイルデバイス上のアイテムに表示する画像のタイプ。 有効な値:
デフォルト: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 オブジェクト」を参照してください。 形式: |
| フロー | 参照または文字列 | フローオブジェクトの変数識別子、または要求の実行方法を定義するフロー [sys_hub_flow] のsys_id。フローを定義するには、 フロー API - ServiceNow Fluentを使用します。 注: カタログアイテムの実行方法としてフローを使用する必要があります。フロー、ワークフロー、および executionPlan がすべて指定されている場合、システムはフローを使用します。 |
| executionPlan | 参照または文字列 | 要求の実行方法を定義する実行計画 [sc_cat_item_delivery_plan] の変数識別子またはsys_id。実行計画を定義するには、 レコード API - ServiceNow Fluentを使用します。 |
| ワークフロー | 文字列 | アイテム要求の実行方法を定義する従来のワークフロー [wf_workflow] のsys_id。新しい実装には フロー プロパティを使用します。 |
| アクセスタイプ | 文字列 | アイテムを要求するために必要なユーザーアクセス権。 有効な値:
注: この機能は、アイテムに要求元変数がある場合にのみ適用されます。 デフォルト:制限付き |
| 場所 | 参照または文字列 | アイテムが提供される場所 [cmn_location] の変数識別子またはsys_id。場所を定義するには、 レコード API - ServiceNow Fluentを使用します。 |
| ベンダー | 参照または文字列 | アイテムに関連付けられたベンダーの変数識別子またはsys_id。ベンダーを定義するには、 レコード API - ServiceNow Fluentを使用します。 |
| deliveryPlanScript | スクリプト | 使用廃止。代わりに executionPlan プロパティを使用してください。 |
| 配送時間 | オブジェクト | アイテムの配送予定時間。 形式: |
| エンタイトルメントスクリプト | スクリプト | アイテムのエンタイトルメントを定義するスクリプト。 |
| makeItemNonConversational | ブール | 仮想エージェントなどの会話エクスペリエンスからアイテムを要求できないようにするかどうかを示すフラグ。true の場合、アイテムは会話エクスペリエンスから要求できます。 デフォルト値:false |
| visibleBundle | ブール | 保存されたバンドルにアイテムが表示されるかどうかを示すフラグ。 デフォルト:true |
| 表示ガイド | ブール | アイテムが注文ガイドに表示されるかどうかを示すフラグ。 デフォルト:true |
| visibleStandalone | ブール | スタンドアロンビューを表示するかどうかを示すフラグ。 デフォルト:true |
| fulfillmentAutomationLevel | 文字列 | 要求の実行自動化のレベル。 有効な値:
|
| 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 | アレイ | アイテムの価格エントリのリスト。 有効な値:
形式: |
| recurringFrequency | 文字列 | 月次や年次など、繰り返し発生する料金が繰り返される時間間隔。 このプロパティは、pricingDetails に |
| requestMethod | 文字列 | 送信ボタンと注文送信エクスペリエンスのラベル。 有効な値:
デフォルト:order |
| カスタムカート | 参照または文字列 | カートのレンダリングに使用するカスタム UI マクロの変数識別子またはsys_id。カスタム買い物かごを定義するには、 レコード API - ServiceNow Fluentを使用します。 |
| useScLayout | ブール | アイテムが表示に サービスカタログ レイアウトを使用するかどうかを示すフラグ。 デフォルト:true |
| カートなし | ブール | 使用廃止。買い物かごを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| 順序なし | ブール | 使用廃止。[順序] オプションを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| noOrderNow | ブール | 使用廃止。[ 今すぐ注文 ] オプションを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| noProceedCheckout | ブール | 使用廃止。精算プロセスを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| 数量なし | ブール | 使用廃止。[ 数量] フィールドを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| 検索なし | ブール | 使用廃止。検索を非表示にするかどうかを示すフラグ。 デフォルト値:false |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
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] を作成します。
レコードプロデューサーは、そのレコードプロデューサーと同じスコープ内にあるテーブルおよびデータベースビューに対して作成できます。また、他のスコープ内にあるアプリケーションからの作成アクセスを許可するテーブルに対しても、レコードプロデューサーを作成できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| $id | 文字列または数値 | 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。 形式: |
| テーブル | 参照または文字列 | 必須。インシデントやchange_requestなど、レコードプロデューサーがレコードを作成する テーブルオブジェクトの 変数識別子またはテーブルの名前。 |
| name | 文字列 | 必須。カタログに表示されるアイテムの名前。 |
| アクティブ | ブール | アイテムがアクティブで注文可能かどうかを示すフラグ。 デフォルト:true |
| availability | 文字列 | アイテムが表示されるデバイスのタイプ。 有効な値:
デフォルト: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 | オブジェクト | アイテムを要求するためのオプションを提供する、アイテムの変数定義。各変数タイプには特定の機能があります。たとえば、次のようになります:カタログ変数に関する一般的な情報については、「 Service catalog variables」を参照してください。 |
| バージョン | 番号 | アイテムのバージョン。 デフォルト値:1 |
| 表示 | 参照または文字列 | 必須。適用される UI ビュー [sys_ui_view] の変数識別子または名前、またはデフォルトビュー。UI ビューを定義するには、レコード API - ServiceNow Fluent を使用します。 デフォルトのビュー ( default_view) を使用するには、次の方法でインポートする必要があります。 |
| アイコン | 文字列 | カタログのアイテム名の横にアイコンとして表示される画像ファイル。 27x27 ピクセルの画像を使用します。画像がアップロードされていない場合は、デフォルトのアイコンが表示されます。 |
| 画像 | 文字列 | アイテムの画像として表示する画像ファイル。 |
| モバイル写真 | 文字列 | モバイルデバイスでアイテムの画像として表示する画像。 このプロパティは、 mobilePictureType の値が |
| mobilePictureType | 文字列 | モバイルデバイス上のアイテムに表示する画像のタイプ。 有効な値:
デフォルト: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 オブジェクト」を参照してください。 形式: |
| カートへの追加を非表示 | ブール | [ カートに追加 ] ボタンを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| ウィッシュリストに追加を非表示 | ブール | [ ウィッシュリストに追加 ] ボタンを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| 配信時間を非表示 | ブール | 配送時間を非表示にするかどうかを示すフラグ。 デフォルト値:false |
| hideQuantitySelector | ブール | [ 数量] フィールドを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| ドラフトとして保存を非表示 | ブール | [ 下書きとして保存 ] ボタンを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| 非表示 SP | ブール | サービスポータルアイテムを非表示にするかどうかを示すフラグ。 デフォルト値:false |
| mandatoryAttachment | ブール | 要求を送信するために添付ファイルの追加を要求するかどうかを示すフラグ。 デフォルト値:false |
| 添付ファイルを非表示 | ブール | 添付ファイルセクションを非表示にし、添付ファイルの追加をサポートしないかどうかを示すフラグ。 デフォルト値:false |
| 編集を許可 | ブール | 送信後に作成したレコードをユーザーが編集できるかどうかを示すフラグ。 デフォルト値:false |
| キャンセル可能 | ブール | レコードプロデューサーフォームに [キャンセル] ボタンを表示するかどうかを示すフラグ。ユーザーは [キャンセル] を選択してレコードプロデューサーをキャンセルし、最後に表示された画面に戻ることができます。 デフォルト値:false |
| postInsertScript | スクリプト | 関連するテーブルにレコードが挿入された後に実行されるサーバーサイドスクリプト。このスクリプトで current.update() を呼び出すことができます。注: このスクリプトは、ターゲットレコード値とレコードプロデューサーテンプレートの値を上書きします。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。 Format (形式):
Default (デフォルト): |
| リダイレクト URL | 文字列 | レコード生成後のリダイレクト先。 有効な値:
デフォルト:generatedRecord |
| saveOptions | 文字列 | レコードプロデューサーを保存するための詳細設定オプション。 |
| saveScript | スクリプト | カタログビルダーでのすべてのステップ保存で実行されるスクリプト。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。 Format (形式):
Default (デフォルト): |
| スクリプト | スクリプト | レコードが作成される前に実行されるサーバーサイドスクリプト。このスクリプトを使用して、レコードのフィールドに値を動的に割り当てます。このスクリプトでは current.update() または current.insert() を呼び出さないでください。このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。 Format (形式):
Default (デフォルト): |
| イメージ | 文字列 | 使用廃止。アイテムの画像。 |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
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 ポリシーでは、指定された条件が満たされた場合に変数を必須、読み取り専用、表示、または非表示にすることができます。検証、計算、または非同期呼び出しの場合は、代わりにカタログクライアントスクリプトを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| $id | 文字列または数値 | 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。 形式: |
| 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 |
| アクティブ | ブール | カタログ UI ポリシーがアクティブかどうかを示すフラグ。 デフォルト:true |
| グローバル | ブール | カタログ UI ポリシーがテーブルのどのビューで実行されるかを示すフラグ。 デフォルト:true |
| onLoad | ブール | フォームのロード時にカタログ UI ポリシーが実行されるかどうかを示すフラグ。false の場合、ポリシーは変数値が変更された場合にのみ適用されます。 デフォルト:true |
| reverseIfFalse | ブール | カタログ条件が false と評価された場合に UI ポリシーアクションを取り消すかどうかを示すフラグ。 デフォルト:true |
| 継承 | ブール | カタログ UI ポリシーが継承されているかどうかを示すフラグ。 デフォルト値:false |
| isolateScript | ブール | ポリシースクリプトが分離されたスコープで実行されるかどうかを示すフラグ。 デフォルト:true |
| カタログ条件 | 文字列 | UI ポリシーをトリガーするカタログアイテム変数値に基づくエンコードされたクエリ条件。たとえば、次のようになります: |
| 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 |
| VAサポート対象 | ブール | 仮想エージェントの会話で UI ポリシーがサポートされているかどうかを示すフラグ。 デフォルト値:false |
| アクション | アレイ | カタログ条件が満たされたときに実行する変数アクションのリスト。詳細については、「アクションアレイ」を参照してください。 |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
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 と評価されると、その変数に適用するようにプロパティが変更されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| variableName | 文字列 | 必須。アクションが適用される変数。 |
| visible | ブール | 変数を表示するかどうかを示すフラグ。 デフォルト値:false |
| 無効 | ブール | 変数をオフにするかどうかを示すフラグ。 デフォルト値:false |
| 必須 | ブール | 変数を必須にするかどうかを示すフラグ。 デフォルト値:false |
| クリア | ブール | 条件が満たされたときに変数値をクリアするかどうかを示すフラグ。 デフォルト値:false |
| 変数メッセージ | 文字列 | 条件が満たされたときに変数に表示するメッセージ。 このプロパティは、 variableMessageType プロパティに値がある場合にのみ適用されます。 |
| 変数メッセージタイプ | 文字列 | フィールドメッセージのタイプ。 有効な値:
|
| 値 | 文字列 | 条件が満たされたときに変数に設定する値。 このプロパティは、 valueAction プロパティが |
| 値アクション | 文字列 | 条件が満たされたときに変数値に対して実行するアクション。 有効な値:
|
| 順序 | 番号 | アクションが他のアクションと比較して評価される順序。 デフォルト: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 ポリシーを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| $id | 文字列または数値 | 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。 形式: |
| name | 文字列 | 必須。カタログクライアントスクリプトの一意の名前。 |
| スクリプト | スクリプト | カタログアイテムフォームで実行するクライアント側スクリプト。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。 Format (形式):
|
| タイプ | 文字列 | クライアントスクリプトの実行をトリガーするイベント。 有効な値:
|
| uiType | 文字列 | クライアントスクリプトが実行される UI タイプ。 有効な値:
デフォルト:desktop |
| アクティブ | ブーリアン | クライアントスクリプトが有効かどうかを示すフラグ。 デフォルト:true |
| appliesTo | 文字列 | variableSet プロパティを使用する場合は必須です。カタログクライアントスクリプトが適用されるスコープ。 有効な値:
デフォルト: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 プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
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
});
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 ポリシースクリプトは、タイトルまたは表示名ではなく、変数セットの内部名を参照する必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| $id | 文字列または数値 | 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。 形式: |
| title | 文字列 | 必須。変数セットの表示タイトル。このタイトルは、 displayTitle プロパティが true に設定されている場合にのみ表示されます。 |
| internalName | 文字列 | g_form API およびサーバー側スクリプトを介したプログラムによるアクセスに使用される変数セットの内部名。指定しない場合、内部名は title プロパティから自動的に生成されます。 |
| 説明 | 文字列 | 変数セットとその使用目的の説明。 |
| タイプ | 文字列 | 変数セットのタイプ。 有効な値:
デフォルト:singleRow |
| レイアウト | 文字列 | 変数セットの列レイアウト。 有効な値:
デフォルト:標準 |
| 順序 | 番号 | フォーム上の他の変数セットと相対的に変数セットが表示される順序。 デフォルト:100 |
| displayTitle | ブール | 変数セットの折りたたみ可能なセクションヘッダーを表示するかどうかを示すフラグ。true の場合、 title プロパティの値は折りたたみ可能なヘッダーとして表示されます。 注: チェックボックス変数は、オプションのデフォルトタイトルの下にグループ化されます。カスタムタイトルを使用するには、チェックボックス変数のすぐ上に配置される 順序 値を持つラベル変数を追加します。 デフォルト値:false |
| setAttributes | 文字列 | max_rows=10,collapsible=true などのカンマ区切り文字列として設定された変数の追加構成属性。max_rows属性を使用して、複数行の変数セットの最大行数を設定します。注: 複数行の変数セットでは、AttachmentVariable、ContainerVariable、HtmlVariable、および 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 プロパティの値が |
| variables | オブジェクト | アイテムを要求するためのオプションを提供する、アイテムの変数定義。各変数タイプには特定の機能があります。たとえば、次のようになります:カタログ変数に関する一般的な情報については、「 Service catalog variables」を参照してください。 |
| 名前 | 文字列 | 変数セットをさらに識別するためのオプションの名前。 |
| バージョン | 番号 | 変数セットのバージョン。 デフォルト:0 |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
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
})
}
})