Help Center> CodeArts Check> API Reference> APIs> Rule Management> Creating a User-Defined Rule Set
Updated on 2023-11-28 GMT+08:00

Creating a User-Defined Rule Set

Function

Rules can be flexibly combined as required.

URI

POST /v2/ruleset

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Setting the Media Type and Encoding Format

X-Auth-Token

Yes

String

User token.

It can be obtained by calling an IAM API. The value of X-Subject-Token in the response header is the user token.

Minimum: 1

Maximum: 100000

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

Minimum: 1

Maximum: 50

template_name

Yes

String

New Rule Set Name

Minimum: 1

Maximum: 500

language

Yes

String

Rule Set Language

Minimum: 1

Maximum: 128

is_default

Yes

String

If there is a rule set based on, the value is 1. If there is no rule set based on, the value is 0.

Minimum: 1

Maximum: 1

rule_ids

Yes

String

ID of the newly enabled rule.

Minimum: 1

Maximum: 4000

uncheck_ids

No

String

ID of the new closure rule.

Minimum: 1

Maximum: 4000

template_id

No

String

Rule Set ID

Minimum: 1

Maximum: 50

custom_attributes

No

Array of CustomAttributes objects

Users can customize rule parameters and modify rule thresholds.

Table 3 CustomAttributes

Parameter

Mandatory

Type

Description

attribute

No

String

Indicates the configuration item attribute. severity indicates the problem severity.

rules

No

Array of CustomAttributesRule objects

Rule Details

Table 4 CustomAttributesRule

Parameter

Mandatory

Type

Description

rule_id

No

String

Rule ID.

value

No

String

Attribute problem level. The options are as follows: 0: critical; 1: major; 2: minor; 3: warning.

rule_config_list

No

Array of RuleConfig objects

Rule Threshold Details

Table 5 RuleConfig

Parameter

Mandatory

Type

Description

id

No

Integer

Rule Configuration ID

rule_id

No

Integer

Rule ID.

default_value

No

String

Default Value

option_value

No

String

Before acceleration

option_key

No

String

Key of the current rule configuration item.

option_name

No

String

Name of the current rule configuration item

template_id

No

String

Rule Set ID

description

No

String

Description

Response Parameters

Status code: 201

Table 6 Response body parameters

Parameter

Type

Description

template_id

String

Rule Set ID

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error Codes

error_msg

String

Description

Status code: 401

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error Codes

error_msg

String

Description

Example Requests

Create a user-defined rule set. The project ID and template ID corresponding to the rule set are displayed based on the site requirements. The template name is test_cpp, and the language is cpp.

POST https://{endpoint}/v2/ruleset

{
  "project_id" : "24b97exxxxxxxxfb912625b14cxxxxxx",
  "template_id" : "da303dxxxxxxxxaca60dbcc2e2xxxxxx",
  "template_name" : "test_cpp",
  "language" : "cpp",
  "is_default" : "1",
  "rule_ids" : "8139,8138",
  "uncheck_ids" : "1101,1102"
}

Example Responses

Status code: 201

Request succeeded!

{
  "template_id" : "c53417a4804f45eba9c11991131c9e79"
}

Status code: 400

Bad Request

{
  "error_code" : "CC.00000000",
  "error_msg" : "The network is busy. Please try again later."
}

Status code: 401

Unauthorized

{
  "error_code" : "CC.00000003",
  "error_msg" : "The authentication information has expired."
}

Status Codes

Status Code

Description

201

Request succeeded!

400

Bad Request

401

Unauthorized

Error Codes

See Error Codes.