スクリプトインクルード API - ServiceNow Fluent
スクリプトインクルード API は、サーバーサイドスクリプトで使用するために JavaScript の関数とクラスを格納するスクリプトインクルード [sys_script_include] を定義します。
注:
新しいスクリプトの場合は、可能であればスクリプトインクルードの代わりに JavaScript モジュールを使用して、スコープ対象のアプリケーション内でのコードの再利用とサードパーティライブラリの使用をサポートします。JavaScript モジュールのサポートと制限の詳細については、「 JavaScript モジュールとサードパーティライブラリ」を参照してください。
スクリプトインクルードに関する一般的な情報については、「 Script includes」を参照してください。
ScriptInclude オブジェクト
スクリプトインクルード [sys_script_include] を作成して、他のスクリプトから呼び出されたときに実行されるサーバーサイドスクリプトを定義します。
| 名前 | タイプ | 説明 |
|---|---|---|
| $id | 文字列または数値 | 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。 形式: |
| name | 文字列 | 必須。スクリプトインクルードの名前。クラスを定義する場合、名前はクラスの名前、プロトタイプ、およびタイプと一致する必要があります。クラスレス (オンデマンド) スクリプトインクルードを使用する場合、名前は関数名と一致する必要があります。 |
| スクリプト | スクリプト | 必須。他のスクリプトから呼び出すサーバー側スクリプト。スクリプトは、単一の JavaScript クラスまたはグローバル関数を定義する必要があります。クラス名または関数名は name プロパティと一致する必要があります。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。 Format (形式):
|
| API 名 | 文字列 | スクリプトインクルードの内部名。スコープ外のアプリケーションからスクリプトインクルードを呼び出すために使用されます。 デフォルト:<scope>.<name> |
| 説明 | 文字列 | スクリプトインクルードの目的と機能の説明。 |
| clientCallable | ブール | クライアント側スクリプトが GlideAjax を使用してスクリプトインクルードを呼び出せるかどうかを示すフラグ。 スクリプトインクルードは、クライアントスクリプト、リスト/レポートフィルター、参照修飾子、または URL の一部として指定されている場合に使用できます。クライアント呼び出し可能スクリプトインクルードは GlideAjax から呼び出され、ユーザーはスクリプトインクルードに関連付けられた ACL を満たす必要があります。 有効な値:
デフォルト値:false |
| mobileCallable | ブール | スクリプトインクルードがモバイルデバイスから呼び出されたクライアントスクリプトで使用できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| サンドボックス呼び出し可能 | ブール | スクリプトインクルードが、クエリ条件などのスクリプトサンドボックスから呼び出されたスクリプトで使用できるかどうかを示すフラグ。 重要: スクリプトインクルードは、必要な場合にのみスクリプトサンドボックスで使用できるようにする必要があります。 有効な値:
デフォルト値:false |
| callerAccess | 文字列 | スクリプトインクルードへのクロススコープアクセスを許可する方法のオプション。詳細については、「限定呼び出し元アクセス特権の設定」を参照してください。 有効な値:
|
| accessibleFrom | 文字列 | スクリプトインクルードにアクセスできるアプリケーションを指定します。 有効な値:
デフォルト値:package_private |
| アクティブ | ブール | スクリプトインクルードが有効かどうかを示すフラグ。 有効な値:
デフォルト:true |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
次の例では、スクリプトインクルードは 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,
})