云原生构建支持在页面上配置自定义按钮,点击按钮触发执行流水线(仅支持触发 页面自定义事件)。同时支持在页面上输入环境变量。
效果如下:
目前仅支持在 代码-分支详情页
上配置的自定义按钮。
在仓库根目录下增加 .cnb/web_trigger.yml
文件用于配置自定义按钮。
注意 .cnb/web_trigger.yml
配置文件中不支持 include
和 imports
语法。
目前仅支持配置分支详情页面的自定义按钮,yaml 中键值为 branch
,值为数组格式,数组元素定义如下:
reg
: 选填,String
,正则表达式,用于匹配分支名(仅匹配到的分支显示 buttons
配置的自定义按钮),
未填则匹配全部分支buttons
: 必填,Array<Button>
,自定义按钮定义。Button
类型定义如下
name
: 必填,String
,自定义按钮名description
: 选填,String
,按钮描述。如存在,则将作为流水线 title,否则流水线使用默认 titleevent
: 必填,String
,事件名env
: 选填,Object<String, String|EnvType>
,传给 web_trigger 自定义事件流水线的默认环境变量,不支持编辑。
对象键值为环境变量名;
对象值支持两种格式,String
和 EnvType
。EnvType
类型定义如下:
name
: 必填,String
,环境变量别名。非传给流水线的环境变量名value
: 必填,String
,环境变量值permissions
: 选填,权限控制,满足 users
或 roles
其中之一即有权限触发构建(还需要有仓库写权限)。如果未配置 permissions
,则有仓库写权限即可出发构建
users
: 选填,Array<String>
,用户名数组。可定义多个。roles
: 选填,Array<String>
,仓库角色数组。可定义多种仓库角色。
owner
(负责人)、master
(管理员Administrator)、developer
(开发者)、reporter
(助手)、guest
(访客)inputs
: 选填,Object<String, Input>
,可手动输入的环境变量,对象的键值为变量名,Input
类型定义如下:
description
:选填,String
,描述信息required
:选填,Boolean
,是否必填type
:选填,String
,输入框类型,可选 input
、textarea
、select
、switch
,默认为 input
default
: 选填,String
,默认值multiple
: 选填,Boolean
,是否支持多选,仅当 type=select
时有效,多选结果用分号分隔。单个选项的 value
中需避免出现逗号options
: 选填,Array<Option>
,当 type: select
或 type: switch
时的选项。Option
类型定义如下:
name
: 必填,String
,选项名value
: 必填,String
,选项值,作为环境变量值description
: 选填,String
,选项描述信息.cnb/web_trigger.yml
中的自定义按钮,仅支持触发 web_trigger 事件。
web_trigger
事件流水线在 .cnb.yml
中配置
仅有 仓库写权限
的用户可点击自定义按钮执行 web_trigger
流水线。