分岐ロジックをジョブに追加するには、If/else タスクを使用します
If/else condition
タスクを使用して、タスク グラフにブール条件ロジックを追加します。これらのタスクは、ブール演算子とオペランドのペアで構成され、オペランドは、構成済みまたは動的パラメーターまたはタスク値を使用してジョブまたはタスクの状態を参照できます。 ジョブのパラメータ化を参照してください。
For example, suppose you have a task named process_records
that maintains a count of records that are not valid in a value named bad_records
, and you want to branch processing when you encounter bad records. To add this logic to your workflow, you can create an If/else condition
task with an expression like {{tasks.process_records.values.bad_records}} > 0
. You can then add dependent tasks based on the results of the condition.
If/else condition
タスクを含むジョブ実行の後、UI でジョブ実行の詳細を表示すると、結果と式の評価の詳細を表示できます。「ジョブ実行の詳細の表示」を参照してください。
注:
数値と非数値は、ブール演算子によって処理方法が異なります。
==
演算子と!=
演算子は、それぞれのオペランドの文字列比較を実行します。たとえば、12.0 == 12
は false と評価されます。>
、>=
、および<=
演算子は、それぞれのオペランドの数値比較を実行します。たとえば、12.0 >= 12
は true と評価され、10.0 >= 12
は false と評価されます。オペランドで タスク値 を参照する場合は、数値、文字列、およびブール値のみを使用できます。 その他の型があると、条件式は失敗します。 数値以外の型は文字列にシリアル化され、
If/else condition
式では文字列として扱われます。 たとえば、タスク値がブール値に設定されている場合、"true"
または"false"
にシリアル化されます。
If/else タスクを構成する
ジョブ UI のタスク タブからIf/else condition
タスクを追加するには、次の手順を実行します。
「タイプ」ドロップダウンメニューで、「
If/else condition
」を選択します。Enter the operand to be evaluated in the first Condition text box. The operand can reference any of the following:
ジョブ・パラメーター変数。
タスク パラメーター変数。
タスクの値。
ドロップダウンメニューからブール演算子を選択します。
2 番目の [条件 ] テキスト ボックスに、条件を評価するための値を入力します。
[タスクの保存] をクリックします。
If/else 条件の依存関係を構成する
タスク タブのタスク グラフからIf/else condition
タスクへの依存関係を構成するには、次の手順を実行します。
タスクグラフで
If/else condition
タスクを選択し、[ +タスクの追加]をクリックします。タスクの詳細を入力します。 「依存先」フィールドのデフォルトは
<task-name> (true)
で、<task-name>
はIf/else condition
タスクの名前です。[
<task-name> (false)
] を選択して、false 条件の評価で実行されるタスクを構成します。
If/else condition
の結果に基づいて、複数のタスクを直列または並列に実行するように設定できます。アップストリーム タスクの失敗に基づいて条件付きの実行が必要な場合は、 Run if dependencies
の構成を検討してください。 「タスクの依存関係を構成する」を参照してください。