maestro
latest
false
Maestro ユーザー ガイド
- はじめに
- 基本情報
- BPMN を使用したプロセス モデリング
- ケース管理を使用したプロセス モデリング
- フローを使用したプロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
フロー ワークフローの変数、演算子、条件の JavaScript 式の構文。
フロー式は JavaScript です。$vars プレフィックスが付いた変数を参照し、設定フィールド、[判断条件]、[条件分岐]、[スクリプト コード] の値を計算します。
ノード間および変数モデル間のデータの移動については、「 変数とデータ フロー」をご覧ください。
変数参照
参照するすべての値は、 $varsの下に存在します。
$vars.httpRequest1.output.body // node output
$vars.orderTotal // variable
$vars.manualTrigger1.output.userId // trigger input
$vars.httpRequest1.output.body // node output
$vars.orderTotal // variable
$vars.manualTrigger1.output.userId // trigger input
- ノードの出力:
$vars.<nodeName>.output。すべてのノードは、その結果を で公開します.outputそのオブジェクトの形状はノードによって異なるため、その出力フィールドについては、各ノードのリファレンスページを参照してください。 - 変数:
$vars.<name>。 - トリガーの入力:
$vars.<triggerName>.output.<inputName>。
入れ子になったプロパティにはドット表記を使用します。配列要素には、角括弧表記を使用します。
$vars.httpRequest1.output.body.customer.email
$vars.httpRequest1.output.body.items[0].id
$vars.httpRequest1.output.body.customer.email
$vars.httpRequest1.output.body.items[0].id
式を記述する場所
フローには、フィールドに応じて次の 2 つのモードがあります。
リテラル (テキスト) フィールド — 二重中括弧で囲まれたテキストに式を埋め込みます。これは、プロンプトまたはテンプレート化されたテキストが必要な場合にのみ使用します。
https://api.example.com/users/{{ $vars.manualTrigger1.output.userId }}
https://api.example.com/users/{{ $vars.manualTrigger1.output.userId }}
式フィールド ([判断] 条件と [条件分岐 (Switch)] 条件、[変数を更新] セクション) および スクリプト コード — 中括弧なしで式を直接記述します。
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200
演算子
標準の JavaScript 演算子がサポートされています。
| 演算子 | 例 | 結果 |
|---|---|---|
| 等値 | $vars.status === "active" | true OR false |
| 非等値 | $vars.count !== 0 | true OR false |
| 比較 | $vars.price > 100 | true OR false |
| 論理積 | $vars.isVerified && $vars.isActive | true OR false |
| 論理和 | $vars.role === "admin" || $vars.role === "owner" | true OR false |
| 三項 | $vars.count > 0 ? "has items" : "empty" | string |
文字列の操作
"Hello, " + $vars.firstName
$vars.message.toUpperCase()
$vars.email.includes("@uipath.com")
"Hello, " + $vars.firstName
$vars.message.toUpperCase()
$vars.email.includes("@uipath.com")
テンプレート リテラルは、変数と静的テキストを組み合わせます。
`Hello ${firstName}, your order #${orderId} has shipped.`
`Hello ${firstName}, your order #${orderId} has shipped.`
任意のチェーン
?.を使用して、未定義の可能性のあるプロパティに安全にアクセスできます。
$vars.httpRequest1.output.body?.items?.[0]?.id
$vars.httpRequest1.output.body?.items?.[0]?.id
いずれかの中間プロパティが null または未定義の場合は、実行時エラーを発生させる代わりに undefined を返します。
Nullish 結合
?? を使用すると、値が null または未定義の場合に既定値を指定できます。
$vars.userName ?? "Anonymous"
$vars.userName ?? "Anonymous"
一般的なエラー
| 症状 | 原因 | 何をすべきか |
|---|---|---|
式は次のように解決されます。 undefined | ノードが実行される前にノードの出力を参照したか、出力に存在しないフィールドを参照した | 上流ノードからの出力のみを参照します。実際の出力フィールドについては、ノードのリファレンス ページをご覧ください。欠落している可能性があるプロパティには、任意のチェーン (?.) を使用します。 |
| [判断] 条件または [条件分岐 (switch)] 条件が予期しない動作をする、または失敗する | この条件は裸のブール式ではなく、たとえば return ステートメントとして記述されます | true または falseに解決されるプレーンな式を記述します (例: $vars.order1.output.total > 1000)。returnは使用しないでください。 |
Cannot find name '$vars' (または '$self') | 変数がこのノードのスコープ内にないか、 $self 変数が独自の出力を生成しないノードで使用されています | そのノードの変数ピッカーに表示されている変数のみを参照します。$vars スコープ内の変数のみに解決されます。 $self は、出力を生成するノードでのみ使用できます。 |
| 別のノードの値を参照できません | スコープが上流のみです。ノードには、下流のノード、兄弟ブランチ ノード、またはすでに終了したループ内のノードは認識できません | 生産ノードが参照する場所の上流になるように再構築するか、スコープ内の変数を介して値を運びます。 |
$vars.<node>.error は利用できません | ノードのエラー出力は、そのノードでエラー処理が有効になっている (または、そのエラーパスが接続されている) 場合にのみ、スコープ内にあります | ノードでエラー処理を有効化するか、ノードのエラー ハンドルを接続してから、 を参照 $vars.<node>.error。 |
{{ }} リテラル テキストとして表示される、またはテキスト フィールドが解決されない | モードの不一致: {{ }} は、リテラル (テキスト) フィールドでのみ機能します | {{ $vars.x }}はプレーン テキスト フィールドでのみ使用してください。[式] フィールド、および [判断] および [条件分岐 (switch)] で、中括弧なしで直接$vars.xを入力します。 |
[判断] 条件と [条件分岐 (switch)] 条件は、実行時に式として実行されます。return ステートメントは、スクリプト ノード コードでのみ有効です。
備考
- 式は設計時ではなく実行時に評価されます。構文エラーはノードの実行時に表面化します。
- 設定フィールド内の式は、そのフィールドが期待する型に解決される必要があります。つまり、条件フィールドは
trueまたはfalseに解決される必要があります。 .flowファイルに表示される=と=js:のプレフィックスは、内部のシリアル化形式です。エディターには入力しません。- 型チェックはベストエフォートです。緩やかに型指定された出力 (
anyと型付けされたオブジェクトまたは配列) への参照は完全には検証されていないため、入れ子になったフィールド名に入力ミスがあると警告なしに通過する可能性があります。ネストされたパスをノードの出力と照合して再確認してください。