UI アクション API - ServiceNow Fluent

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:18分
  • UI アクション API は、フォームやリストのボタン、リンク、コンテキストメニューアイテムなどのカスタムユーザーインターフェイス (UI) アクション [sys_ui_action] を定義します。

    UI アクションに関する一般的な情報については、「 Create a UI action」を参照してください。

    UiAction オブジェクト

    フォームに表示する UI アクション [sys_ui_action] を作成します。

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

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

    table 文字列 必須。UI アクションが利用可能なテーブルの名前。

    デフォルトでは、選択したテーブルを拡張するテーブルにも UI アクションが表示されます。たとえば、タスクアクションはインシデントテーブルに表示されます。すべてのテーブルでアクションを使用できるようにするには、値を グローバル に設定します。

    名前 文字列 必須。ボタン、リンク、またはコンテキストメニューアイテムに表示されるテキスト。名前は、指定されたテーブル内で一意である必要があります。
    actionName 文字列 スクリプトで UI アクションを参照するときに使用する一意の名前。
    アクティブ ブール UI アクションが有効かどうかを示すフラグ。
    有効な値:
    • true:UI アクションが表示されて実行されます。
    • false:UI アクションは非表示です。

    デフォルト:true

    フォーム オブジェクト フォームでの UI アクションの表示方法のオプション。詳細については、「フォームオブジェクト」を参照してください。
    list オブジェクト リストビューでの UI アクションの表示方法のオプション。詳細については、「リストオブジェクト」を参照してください。
    クライアント オブジェクト ブラウザーでスクリプトを実行するオプション。詳細については、「クライアントオブジェクト」を参照してください。
    ワークスペース オブジェクト ワークスペースでの UI アクションの機能と表示方法のオプション。詳細については、「ワークスペースオブジェクト」を参照してください。
    overrides 文字列または参照 UI アクションが上書きする別の UI アクションの名前または変数識別子。
    インサートを表示 ブール 新しいレコードを挿入する前に、新しいレコードにボタンを表示するかどうかを示すフラグ。
    有効な値:
    • true:ボタンは、挿入される前にレコードに表示されます。
    • false:挿入されていないレコードにはボタンが表示されません。

    デフォルト値:false

    showUpdate ブール 既存のレコードにボタンを表示するかどうかを示すフラグ。
    有効な値:
    • true:ボタンは既存のレコードに表示されます。
    • false:ボタンは既存のレコードに表示されません。

    デフォルト:true

    クエリを表示 ブール フィルタークエリが適用されたときに、UI アクションをリストに表示するかどうかを示すフラグ。
    有効な値:
    • true:フィルタークエリが適用されると UI アクションが表示されます。
    • false:UI アクションは表示されず、フィルタークエリが適用されます。

    デフォルト値:false

    showMultipleUpdate ブール 複数のレコードが選択されている場合にボタンを表示するかどうかを示すフラグ。
    有効な値:
    • true:このボタンは、複数のレコードが選択されている場合に表示されます。
    • false:複数のレコードが選択されている場合、ボタンは表示されません。

    デフォルト値:false

    ステータス 文字列 スクリプトを実行するために true でなければならないフィールドと値を指定する JavaScript 条件ステートメント。
    注:
    • script プロパティに条件ステートメントを含める場合は、このプロパティを使用しないでください。
    • 現在のオブジェクトは、リストコンテキストメニューの条件には使用できません。リストの showContextMenu プロパティが true の場合、これらのアクションでの current の使用は無視されます。
    • 関連リストボタンの UI アクション条件の親レコードを参照できます。たとえば、クローズした変更の [影響を受ける CI] 関連リストで [新規] ボタンと [編集] ボタンを無効にするには、グローバル m2m UI アクションを task_ci テーブルにコピーして、parent.active の条件を追加します。
    • 条件ステートメントで指定したいずれかのフィールドを空のままにすると、その条件はデフォルトで true になります。
    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーションでファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    スクリプト スクリプト UI アクションが実行されたときに実行されるクライアント側またはサーバー側のスクリプト。関数名は一意である必要があります。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。
    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーションでファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    コメント 文字列 UI アクションに関する内部メモ。
    メッセージ 文字列 UI アクションが、メッセージ [sys_ui_message] テーブルからローカライズされた代替メッセージを検索するためのキーとして使用できるテキスト文字列。[メッセージ] フィールドの個別の行にある各メッセージキー。

    インスタンスは、UI アクションがメッセージ文字列が [メッセージ] フィールドのキーと一致する getmessage('[message]') 呼び出しを行うたびに、ローカライズされたメッセージ文字列を探します。詳細については、「クライアントスクリプトメッセージの翻訳」を参照してください。

    ヒント 文字列 UI アクションにカーソルを合わせたときにツールヒントとして表示される簡単な説明。
    順序 番号 UI アクションが表示される順番。ボタンには左から右へ、メニューアクションには上から下への順番が適用されます。

    デフォルト:100

    isolateScript ブール スクリプトが strict モードで実行され、直接 DOM、jQuery、prototype、および window オブジェクトへのアクセスがオフになっているかどうかを示すフラグ。
    有効な値:
    • true:スクリプトを分離し、strict モードで実行しません。
    • false:スクリプトを strict モードで実行します。

    デフォルト値:false

    ロール アレイ 適用する UI アクションに必要な ロール オブジェクトの変数識別子またはロールの名前のリスト。詳細については、「ロール API - ServiceNow Fluent」を参照してください。
    includeInView アレイ UI アクションを含むビューの名前のリスト。
    excludeFromView アレイ UI アクションが除外されるビューの名前のリスト。
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import { UiAction } from '@servicenow/sdk/core'
            
    UiAction({
        $id: Now.ID['car_info'],
        table: 'x_snc_ts_custom_cars',
        actionName: 'Car Information',
        name: 'View car info',
        active: true,
        showInsert: true,
        showUpdate: true,
        hint: 'View car info',
        condition: "current.type == 'SUV'",
        form: {
            showButton: true,
            showLink: true,
            showContextMenu: false,
            style: 'destructive',
        },
        list: {
            showLink: true,
            style: 'primary',
            showButton: true,
            showContextMenu: false,
            showListChoice: false,
            showBannerButton: true,
            showSaveWithFormButton: true,
        },
        workspace: {
            isConfigurableWorkspace: true,
            showFormButtonV2: true,
            showFormMenuButtonV2: true,
            clientScriptV2: `function onClick(g_form) {
                            }`,
        },
        script: `current.name =  "updated by script";
                    current.update();`,
        roles: ['u_requestor'],
        client: {
            isClient: true,
            isUi11Compatible: true,
            isUi16Compatible: true,
            },
        order: 100,
        showQuery: false,
        showMultipleUpdate: false,
        isolateScript: false,
        includeInViews: ['specialView'],
        excludeFromViews: [],
    })

    フォームオブジェクト

    フォームでの UI アクションの表示方法を構成します。

    フォームオブジェクトは、UiAction オブジェクト内のプロパティです。

    表 : 2. プロパティ
    名前 タイプ 説明
    表示ボタン ブール フォームにボタンを含めるかどうかを示すフラグ。
    有効な値:
    • true:フォームにボタンが表示されます。
    • false:ボタンはフォームに表示されません。

    デフォルト値:false

    リンクの表示 ブール フォームの [関連リンク] セクションにリンクを含めるかどうかを示すフラグ。
    有効な値:
    • true:リンクが [関連リンク] セクションに表示されます。
    • false:リンクは [関連リンク] セクションに表示されません。

    デフォルト値:false

    showContextMenu ブール フォームのコンテキストメニューにアイテムを含めるかどうかを示すフラグ。
    有効な値:
    • true:コンテキストメニューにアイテムが表示されます。
    • false:アイテムはコンテキストメニューに表示されません。

    デフォルト値:false

    style 文字列 フォームでの UI アクションボタンの表示方法を定義するスタイル。
    有効な値:
    • primary:UI アクションを青色にします。
    • destructive:UI アクションを赤色にします。
    • unstyled:UI アクションはスタイル設定されていません。
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    form: {
      showButton: true,
      showLink: true,
      showContextMenu: false,
      style: 'destructive',
    }

    リストオブジェクト

    リストビューでの UI アクションの表示方法を設定します。

    リストオブジェクトは、UiAction オブジェクト内のプロパティです。

    表 : 3. プロパティ
    名前 タイプ 説明
    表示ボタン ブール リストの下部にボタンを含めるかどうかを示すフラグ。
    注:
    リストの下部にあるボタンは、条件に関係なく表示され、実行時にレコードごとに評価されます。
    有効な値:
    • true:リストの下部にボタンが表示されます。
    • false:ボタンはリストの下部に表示されません。

    デフォルト値:false

    リンクの表示 ブール リストの [関連リンク] セクションにリンクを含めるかどうかを示すフラグ。
    有効な値:
    • true:リンクが [関連リンク] セクションに表示されます。
    • false:リンクは [関連リンク] セクションに表示されません。

    デフォルト値:false

    showContextMenu ブール リストのコンテキストメニューにアイテムを含めるかどうかを示すフラグ。
    有効な値:
    • true:コンテキストメニューにアイテムが表示されます。
    • false:アイテムはコンテキストメニューに表示されません。

    デフォルト値:false

    style 文字列 リストビューでの UI アクションボタンの表示方法を定義するスタイル。
    有効な値:
    • primary:UI アクションを青色にします。
    • destructive:UI アクションを赤色にします。
    • unstyled:UI アクションはスタイル設定されていません。
    showListChoice ブール リストの [アクション] リストに選択肢を含めるかどうかを示すフラグ。
    注:
    [アクション] リストの選択肢は条件に関係なく表示され、実行時にレコードごとに評価されます。
    有効な値:
    • true:選択肢が [アクション] リストに表示されます。
    • false:選択肢は [アクション] リストに表示されません。

    デフォルト値:false

    showBannerButton ブール リストのバナーにボタンを含めるかどうかを示すフラグ。
    注:
    リストのバナーのボタンは、レコード固有の条件をサポートすることを意図したものではありません。リストにボタンを表示するかどうかを判断するために条件が評価されるときには、最初の行のみが考慮されます。current.getValue('state') === 'closed' などのレコード固有の条件は使用しないでください。
    有効な値:
    • true:リストのバナーにボタンが表示されます。
    • false:リストのバナーにボタンは表示されません。

    デフォルト値:false

    showSaveWithFormButton ブール UI アクションボタンを実行する前にリストからフォームにアクセスしたときにフォームが保存されるかどうかを示すフラグ。
    有効な値:
    • true:UI アクションを実行する前にフォームを保存する必要があります。
    • false:UI アクションを実行する前にフォームを保存する必要はありません。

    デフォルト値:false

    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    list: {
      showButton: true,
      showLink: true,
      showContextMenu: false,
      style: 'primary',
      showListChoice: false,
      showBannerButton: true,
      showSaveWithFormButton: true,
    }

    クライアントオブジェクト

    ブラウザーで UI アクションスクリプトを実行するためのオプションを設定します。

    クライアントオブジェクトは、UiAction オブジェクト内のプロパティです。

    表 : 4. プロパティ
    名前 タイプ 説明
    クライアント ブール UI アクションスクリプトが実行される場所を示すフラグ。
    有効な値:
    • true:スクリプトはクライアント (ユーザーのブラウザー) で実行されます。
    • false:スクリプトはサーバーで実行されます。

    デフォルト値:false

    isUi11 互換 ブール UI アクションが従来の UI 11 でサポートされているかどうかを示すフラグ。
    有効な値:
    • true:UI アクションは従来の UI 11 でサポートされています。
    • false:UI アクションは従来の UI 11 ではサポートされていません。

    デフォルト値:false

    isUi16互換 ブール UI アクションがコア UI でサポートされているかどうかを示すフラグ。
    有効な値:
    • true:UI アクションはコア UI でサポートされています。
    • false:UI アクションはコア UI ではサポートされていません。

    デフォルト値:false

    クリック時 文字列 UI アクションを実行したときに実行される JavaScript 関数の名前。関数は スクリプト プロパティで定義されます。
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    client: {
      isClient: true,
      isUi11Compatible: true,
      isUi16Compatible: true,
      onClick: 'reopenIncident()'
    }

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

    ワークスペースでの UI アクションの機能および表示方法を構成します。

    ワークスペースオブジェクトは、UiAction オブジェクト内のプロパティです。

    表 : 5. プロパティ
    名前 タイプ 説明
    isConfigurableWorkspace ブール UI アクションが適用されるワークスペースのタイプを示すフラグ。
    有効な値:
    • true:UI アクションは構成可能なワークスペースに適用されます。
    • false:UI アクションは従来のワークスペースに適用されます。

    デフォルト値:false

    showFormButtonV2 ブール ワークスペースのフォームにボタンを含めるかどうかを示すフラグ。
    有効な値:
    • true:フォームにボタンが表示されます。
    • false:ボタンはフォームに表示されません。

    デフォルト値:false

    showFormMenuButtonV2 ブール ワークスペースの [その他のアクション] メニューにアイテムを含めるかどうかを示すフラグ。
    有効な値:
    • true:アイテムが [その他のアクション] メニューに表示されます。
    • false:アイテムは [その他のアクション] メニューに表示されません。

    デフォルト値:false

    clientScriptV2 文字列 ワークスペースで UI アクションが実行されるときに実行されるスクリプト。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。
    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーションでファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    workspace: {
      isConfigurableWorkspace: true,
      showFormButtonV2: true,
      showFormMenuButtonV2: true,
      clientScriptV2: `function onClick(g_form) {
      }`,
    }