Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The configuration for Invoke Plugin can be quite daunting but we will break it down into manageable pieces.

Plugin Operation

1️⃣ The chosen Plugin and Plugin Operation show here, these are populated by default based on the Plugin Operation that was dragged into the canvas and rarely need to be changed.

Plugin Inputs

2️⃣ Plugin Inputs are 1 of 3 ways a Plugin Operation can ask for configuration values from the user, the other 2 being Project Properties and Target Properties. The Plugin Inputs presented depend entirely upon the chose Plugin and Plugin Operation, as such, more detailed information about Plugin Inputs can be found in the respective Plugin Guides.

Plugin Outputs

3️⃣ Plugin Operations can optionally return 0 or more Plugin Outputs. A Plugin Output is any meaningful piece of data that was calculated during Plugin Execution, for example the JDBC Plugin’s compileInvalid operation returns 4 Outputs:

...

Any Plugin Output can assigned to a Workflow Variable. Doing so allows the Output to be used elsewhere in the Workflow!

Endpoint Specification

4️⃣ Generally the Endpoint Specification does not need to be touched or modified. However it can still be good to understand what it is and why its present.

Whenever a Workflow executes, it is executing on a specific Target which is decided when selecting an Environment and Target Group in the Workflow Request form. The cross section of an Environment and Target Group is called a Target. The decided Target will have 1 or more Endpoints associated to it. These Endpoints are the physical machines/servers where this Plugin Execution will ultimately take place.

Having said all of that - we are ready to take a look at the available configuration:

Field

Description

Target Group Override

As mentioned above the Target Group and Target are decided when the Workflow Request form is submitted, should you wish to use a different Target Group, that can be specified here. This will result in a different set of Endpoints being used for Plugin Execution.

Endpoint Selection

A Target can have multiple Endpoints associated to it. This input allows you to specify which of those Endpoints are considered “candidates” for Plugin Execution.

Available options are:

  • All (default) - All Endpoints associated to the Target will considered for Execution (this does not necessarily mean they will be used).

  • Resource - An Endpoint may have a Resource Type associated to it (think of it like a tag). Selecting this option allows you to select Endpoints with only a specific Resource Type.

Endpoint Execution

Once the list of Endpoint candidates is chosen based on Selection criteria above, we can then decide which of those Endpoints should actually perform Plugin Executions. Available options are:

  • Any (default) - A random Endpoint from the available candidates will be chosen and used for the Plugin Execution

  • All - Every Endpoint in the candidate list will perform a Plugin Execution. Selecting this option presents two more additional options:

    • Max Parallel % - What percentage of the Endpoints should execute in parallel. 100% means all should execute at the same time. 1% means they should execute sequentially (provided there are not more than 100 Endpoints in the candidate list).

    • Stop On Error - Should any individual Plugin Execution fail, halt any subsequent Plugin Executions.

Artifacts Delivery

5️⃣ A Plugin Operation has the ability to Produce or Consume Artifacts from FlexDeploy’s Artifact Repository.

Most Plugin Operations will default these values, for example most “Build” operations will have Produces checked, and vice versa with “Deploy” operations and Consumes. There are, however, a few Plugin Operations that are more build/deploy agnostic, such as the Shell Plugin - Execute in our example. Those Plugin Operations have the ability to either Consume, Produce or do neither. It largely depends on the purpose of the Shell script and in these cases the options must be selected manually.

User Inputs

Some Plugin Operations allow for passing custom User Inputs into the Plugin Execution.

...

Note that specifying a User Input on its own does not really accomplish anything, it must be used as part of the Plugin Execution, in our case this means using it in our Shell script.

...

User Outputs

Similar to User Inputs, a Plugin Operation can also allow custom User Outputs. They serve the same function as Plugin Outputs but are just user specific. Lets update our Shell API call example above to return the API response as an example. To start we need to add a new User Output.

...

In the above example, API_RESPONSE is the output that should be returned from our Shell script, and WF_API_RESPONSE is the Workflow Variable that will capture this value and be usable elsewhere throughout the Workflow.

...

Invoke Test

The Invoke Test step provides the ability to invoke a group of tests for the Project executing the Workflow. The Step will take into account any filters present in the Test Automation yaml configuration when determining what tests should be run. Several other configuration inputs can be specified to further refine the tests that should be executed.

...