GlideScopedEvaluator - グローバル
GlideScopedEvaluator API を使用すると、スコープ対象のサーバースクリプトとグローバルサーバースクリプトの両方から GlideRecord フィールドのスクリプトを評価できます。
この API は、スクリプトフィールドタイプ内のスクリプトを評価します。レコードのスコープによってスクリプトのスコープが定義されます。
GlideScopedEvaluator - GlideScopedEvaluator()
GlideScopedEvaluator オブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
スコープ対応
スコープ対象のアプリケーションで GlideScopedEvaluator() メソッドを使用するには、対応するスコープ対象の GlideScopedEvaluator() メソッドを使用します。
GlideScopedEvaluator - evaluateScript(GlideRecord grObj, 文字列 scriptField, オブジェクト variables)
GlideRecord フィールドからスクリプトを評価します。
| 名前 | タイプ | 説明 |
|---|---|---|
| grObj | GlideRecord | スクリプト式を含む GlideRecord。 |
| scriptField | 文字列 | (オプション) スクリプト式を含むフィールドの名前。 |
| variables | オブジェクト | (オプション) 名前と値のペアを持つ変数のマップ。これらの変数は、このメソッドの実行中にスクリプトで使用できます。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | スクリプトの実行結果。 |
//For this example, we created a table: "x_app_table" with two columns: "short_description", "test_script"
// "test_script" will store the script to be evaluated by GlideScopedEvaluator.
var now_GR = new GlideRecord('x_app_table');
now_GR.short_description = 'Testing GlideScopedEvaluator';
now_GR.test_script = "gs.getUser().getName() + ' says ' + greeting; ";
now_GR.insert();
//setup variables to be used by the script
var vars = {'greeting' : 'hello'};
//Evaluate the script from the field
var evaluator = new GlideScopedEvaluator();
gs.info(evaluator.evaluateScript(now_GR, 'test_script', vars));
// Now retrieve the result
evaluator.evaluateScript(gr, 'u_test_script', null);
gs.info(evaluator.getVariable('result'));
出力:
admin says helloスコープ対応
スコープ対象のアプリケーションで evaluateScript() メソッドを使用するには、対応するスコープ対象の evaluateScript() メソッドを使用します。
GlideScopedEvaluator - getVariable(文字列 name)
GlideScopedEvaluator オブジェクトから変数を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| name | 文字列 | 変数の名前 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 指定された変数の値。 |
//setting up a record that contains the script to be executed.
var now_GR = new GlideRecord('global');
now_GR.u_short_description = 'Calculate Addition';
now_GR.u_test_script = "result = x + y";
evaluator.evaluateScript(now_GR, "script")
now_GR.insert();
var evaluator = new GlideScopedEvaluator();
evaluator.putVariable('x', 100);
evaluator.putVariable('y', 200);
evaluator.putVariable('result', null);
evaluator.evaluateScript(now_GR, "script")
now_GR.insert();
出力:
300スコープ対応
スコープ対象のアプリケーションで getVariable() メソッドを使用するには、対応するスコープ対象のメソッド getVariable() を使用します。
GlideScopedEvaluator - putVariable(文字列 name, オブジェクト value)
GlideScopedEvaluator オブジェクトに変数を配置します。これらの変数は、この GlideScopedEvaluator オブジェクトが実行するスクリプトで使用できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| name | 文字列 | 変数の名前 |
| value | オブジェクト | 変数の値。 |
| タイプ | 説明 |
|---|---|
| なし |
//setting up a record that contains the script to be executed.
var now_GR = new GlideRecord('u_global_table');
now_GR.u_short_description = 'Calculate Addition';
now_GR.u_test_script = "result = x + y";
evaluator.evaluateScript(now_GR, "script")
now_GR.insert();
var evaluator = new GlideScopedEvaluator();
evaluator.putVariable('x', 100);
evaluator.putVariable('y', 200);
evaluator.putVariable('result', null);
evaluator.evaluateScript(now_GR, "script")
now_GR.insert();
出力:
300スコープ対応
スコープ対象のアプリケーションで putVariable() メソッドを使用するには、対応するスコープ対象の putVariable() メソッドを使用します。