Merge Point Action Plugin



Overview

This action plugin reconciles the inputs coming from different branches of an logical statements. It provides the ability to define pairs of inputs that get merged. Such steps can be used without inputs to clarify branching in a complex workflow.

Saved Parameters Description

Inputs Description

The list of inputs depends on the configuration of the MergePoint action template.

If a custom expression is not provided for the primary and alternate values, then a run-time input with the name of the merged input and one with the name, suffixed with '_alternate' will both be requested as optional run-time inputs. If dynamic attributes are used, then they all are also requested as optional inputs. Note, the merged inputs are typed. By default (ie, unless an expression is defined for the primary or alternate value), the requested variable will be of the same type as the merged input type. If an expression uses dynamic attributes, those variables are of type 'string'.

Outputs Description

One output will be returned for each defined merged input. The output will have the type defined in the definition of the merged input and will have the same name.

Operating Instructions

This plug-in allows users to merge to input into a single output. This is useful when merging two alternate branches from a workflow, and reconciling some inputs; for example, if there is an optional move step.

A logical 'or' is required connecting back into the workflow the branch in which the move is done and the one in which it is not done. If a step after the OR needs to know where the file is, it needs to use either the location before the move or the one after the move, depending on which branch was followed. A Merge Point can be used for that. In this case, only one merged input would be defined, calling it for example: 'file_path'. The step will then have 2 inputs (both marked optional) 'file_path' and 'file_path_alternate'. If 'file_path' is found it will be used, otherwise the value of 'file_path_alternate' will. If neither are present and the merged input is marked as required, the execution will fail.

Another use case is when you need to do something like (A or B) and (C or D).

Since you cannot AND logical operators directly, you need a merge step in the middle that is just there to allow you to link the logical operators, but does not do anything.