You need to enable JavaScript to run this app.
导航

步骤 YAML 规则

最近更新时间2023.09.27 14:25:33

首次发布时间2023.08.08 10:22:54

本文为您介绍自定义步骤 YAML 中 Inputs 参数和 Outputs 参数的编写规则。

Inputs

Inputs 用于配置步骤输入信息,支持配置多条步骤入参。下表为您介绍每条步骤入参的参数含义和规则。

名称是否必填示例值说明

name

ENV_ID

参数名称。name 是当前步骤入参的唯一标识,不允许重名。 支持在 script 中通过export KEY=$(inputs.name)的形式注入当前入参。
支持英文大小写、数字、“-”中横线,长度 2~50。

displayName

环境

参数显示名称。用作参数名称展示,不允许为空、不允许重名。
支持中英文大小写、数字、“-”中横线,长度 2~50。

description

这是一段描述信息

描述信息。在 displayName 旁展示一个问号,悬浮显示描述信息。
要求 200 个字符以内,支持中英文大小写和特殊字符。

type

string

参数类型。可选值有:

  • string:适用于 uiConfig.type 为 Input/Select/CodeEditor/Password/Text 的场景。

  • array:适用于 uiConfig.type 为 CheckBoxGroup 的场景。

defaultValue

开发环境

默认值。

  • 填写默认值时,注意必须和 type 类型匹配。type 为 string 时,defaultValue 为 string 类型的值;type 为 array 时,defaultValue 为 array 类型的值。
  • 当定义了 validateRule 时,defaultValue 需符合 validateRule 规则。

required

true

是否必填

  • true:必填。在 displayName 左侧展示小红星,保存步骤时会校验当前参数是否填写。

  • false:选填。

uiConfig

-

前端界面的 UI 组件配置。
不设置 uiConfig 时,默认使用 Input 输入框。

uiConfig

名称是否必填示例值说明

type

Input

UI 组件类型。可选值有:

  • Input:输入框。

  • Select:下拉单选框。

  • CheckBoxGroup:复选框。

  • CodeEditor:命令行,默认支持 Bash 命令。

  • Password:界面显示为星号的输入框。

  • Text:固定文本,显示一段只读文本。使用固定文本时,需要配合填写 defaultValue,该值会直接显示在步骤表单中。

dataSource

uiConfig:
  type: CheckBoxGroup
  dataSource:
    value:
      - label: a
        value: a
      - label: b
        value: b
      - label: c
        value: c

数据源,用于定义该组件可选的值。
仅适用于 Select 和 CheckBoxGroup 组件。

validateRule

# 长度校验
uiConfig:
      type: Input
      validateRule:
        - max: 5
          min: 2
          message: 长度必须大于2,小于5
# 正则校验
uiConfig:
      type: Input
      validateRule:
        - pattern: ^a
          message: 必须以字母 a 开头

校验规则,当前支持长度校验和正则校验。
仅适用于 Input 和 Password 组件。

Outputs

Outputs 用于配置步骤输出信息,支持配置多条步骤出参。下表为您介绍每条步骤出参的参数含义和规则。

说明

Outputs 产物暂不支持被下游任务引用。

名称是否必填示例值说明

name

bugs

参数名称。
支持英文大小写、数字、“-”中横线,长度 2~50。

displayName

缺陷数

参数显示名称。用作流水线运行详情中的产物名称展示,不允许为空、不允许重名。
支持中英文大小写、数字、“-”中横线,长度 2~50。

type

string

参数类型,默认为 string。

示例

下文为您展示各 UI 组件及校验规则的 YAML 示例。

输入框 Input

name: field1
displayName: 输入框
type: string
defaultValue: custom step
required: true
uiConfig:
  type: Input

下拉单选框 Select

name: field2
displayName: 选择框
type: string
defaultValue: b
required: true
uiConfig:
  type: Select
  dataSource:
    value:
      - label: a
        value: a
      - label: b
        value: b

复选框 CheckBoxGroup

name: field3
displayName: 复选框
type: array
required: true
defaultValue:
  - b
uiConfig:
  type: CheckBoxGroup
  dataSource:
    value:
      - label: a
        value: a
      - label: b
        value: b
      - label: c
        value: c

命令行 CodeEditor

name: field4
displayName: 命令行
type: string
defaultValue: echo 'custom step'
required: true
uiConfig:
  type: CodeEditor

密码框 Password

name: field5
displayName: 密码框
type: string
defaultValue: 
required: true
uiConfig:
  type: Password

固定文本 Text

name: field6
displayName: 文本
type: string
defaultValue: 这是只读的文本
required: true
uiConfig:
  type: Text

长度校验

- name: field1
  displayName: 输入框
  type: string
  defaultValue: aaaa
  required: true
  uiConfig:
    type: Input
    validateRule:
      - max: 5
        min: 2
        message: 长度必须大于2,小于5

正则校验

- name: field1
  displayName: 输入框
  type: string
  defaultValue: aaaa
  required: true
  uiConfig:
    type: Input
    validateRule:
      - pattern: ^a
        message: 必须以字母 a 开头