Configure chains to run other chains

When you create a chain, you can configure it to run child chains. The parent chain can interrupt its child jobs whenever it is stopped.

Note: PulseUno uses agents to run chains. By default, an agent can run one chain at a time. To run multiple chains in parallel, make sure you have enough available agents. For details about agents, see Manage agents.

To configure a chain to run another chain:

  1. In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
  2. In the sidebar, select Chains.
  3. Open a chain from the chain list and click Edit.

    Or create a new chain, as described in Create chains.

  4. In the Steps tab, click Add step to chain .

  5. From the Add Step list, add the Run another chain step.

  6. Click the step you just added and enter the following configuration details.

    Field Description
    Title Enter a name for the step.
    Chain Select the chain you want to run using this step.
    Use the chain run stream

    By default, the child chain runs on the same stream/branch as the parent chain.

    To run the child chain on a different stream/branch, clear this option and specify another stream.

    Note: To run the child chain on a branch in a different Git repository, your product must be set as trusted for the specified Git repository. For details, see Define trusted products for a Git repository.

    Wait for chain run results

    By default, the parent chain doesn't wait for the child chain to finish, and continues to run.

    Select this option to make the parent chain wait until the child chain finishes. This way, the parent chain can take account of the child chain's result. If you stop the parent chain while it is waiting for a child chain, the child chain will also stop.

    Note: Some steps, such as Maven or Gradle, may not be interruptible to avoid leaving the build in an indeterminate state. In this case, PulseUno waits for the step to complete and then stops the child chain.

    Caution: By default, only one chain at a time can run on an agent. If you choose to wait for chain run results, make sure you have an available agent on which to run the child chain. Otherwise, the child chain is triggered but doesn't run.

    Variables for target chain

    (Optional) Specify the variables to use in the child chain. If the same variables are defined in the child chain, they are overridden.

    Enter each variable on a separate line in this format:

    KEY=VALUE

    Control options

    (Optional) Expand Control options and define the following settings:

    • Enable step. Leave this option selected to enable the step to run. Clearing this option deactivates the step.

    • Fail the step. Specify the conditions for failing the step, such as findings criteria and/or log entries.

    • Mark step as unstable. Specify the conditions for making the step unstable, such as findings criteria and/or log entries.

    Output variables (Optional) Enter the variables to be passed to other steps down the chain. For details, see Publish output variables to chain steps.

Back to top

See also: