Skip to main content
System StatusContact Support
VersionOne Community

Configuring the Utility Plugin

This feature is available in Ultimate edition only.

editions-u.png

Overview 

Learn how to configure the Continuum Utility plugin and use each function.

All plugins support variable replacement in their properties. See Plugin Variables for details.

Apply Label

Labels are used in customized reporting, as a grouping mechanism for Pipeline Instances. The Apply Label function allows you to specify a Label key and value to apply to this Instance.

Properties

  • Path - (required) - The path in the data document to be used as the value of the label. Ex: github['repository']['name']
  • Label Name - (required) The name of the label to which the retrieved value will be set.

Conditional

While all Steps in a Stage have the ability for conditional execution, the Conditional function allows more precision, specifically in the form of an else clause.

Properties
  • Expression - An expression to evaluate against the Instance Workspace. Ex: 'master' in github['ref']

The Conditional function allows you to drag over a plugin function to execute in the If True condition, and optionally another function for the Else condition.

For even more complex evaluations and logic, consider the Python Script function.

End

The End function simply does what the name suggests - ends the current Instance in progress.

Properties
  • End Status - End the Instance with the selected status: Success, Failure or Canceled.

HTTP

In some cases a Pipeline may need to hit an HTTP endpoint, such as a RESTful API for a tool not supported by an official plugin. The HTTP function can access an HTTP endpoint, and save the response data into the Workspace.

Properties
  • URL - The full URL to access.
  • Headers - Optional - A JSON formatted collection of HTTP Headers.
  • HTTP Verb - The HTTP verb to use. GET, POST, PUT, DELETE supported.
  • Data - Optional - The data to POST to the URL. (Only available for specific verbs.)
  • Key - Optional - Key to set with the response, in the root of the Workspace document. (Dotted path notation is allowed and implies a nested key structure.)

Log

The Log function simply does what the name suggests - writes a message to both the Instance logfile as well as the on-page Instance log.

Properties
  • Message - A message to write to the log.

Parse Data

The Parse Data function provides the ability to parse a specific workspace key using a regular expression, and save the resulting match into a new key.

Properties
  • Source - (required) A source key in the Workspace. Ex: github['headcommit']['message']
  • Expresion - (required) A regular expression to apply to the Source.
  • Target - (required) The target Workspace key to set with the resulting match.

While a regular expression may have multiple matches, at this time only the first match is being saved into the specified key.

Python Script

The Python Script utility is useful when analysis of the Workspace is complex, such as iterating over the results of a previous Stage looking for a value, or performing complex logic before setting a new Workspace value.

The Python Script command runs in a tightly controlled environment. While most Python capabilities are available, the execution is limited to it's own sandbox. Inputs and Outputs are controlled by specific KEYWORDS.

Properties

  • Code - (required) Python code. Indentation and all other Python formatting rules must be followed.
Additional Arguments

Any JSON document provided as Additional Arguments will be available in the script's execution sandbox as the ARGS dictionary. For example, to find out who the best vampire slayer is, setting Additional Arguments to:

{
    "top_slayer": "Buffy"
}

could be accessed in the script as:

ARGS["top_slayer"]
Supported Keywords

The following KEYWORDS are provided to the execution sandbox, and have the specified capabilities:

WORKSPACE - allows access to the Instance Workspace. For example, to access GitHub data:

WORKSPACE['github']

LOGFILE - Write data to the Instance logfile. For example, to write a Critical severity message to the log:

LOGFILE.critical("oh noes")

Supported LOGFILE severites are .critical(), .warning(), .error(), .info() and .debug()

STEPLOG - Write a message to the prettier Log output table on the Pipeline Instance page.

STEPLOG("hello world").

OUTPUT - Build a dictionary of output values. When the script is complete, the entire OUTPUT dictionary will be added to the Instance Workspace.

Use caution when setting OUTPUT, as any existing Workspace data with matching keys will be updated.

RESULT - If set to any expression that Python considers 'False', (such as False, None, 0, '', etc), the Instance will be halted in failure status. If omitted or set to a 'True' value, Pipeline execution will continue.

  • Was this article helpful?