Skip to main content
The Pipeline gem allows you to run another pipeline from within your current pipeline. It supports conditional triggering, parameter passing, and returning metadata for each pipeline run. This gem is useful for building orchestrated workflows directly in the visual canvas. You can find it under the Custom category in the gem drawer. A single Pipeline gem execution can trigger the target pipeline multiple times. Triggered pipeline runs execute sequentially, and the Pipeline gem completes only after all triggered runs finish.
You can create pipelines solely dedicated to pipeline orchestration using multiple instances of this gem. We recommend labeling your orchestration pipelines to differentiate them from standard data pipelines.

Limitations

The Pipeline gem has the following limitations:
  • It can only trigger pipelines for the current project.
  • The Monitoring page doesn’t show the parent pipeline that triggered a run using the Pipeline gem.

Input and Output

The following table describes what the Pipeline gem expects as input and what it will produce as output. When no input is connected:
  • The Pipeline gem triggers the child pipeline once.
  • The output contains a single row of metadata for that run.
When an input dataset is connected:
  • If a status column is present, it is used to evaluate trigger conditions. If the trigger condition is met, the Pipeline gem triggers the child pipeline once for each input row.
  • If a status column is not present, the Pipeline gem always triggers the child pipeline once for each input row.
  • Additional columns can be used to pass parameter values into each run.
  • The output contains one row of metadata per input row.
The input dataset can be any dataset (including the output of an upstream Pipeline gem).

Output schema

Each row in the output table represents a pipeline run triggered from the Pipeline gem. The output schema provides you with the following information for each pipeline run.
Pipelines are skipped when the input does not meet the trigger condition set in the gem.

Parameters

The Pipeline gem accepts the following parameters.
Use multiple input rows to launch runs of the same pipeline with different sets of parameter values.

Trigger conditions

A Pipeline gem requires at least one non-empty input row to execute. If input is empty, the pipeline will not run, even when trigger condition is set to Always run.

Execution behavior

Prophecy supports the following execution behaviors for Pipeline gems.