スクリプトインクルード API - ServiceNow Fluent

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:6分
  • スクリプトインクルード API は、サーバーサイドスクリプトで使用するために JavaScript の関数とクラスを格納するスクリプトインクルード [sys_script_include] を定義します。

    注:
    新しいスクリプトの場合は、可能であればスクリプトインクルードの代わりに JavaScript モジュールを使用して、スコープ対象のアプリケーション内でのコードの再利用とサードパーティライブラリの使用をサポートします。JavaScript モジュールのサポートと制限の詳細については、「 JavaScript モジュールとサードパーティライブラリ」を参照してください。

    スクリプトインクルードに関する一般的な情報については、「 Script includes」を参照してください。

    ScriptInclude オブジェクト

    スクリプトインクルード [sys_script_include] を作成して、他のスクリプトから呼び出されたときに実行されるサーバーサイドスクリプトを定義します。

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

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

    name 文字列 必須。スクリプトインクルードの名前。クラスを定義する場合、名前はクラスの名前、プロトタイプ、およびタイプと一致する必要があります。クラスレス (オンデマンド) スクリプトインクルードを使用する場合、名前は関数名と一致する必要があります。
    スクリプト スクリプト 必須。他のスクリプトから呼び出すサーバー側スクリプト。スクリプトは、単一の JavaScript クラスまたはグローバル関数を定義する必要があります。クラス名または関数名は name プロパティと一致する必要があります。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。
    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーションでファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    API 名 文字列 スクリプトインクルードの内部名。スコープ外のアプリケーションからスクリプトインクルードを呼び出すために使用されます。

    デフォルト:<scope>.<name>

    説明 文字列 スクリプトインクルードの目的と機能の説明。
    clientCallable ブール クライアント側スクリプトが GlideAjax を使用してスクリプトインクルードを呼び出せるかどうかを示すフラグ。

    スクリプトインクルードは、クライアントスクリプト、リスト/レポートフィルター、参照修飾子、または URL の一部として指定されている場合に使用できます。クライアント呼び出し可能スクリプトインクルードは GlideAjax から呼び出され、ユーザーはスクリプトインクルードに関連付けられた ACL を満たす必要があります。

    有効な値:
    • true:スクリプトインクルードはクライアントサイドスクリプトで使用できます。
    • false:スクリプトインクルードはクライアント側スクリプトでは使用できません。

    デフォルト値:false

    mobileCallable ブール スクリプトインクルードがモバイルデバイスから呼び出されたクライアントスクリプトで使用できるかどうかを示すフラグ。
    有効な値:
    • true:スクリプトインクルードは、モバイルデバイスから呼び出されるクライアントスクリプトで使用できます。
    • false:スクリプトインクルードは、モバイルデバイスから呼び出されるクライアントスクリプトでは使用できません。

    デフォルト値:false

    サンドボックス呼び出し可能 ブール スクリプトインクルードが、クエリ条件などのスクリプトサンドボックスから呼び出されたスクリプトで使用できるかどうかを示すフラグ。
    重要:
    スクリプトインクルードは、必要な場合にのみスクリプトサンドボックスで使用できるようにする必要があります。
    有効な値:
    • true:スクリプトインクルードは、スクリプトサンドボックスから呼び出されたスクリプトで使用できます。
    • false:スクリプトインクルードは、スクリプトサンドボックスから呼び出されたスクリプトでは使用できません。

    デフォルト値:false

    callerAccess 文字列 スクリプトインクルードへのクロススコープアクセスを許可する方法のオプション。詳細については、「限定呼び出し元アクセス特権の設定」を参照してください。
    有効な値:
    • restriction:スクリプトインクルードの呼び出しは手動で承認する必要があります。アクセス要求は、 ステータスを使用して限定呼び出し元アクセス テーブルで追跡されます。
    • tracking:スクリプトインクルードの呼び出しは自動的に承認されます。呼び出しは、 ステータスを使用して限定呼び出し元アクセス テーブルで追跡されます。
    accessibleFrom 文字列 スクリプトインクルードにアクセスできるアプリケーションを指定します。
    有効な値:
    • public:すべてのアプリケーションスコープでスクリプトインクルードを呼び出すことができます。
    • package_private:スクリプトインクルードは、それが含まれるアプリケーションスコープからのみ呼び出すことができます。

    デフォルト値:package_private

    アクティブ ブール スクリプトインクルードが有効かどうかを示すフラグ。
    有効な値:
    • true:スクリプトインクルードは呼び出し可能です。
    • false:スクリプトインクルードは呼び出されません。

    デフォルト:true

    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    次の例では、スクリプトインクルードは SampleClass.server.js ファイルのスクリプトを使用します。
    import { ScriptInclude } from '@servicenow/sdk/core';
    
    ScriptInclude({
        $id: Now.ID['sample-script-include'],
        name: 'SampleScriptInclude',
        script: Now.include("./SampleClass.server.js"),
        description: 'some description',
        apiName: 'x_scope.SampleScriptInclude',
        callerAccess: 'tracking',
        clientCallable: true,
        mobileCallable: true,
        sandboxCallable: true,
        accessibleFrom: 'public',
        active: true,
    })