UiPath Documentation
maestro
latest
false
Maestro ユーザー ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

スクリプト

スクリプト ノードのリファレンス: 構成、環境、JavaScript の例

機能

JavaScript コードを実行し、戻り値を下流のノードに渡します。

構成のリファレンス

フィールドRequired既定 (Default)説明
スクリプトはいなし実行する JavaScript コード。returnステートメントを含む必要があります。戻り値がこのノードの出力になります。

JavaScript 環境

スクリプトは独立したランタイムで実行され、以下にアクセスできます。

  • $vars — フローの変数スコープです。$vars.<nodeName>.<property>経由でアップストリーム ノードの出力にアクセスします。
  • metadata — フロー実行のメタデータ
  • 標準の JavaScript 組み込みJSONMathDateArrayObjectStringNumberRegExpErrorPromiseURLURLSearchParams、タイマー関数など。

セキュリティの観点から、ランタイムはネットワーク API (fetch、 、 XMLHttpRequestWebSocket)、動的コード実行 (evalFunction)、およびストレージ API (indexedDBcaches) をブロックします。外部 API を呼び出すには、代わりに HTTP 要求ノードを使用します。

スクリプトは高速なメモリ内ロジックを目的としており、スクリプトの速度を保ち、実行時の制限を超えたりタイムアウトしたりする可能性のある非常に大きなペイロードの処理を避けてください。

アップストリーム ノードの出力にアクセスする

$vars.<nodeName>.<property> を使用します。<nodeName> はノードの変数名 ([プロパティ] パネルに表示) です。

// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

// Access a flow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

// Access a flow variable
const count = $vars.myVariable;

戻り値

スクリプトは値を返す必要があります。戻り値はノードの出力になり、下流で としてアクセスできます$vars.<nodeName>.output

return {
  message: "Processed",
  count: items.length
};
return {
  message: "Processed",
  count: items.length
};

入力と出力

入力

スクリプト ノードは、 を介して任意の上流の変数にアクセスでき $vars。型指定された入力スキーマはありません。 $vars 内のものはすべて使用できます。

出力

成功時$vars.<nodeName>.output:

スクリプトの戻り値です。形状はスクリプトが返す内容によって異なります。

失敗時 (エラー ハンドルが接続されている場合) — $vars.<nodeName>.error:

{
  "code": "string",
  "message": "string",
  "detail": "string",
  "category": "string",
  "status": 0
}
{
  "code": "string",
  "message": "string",
  "detail": "string",
  "category": "string",
  "status": 0
}

AI でスクリプトを生成する

スクリプト エディターの上にある 魔法の杖 のアイコンは、必要なものの平易な言葉での説明を受け入れ、JavaScript を生成します。これは、正確な $vars 構文を検索せずにアップストリーム ノードの出力にアクセスしたり、クイック変換を記述したりする場合に便利です。

例 1 — プロセス変数を設定する

// Set a variable that downstream nodes can reference
return {
  orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
  currency: "USD"
};
// Set a variable that downstream nodes can reference
return {
  orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
  currency: "USD"
};

下流のノードは、 $vars.script1.output.orderTotal および $vars.script1.output.currencyとして値にアクセスします。

例 2 — HTTP 応答を処理する

const data = $vars.httpRequest1.output.body;

return {
  title: data.title,
  userId: data.userId
};
const data = $vars.httpRequest1.output.body;

return {
  title: data.title,
  userId: data.userId
};

例 3 — 条件ロジック

const status = $vars.httpRequest1.output.statusCode;

if (status === 200) {
  return { success: true, data: $vars.httpRequest1.output.body };
} else {
  return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.statusCode;

if (status === 200) {
  return { success: true, data: $vars.httpRequest1.output.body };
} else {
  return { success: false, statusCode: status };
}

例 4 — 配列を変換する

const items = $vars.fetchItems1.output.body;

return {
  count: items.length,
  names: items.map(item => item.name)
};
const items = $vars.fetchItems1.output.body;

return {
  count: items.length,
  names: items.map(item => item.name)
};

これを使用すべき状況とデータ変換

スクリプトは次の場合に使用します。データ変換は、次の場合に使用します。
完全な JavaScript ロジック (ループ、条件、文字列操作) が必要です。単純なフィールド マッピングまたはコード不要の変換が必要な場合
アップストリームノードの出力から何かを計算したいコードを書かずに視覚的なマッパーが必要な場合
変換が複雑であるか、ステートフルである変換は単純な再形成です

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得