Pipelines Extension Step Model - Tags

JFrog Pipelines Documentation

ft:sourceType
Paligo

You can define the following tags in the stepModel.yml file.

  • description

  • platforms

  • configuration

  • userDefinedDataType

description

A user-friendly description of the resource's function that will be available for display in the Pipelines UI. This is optional.

Defines the operating system for the node where the step will execute. Linux and Windows operating systems are supported.

This tag is optional and Linux is the default operating system when this tag is not specified.

Based on the operating system, respective shell scripts (Bash and/or PowerShell) must be available. For Linux, onExecute.sh and for Windows, onExecute.ps1 scripts must be available. If both operating systems are mentioned, then both the scripts must be available.

Tag

Description of usage

Required/Optional

os

Specifies the operating system. Linux and Windows are supported.

Optional

os Examples Expand source

platforms:                                            # optional
  - os: Linux
  - os: Windows

configuration

A step extension inherits all of the same tags as the generic Bash step to specify scoped environment variables, runtimes, node pools, and other standard properties. It also inherits the tags for integrations , inputsteps, inputresources and outputresources. In addition, a step extension can define other properties that will be unique to the step.

The configuration tag begins a block of property definitions. Each property definition begins with the name of the property (letters only, case-sensitive), followed by these subordinate tags:

Tag

Description of usage

Required/Optional

type

Specifies an inbuilt or user-defined data type

Required

required

When set as true, specifies that the property is mandatory. If no value is provided, pipeline sync will fail.

Default is false.

Optional

validate

Begins a validation specification block

Optional

configuration Examples Expand source

configuration:
  healthCheckUrl:
    type: Url
        required: true;
  notifyOnSuccess:
    type: Boolean
  notifyOnFailure:
    type: Boolean
  stuff:
    type: String[]
    validate:
      isRegex:  ["^[a-z]+$",'i']    # Each element in array is validated with this

userDefinedDataType

Begins a set of user-defined data type specifications. User-defined data types specify property types with validation rules, and can be used as type values in the step's property definitions.

The tag syntax is the same as used for the Resource Model.