更新时间:2024-04-08 GMT+08:00
分享

插件介绍

本文通过一个简单示例插件为您介绍插件的相关属性。

插件包结构

文件结构:

extension.zip                          # 插件zip包
   | -- scripts                        # (可选)脚本文件夹,用于存放包含插件执行逻辑的脚本
   |    | -- xxx                       # 包含插件执行逻辑的脚本
   | -- i18n                           # (可选)多语言,存放所有文案信息
   |    | -- zh-cn                     # 中文环境内容
   |         | -- resources.json       # 对应语言的国际化资源
   |    | -- en-us                     # 英文环境内容
   |         | -- resources.json       # 对应语言的国际化资源
   | -- codeArts-extension.json        # (必选)插件执行定义文件,Json格式,包括扩展插件的基本信息+input+execution 

注意事项:

  • 插件必须为.zip后缀。
  • 插件包根目录下必须包含名为“codearts-extension.json”的元数据文件。
  • 页面注册时填写的“唯一标识”,需与“codearts-extension.json”文件中的“name”字段值匹配;“插件类型”需与文件中的“category”字段值匹配。
  • “resources.json”文件只能使用utf-8进行编码,不支持中文标点符号与其他编码形式,若输入则为乱码展示。

    “插件类型”和“category”字段值对应关系如下:

    插件类型

    category

    构建

    Build

    代码检查

    Gate

    部署

    Deploy

    测试

    Test

    通用

    Normal

codearts-extension.json文件定义

“codearts-extension.json”文件示例内容如下:

{
    "type": "Task",
	"name": "demo_plugin",
	"friendlyName": "示例插件",
	"description": "这是一个示例插件",
	"category": "Gate",
	"version": "0.0.2",
	"versionDescription": "0.0.1初始化版本",
	"dataSourceBindings": [],
	"inputs": [{
	    "label": "服务调用地址",
		"name": "SERVICE_URL",
		"type": "input",
		"description": "请输入服务地址url",
		"defaultValue": "",
		"required": true
	},
	{
	    "label": "调用服务的token",
		"name": "SERVICE_TOKEN",
		"type": "input",
		"description": "请输入调用服务的token",
		"defaultValue": "",
		"required": true
	}],
	"execution": {
		"type": "Shell",
		"target": "scripts/execution.sh"
	},
	"outputs": []
}

参数说明如下:

参数项

说明

type

填写固定值“Task”,标识为一个插件类型。

name

请与注册插件时页面填写的基本信息“唯一标识”字段一致。

friendlyName

请与注册插件时页面填写的基本信息“插件名称”字段一致。

category

请与注册插件时页面填写的基本信息“插件类型”字段一致,包括以下可选值:

  • Build:对应“构建”插件类型。
  • Test:对应“测试”插件类型。
  • Gate:对应“代码检查”插件类型。
  • Normal:对应“通用”插件类型。
  • Deploy:对应“部署”插件类型。

version

插件版本,支持填写3组0-99的数字,如需新增正式版本,请修改此字段。

description

插件的描述信息。

versionDescription

此版本插件的描述信息,建议体现每个版本的差异点。

dataSourceBindings

此字段暂时未启用,请将值设置为“[]”。

inputs

插件输入内容,对应流水线页面插件展示格式,其值可在业务脚本中通过引用环境变量的方式引用。

execution

业务插件执行内容,其中type字段为业务脚本语言类型,target字段为执行文件入口,建议放在scripts文件夹下。

outputs

插件输出内容,在插件运行结束后写入此处定义值,可对应用作门禁指标metrics,不同的展示结果output。

inputs介绍

inputs示例及参数介绍如下:

{
	"name": "samplestring",                              # 如插件业务脚本中使用${samplestring}获取运行者在流水线上配置的值
	"type": "input",                                     # 不同类型信息对应不同展示功能,可选项见下文
	"description": "Sample String",                      # input条目的描述信息,用于描述其值含义
	"defaultValue": "00",                                # 默认值,required属性为false时,如不在流水线上重新输入,则默认使用此值
	"required": true,                                    # true则流水线编辑时必须重新填值,false则不填使用默认值
	"label": "测试输入框",                                # input条目在流水线编辑页面显示的名称信息
	"validation": {
		"requiredMessage": "请输入值",                    # (可选) 如required字段为true,未填写时的提示信息
		"regex": "^[a-zA-Z0-9-_\\u4e00-\\u9fa5]{1,32}$", # (可选)可填写正则校验的内容
		"regexMessage": "类型错误"                        # (可选) 如正则校验失败的提示信息
	}
}

当前支持的全量inputs定义请参见全量inputs

分享:

    相关文档

    相关产品