更新时间:2026-01-09 GMT+08:00

创建规则

功能介绍

创建规则

调用方法

请参见如何调用API。

URI

POST /v2/{domain_id}/rules/create

表1 路径参数

参数

是否必选

参数类型

描述

domain_id

是

String

参数解释:

租户ID,用户的domainId。

约束限制:

不涉及。

取值范围:

32位字符,由数字和字母组成。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

参数解释:

用户Token。通过调用获取(响应消息头中X-Subject-Token的值)。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

type

是

String

参数解释:

创建规则的类型。

约束限制:

不涉及。

取值范围:

  • Build。

  • Gate。

  • Deploy。

  • Test。

  • Normal。

默认取值:

不涉及。

name

是

String

参数解释:

规则名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

layout_content

是

String

参数解释:

布局内容。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

plugin_id

否

String

参数解释:

扩展插件唯一ID。可以通过查询插件版本详情接口,获取响应参数中unique_id。

约束限制:

不涉及。

取值范围:

32位字符,由数字和字母组成。

默认取值:

不涉及。

plugin_name

否

String

参数解释:

扩展插件名称。

约束限制:

仅支持输入大小写英文字母、数字、'-'、'_'。

取值范围:

1到50位字符。

默认取值:

不涉及。

plugin_version

否

String

参数解释:

插件版本号。

约束限制:

必须是类似 x.xx.xx 的格式,其中:x 是 1 到 2 位的数字(范围 0 到 99)。xx 是点后跟随的数字部分,且每部分可以是 1 位或 2 位数字。

取值范围:

不涉及。

默认取值:

不涉及。

content

是

Array of RuleContent objects

参数解释:

规则属性分组列表。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 RuleContent

参数

是否必选

参数类型

描述

group_name

是

String

参数解释:

分组名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

can_modify_when_inherit

否

Boolean

参数解释:

继承后的子策略是否可以修改阈值。

约束限制:

不涉及。

取值范围:

  • true:可以修改阈值。

  • false:不可以修改阈值。

默认取值:

不涉及。

editable

否

Boolean

参数解释:

是否可以编辑。

约束限制:

不涉及。

取值范围:

  • true:可以编辑。

  • false:不可以编辑。

默认取值:

不涉及。

properties

是

Array of RuleProperty objects

参数解释:

规则属性列表。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表5 RuleProperty

参数

是否必选

参数类型

描述

key

是

String

参数解释:

属性键。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

type

是

String

参数解释:

规则类型。

约束限制:

不涉及。

取值范围:

  • Build:构建。

  • Gate:代码检查。

  • Test:测试。

默认取值:

不涉及。

name

是

String

参数解释:

展示名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

operator

否

String

参数解释:

比较运算符。

约束限制:

不涉及。

取值范围:

  • '=':等于。

  • '>':大于。

  • '<':小于。

  • '>=':大于等于。

  • '<=':小于等于。

  • '!=':不等于。

  • 'in':包含其中。

  • 'not in':不被包含。

默认取值:

不涉及。

value

是

String

参数解释:

属性值。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

value_type

是

String

参数解释:

数据类型。

约束限制:

不涉及。

取值范围:

  • float:数值型。

  • string:字符型。

默认取值:

不涉及。

is_valid

否

Boolean

参数解释:

属性是否启用。

约束限制:

不涉及。

取值范围:

  • true:启用。

  • false:未启用。

默认取值:

false。

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

status

Boolean

参数解释:

创建状态。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

rule_id

String

参数解释:

规则ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

状态码:400

表7 响应Body参数

参数

参数类型

描述

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

请求示例

POST https://{endpoint}/v2/ce8df55870164338a72d7e828a966a2a/rules/create

{
  "name" : "新建规则-20231020170337",
  "type" : "Build",
  "plugin_id" : "official_devcloud_cloudBuild",
  "plugin_name" : "official_devcloud_cloudBuild",
  "plugin_version" : "0.0.15",
  "layout_content" : "layout_content",
  "content" : [ {
    "group_name" : "MavenUnitTest",
    "properties" : [ {
      "key" : "build.PassRatio",
      "name" : "PassRatio",
      "type" : "judge",
      "operator" : "=",
      "value_type" : "float",
      "value" : "0.1"
    }, {
      "key" : "build.TotalCases",
      "name" : "TotalCases",
      "type" : "judge",
      "operator" : "=",
      "value_type" : "float",
      "value" : "0.1"
    }, {
      "key" : "build.CoverageRatio",
      "name" : "CoverageRatio",
      "type" : "judge",
      "operator" : "=",
      "value_type" : "float",
      "value" : "0.1"
    } ]
  } ]
}

响应示例

状态码:200

OK

{
  "status" : true,
  "rule_id" : "2965ed53fe804115816b781ab20fef3c"
}

状态码

状态码

描述

200

OK

400

Bad request

401

Unauthorized

403

Forbidden

404

Not Found

错误码

请参见错误码。