Updated on 2023-11-28 GMT+08:00

Creating a rule

Function

Creating a Rule

URI

POST /v2/{domain_id}/rules/create

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

domain_id

Yes

String

TenantID

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. Can be obtained by calling the IAM API for obtaining the user token (the value of X-Subject-Token in the response header).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

type

Yes

String

Type: Build, Gate, Deploy, Test, Normal

name

Yes

String

Rule Name

layout_content

Yes

String

Layout Content

plugin_id

No

String

Plug-in ID

plugin_name

No

String

Plug-in

plugin_version

No

String

Add-on version.

content

Yes

Array of RuleContent objects

Rule Attribute Group List

Table 4 RuleContent

Parameter

Mandatory

Type

Description

group_name

Yes

String

Group

can_modify_when_inherit

No

Boolean

Can the Threshold of an Inherited Subpolicy Be Modified?

properties

Yes

Array of RuleProperty objects

Rule Attribute List

Table 5 RuleProperty

Parameter

Mandatory

Type

Description

key

Yes

String

Attribute Key

type

Yes

String

Type

name

Yes

String

Display name

operator

No

String

Comparison Operators

value

Yes

String

Property value.

value_type

Yes

String

Data Type

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

status

Boolean

Creation status

rule_id

String

Rule ID

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_msg

String

Error Message

error_code

String

Error code.

Example Requests

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

{
  "name" : "Creating a Rule - 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"
    } ]
  } ]
}

Example Responses

Status code: 200

OK

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

Status Codes

Status Code

Description

200

OK

400

Bad request

401

Unauthorized

403

Forbidden

404

Not Found

Error Codes

See Error Codes.