パイプラインのタスクの出力で、指定した条件に基づいてパイプラインの実行または停止を決定できます。タスクの出力に基づいてパイプラインの動作を決めるには、[条件] タスクを使用します。

パイプラインで、[条件] タスクを決定ポイントとして使用します。指定した条件式で [条件] タスクを実行すると、パイプライン、ステージ、およびタスクのプロパティを評価できます。

[条件] タスクの結果によって、パイプラインで次のタスクを実行するかどうかが決まります。

  • 条件が True の場合、パイプラインの実行を続行できます。
  • 条件が False の場合、パイプラインが停止します。

[条件] タスクとともに複数のタスクをバインドした 1 つのタスクの出力値を、次のタスクの入力として使用する方法については、Code Stream パイプラインで変数のバインドを使用する方法を参照してください。

表 1. [条件] タスクおよびその条件式とパイプラインとの関連
条件タスク 影響を受ける対象 機能

条件タスク

パイプライン

[条件] タスクでは、タスクの出力が True か False かに応じて、パイプラインをその時点で実行または停止するかどうかが決まります。

条件式

[条件] タスクの出力

パイプラインを実行すると、[条件] タスクに含まれる条件式で、True または False の出力ステータスが返されます。たとえば、条件式で、[条件] タスクの出力ステータスを完了にすることや、ビルド番号 74 にする必要があるとします。

条件式は、次のように [条件] タスクの [タスク] タブに表示されます。

条件式でサポートされる構成要素が表示され、パイプライン変数、タスク出力変数、値、演算子の例が示されます。

[条件] タスクの機能と動作は、他のタイプのタスクでの [条件に基づく] 設定とは異なります。

この 条件に基づく 設定は、他のタイプのタスクで使用できます。

他のタイプのタスクの [条件に基づく] では、前提条件式の評価が True であるか False であるかに基づいて、後続のタスクではなく現在のタスクを実行するかどうかが判断されます。[条件に基づく] 設定の条件式は、パイプラインの実行時に現在のタスクの出力ステータスとして True または False を返します。[条件に基づく] 設定は、その条件式とともに [タスク] タブに表示されます。

この例では、[条件] タスクを使用します。

前提条件

  • パイプラインが配置されており、ステージとタスクが含まれていることを確認します。

手順

  1. パイプラインで、[条件] タスクを表示する必要がある決定ポイントを決めます。
  2. ステータスが成功か失敗かに依存するタスクの前に、[条件] タスクを追加します。
  3. [条件] タスクに条件式を追加します。
    例: "${Stage1.task1.output.status}" == "COMPLETED" || ${input.buildNumber} == 74
    パイプラインの実行時に True または False と評価される条件式を使用して、条件タスクを追加します。
  4. タスクを検証します。
  5. パイプラインを保存し、有効にして実行します。

結果

パイプラインの実行を監視し、[条件] タスクでパイプラインの継続実行または停止を確認します。

次のタスク

パイプライン展開をロールバックする場合にも、[条件] タスクを使用できます。たとえば、ロールバック パイプラインでは、[条件] タスクによって、 Code Stream が条件式に基づいてパイプラインの障害をマーク付けし、さまざまな障害タイプに対して 1 つのロールバック フローをトリガできます。

デプロイをロールバックする場合は、Code Stream で展開をロールバックする方法を参照してください。