Pipelines Extension Resource Model - Tags

JFrog Pipelines Documentation

Products
JFrog Pipelines
Content Type
User Guide
ft:sourceType
Paligo

You can define the following tags in the resourceModel.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.

platforms

Defines the operating system for the node. Linux and Windows operating systems are supported.

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

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

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

immutable

When set to true, the field cannot be changed from its initial value.

Optional

validate

Begins a validation specification block.

Optional

configuration Examples Expand source

configuration:
  gitProvider:
    type: Integration
        required: true                  
    immutable: true        # Once the resource is created, it is immutable
    validate:
      isIntegrationType: SCM  # Check to see what are the integration types and publish the list as well
          allowedIntegrationTypes: [GitHub, GitLab] # Allow only these types of integrations
  fileName:
    type: String                   
    immutable: true        # Once the resource is created, it is immutable
    validate:
      notContains: 'bar'
  editors:
    type: String[]
    validate:
      isRegex:  ["^[a-z]+$",'i']    # Each element in array is validated with this
  fileDtTm:
    type: Date
  scanInterval:
    type: Int
    validate:
      min: 1
      max: 60
  creds:
    type: Credential       # User-defined data type

userDefinedDataType

Begins a set of data type definitions. User-defined data types specify property types with validation rules, and can be used as type values.

Tag

Description of Usage

Required/Optional

type

String that identifies this user-defined type. Must conform to alpha validation (letters only).

Required

configuration

Begins a block of property definitions.

Required

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

String that identifies an inbuilt or user-defined data type property.

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

userDefinedDataType Example Expand source

userDefinedDataType:
  - type: Credential               # User-defined data type
    configuration:
      - userName:                  # first property
        type: String
                required: true
        validate:                               
          isRegex: ["^[a-z]+$",'i']         # RegExp from a string
      - password:                 # second property
        type: String
        validate:                           
          isRegex: ["^[a-z]+$",'i']