ワークスペース API - ServiceNow Fluent

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:11分
  • ワークスペース API は、データを視覚的に整理および共有するための構成可能なワークスペースエクスペリエンスを定義します。

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

    ワークスペース API は、ワークスペースの定義に応じて、UX アプリケーション [sys_ux_page_registry]、UX アプリ構成 [sys_ux_app_config]、UX アプリケーションカテゴリ M2M [sys_ux_registry_m2m_category]、UX ページプロパティ [sys_ux_page_property]、UX 画面コレクション [sys_ux_screen_type]、UX アプリルート [sys_ux_app_route]、 UX 画面 [sys_ux_screen]、および UX macroponent 定義 [sys_ux_macroponent]。

    ダッシュボードは、ダッシュボードオブジェクトの可視化アレイから 1 つ以上のワークスペースを参照することによって、ワークスペースのホームページとして使用できます。 ダッシュボードを作成するには、「 ダッシュボード API - ServiceNow Fluent」を参照してください。

    ワークスペースに関する一般的な情報については、「 Configurable Workspace UI」を参照してください。

    ワークスペース オブジェクト

    ユーザーがジョブ全体を完了できるように、1 つの重点的な作業領域でビジネスエンティティを管理するためのワークスペースを作成します。

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

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

    title 文字列 必須。ナビゲーションとヘッダーに表示されるワークスペースの名前。
    パス 文字列 必須。ワークスペースの URL パスセグメント。ワークスペース URL はパターン /now/<path>/<landingPath> に従い、ケバブケースを使用します。

    ワークスペースには、ワークスペースルートを保護するためのアクセス制御リスト (ACL) が必要です。Acl オブジェクトのフィールドプロパティは、このプロパティの値とワイルドカードパターン {workspace.path}.* と一致する必要があります。

    テーブル アレイ 必須。ワークスペースで管理するテーブル名のリスト。
    リスト構成 参照 必須。ワークスペースのナビゲーション構造を定義する UxListMenuConfig オブジェクトの変数識別子。詳細については、「UxListMenuConfig オブジェクト」を参照してください。
    ランディングパス 文字列 ランディングページの URL パスセグメント。ワークスペース URL はパターン /now/<path>/<landingPath> に従い、ケバブケースを使用します。

    デフォルト:home

    アクティブ ブール ユーザーがワークスペースにアクセスできるかどうかを示すフラグ。

    デフォルト:true

    import { Workspace } from '@servicenow/sdk/core';
    
    const itsmWorkspace = Workspace({
        $id: Now.ID['itsm_workspace'],
        title: 'IT Service Management',
        path: 'itsm',
        tables: ['incident', 'problem', 'change_request', 'user', 'sys_user_group'],
        listConfig: incidentListConfig
    })

    参照される UX リストメニュー構成は、 UxListMenuConfig オブジェクトを使用して定義されます。

    UxListMenuConfig オブジェクト

    ワークスペースのナビゲーション構造とリストビューの UX リストメニュー構成 [sys_ux_list_menu_config] を定義します。

    UX リストメニュー構成は、データをカテゴリとリストに整理し、フィルタリング、列の選択、およびロールベースの可視化を使用して、ユーザーがビジネスデータのさまざまなビューにアクセスできるようにします。この構造はワークスペースのナビゲーションパネルに表示され、さまざまなデータビューへの整理されたアクセスを提供します。

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

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

    name 文字列 必須。リスト構成の名前。
    説明 文字列 リスト構成の説明。
    アクティブ ブール リスト構成がアクティブかどうかを示すフラグ。

    デフォルト:true

    カテゴリ アレイ リスト構成の最上位のグループのリスト。詳細については、「カテゴリ アレイ」を参照してください。
    import { UxListMenuConfig } from '@servicenow/sdk/core';
    
    const incidentListConfig = UxListMenuConfig({
        $id: Now.ID['incident_list_config'],
        name: 'Incident List Configuration',
        description: 'Navigation for Incident Workspace',
        categories: [
            {
                $id: Now.ID['incidents_category'],
                title: 'Incidents',
                order: 10,
                lists: [
                    {
                        $id: Now.ID['incidents_open'],
                        title: 'Open',
                        order: 10,
                        condition: 'active=true^EQ',
                        table: 'incident',
                        columns: 'number,short_description,priority,state',
                        applicabilities: [
                            {
                                $id: Now.ID['incidents_open_applicability'],
                                applicability: applicability
                            }
                        ]
                    }
                ]
            }
        ]
    })

    カテゴリ アレイ

    UX リストメニュー構成の関連リスト [sys_ux_list_category] のカテゴリを定義します。

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

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

    title 文字列 必須。ナビゲーションメニューに表示するカテゴリのタイトル。
    リスト アレイ 必須。カテゴリ内のリストビューのリスト。詳細については、「リスト アレイ」を参照してください。
    順序 番号 ナビゲーションメニュー内のカテゴリの位置を示す数字。番号が小さいカテゴリが最初に表示されます。
    アクティブ ブール カテゴリがナビゲーションメニューに表示されるかどうかを示すフラグ。

    デフォルト:true

    description 文字列 カテゴリの説明
    categories: [
        {
          $id: Now.ID["incidents_category"],
          title: "Incidents",
          order: 10,
          lists: [
            {
              $id: Now.ID["incidents_open"],
              title: "Open",
              order: 10,
              condition: "active=true^EQ",
              table: "incident",
              columns: "number,short_description,priority,state",
              applicabilities: [
                {
                  $id: Now.ID["incidents_open_applicability"],
                  applicability: applicability
                }
              ]
            },
            {
              $id: Now.ID["incidents_all"],
              title: "All",
              order: 20,
              condition: "",
              table: "incident",
              columns: "number,short_description,priority,state",
              applicabilities: [
                {
                  $id: Now.ID["incidents_all_applicability"],
                  applicability: applicability
                }
              ]
            }
    ]

    リスト アレイ

    UX リストメニュー構成のフィルタリングと列構成を使用して、テーブルデータ [sys_ux_list] のリストビューを定義します。

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

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

    title 文字列 必須。ナビゲーションメニューに表示するリストのタイトル。
    テーブル 文字列 必須。リストに使用するテーブルの名前。
    columns 文字列 リストに表示する列名のカンマ区切りリスト。
    ステータス 文字列 リストに表示されるレコードをフィルタリングするためのエンコードされたクエリ文字列。
    順序 番号 カテゴリ内のリストの位置を示す数値。小さい番号のリストが最初に表示されます。
    アクティブ ブール リストをユーザーに表示するかどうかを示すフラグ。

    デフォルト:true

    適用 アレイ リストを表示できるロールを制御する 適用性 オブジェクトの変数識別子のリスト。詳細については、「適用性 オブジェクト」を参照してください。
    lists: [
            {
              $id: Now.ID["assets_active"],
              title: "Active",
              order: 10,
              condition: "install_status=1",
              table: "alm_asset",
              columns: "asset_tag,display_name,model_category,assigned_to",
              applicabilities: [
                {
                  $id: Now.ID["assets_active_applicability"],
                  applicability: assetApplicability
                }
              ]
            },
            {
              $id: Now.ID["assets_all"],
              title: "All",
              order: 20,
              condition: "",
              table: "alm_asset",
              columns: "asset_tag,display_name,model_category,assigned_to",
              applicabilities: [
                {
                  $id: Now.ID["assets_all_applicability"],
                  applicability: assetApplicability
                }
              ]
      }
    ]

    適用性 オブジェクト

    UX リストメニュー構成でリストを表示できる対象者 [sys_ux_applicability] を定義します。

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

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

    name 文字列 必須。適用性ルールの名前。
    説明 文字列 対象者の説明。
    アクティブ ブール 適用性ルールが適用されているかどうかを示すフラグ。

    デフォルト:true

    roles アレイ ユーザーがリストを表示するために必要な ロール オブジェクトまたはロールのsys_ids変数識別子のリスト。詳細については、「ロール API - ServiceNow Fluent」を参照してください。
    roleNames 文字列 ユーザーがリストを表示するために必要なロール名のカンマ区切りリスト。このプロパティは、 roles プロパティの代替です。
    import { Applicability } from '@servicenow/sdk/core';
    
    const managerApplicability = Applicability({
        $id: Now.ID['manager_applicability'],
        name: 'Managers Only',
        roles: [managerRole]
    })

    参照されるロールは、 Role オブジェクトを使用して定義されます。

    import { Role } from '@servicenow/sdk/core';
    
    const managerRole = Role({
        $id: Now.ID['manager_user_role'],
        name: 'x_snc_manager.user',
        containsRoles: ['canvas_user']
    })