# 节点测试规则预执行(不存档)

# 调用方式: POST

# 接口地址:

https://api.freelog.com/v2/testNodes/{nodeId}/rules/preExecution
1

# url传入参数说明:

参数 必选 类型及范围 说明
nodeId 必选 int 节点ID

# body传入参数说明:

参数 必选 类型及范围 说明
testRuleText 必选 string 测试规则文本,encodeURIComponent编码

# body示例

{
    "testRuleText": "add%20%20%24yuliang%2F%E9%A3%8E%E6%99%AF%E5%9B%BE%20as%20import_test_resource%0Ado%0A%20%20%20set_labels%20tag1%2Ctag2%2Ctag3%09%09%0Aend%0Aadd%20%20%20%23yuliang-a%2Fyuliang-4131%20%20as%20object_1%20%0Ado%20%20%0A%20%20%20set_labels%20reset%20%20%0A%20%20%20replace%20%23yuliang%2Freadme2%20with%20%23yuliang%2Freadme3%20%20%0A%20%20%20hide%20%0Aend"
}
1
2
3

# 返回说明:

返回值字段 字段类型 字段说明
id string 规则ID
isValid bool 规则是否有效
matchErrors string[] 规则匹配时的错误信息
ruleInfo object 规则具体信息(见下面ruleInfo实体说明)
efficientInfos object[] 匹配生效次数信息
effectiveMatchCount number 有效匹配次数

# 实体ruleInfo说明:

返回值字段 字段类型 字段说明
operation string 操作类型,包含add,alter,activate_theme
labels string[] add资源或者set时,设置的标签
online bool? 是否上线,null值表示未设置
exhibitName string 指定作用的测试资源名称
candidate object add资源时的候选目标对象信息
** name string 候选资源或对象名称
** type string 候选目标类型,object或resource
** versionRange string 候选目标的版本范围,对象无此属性
replaces object[] 替换信息对象集合
** replaced object replace时的被替代者信息
**** name string 被替代者名称
**** type string 被替代者类型
**** versionRange string 被替代者版本范围
** replacer object replace时的替代者信息
**** name string 替代者名称
**** type string 替代者类型
**** versionRange string 替代者版本范围
** scopes object [] 替换操作时的作用范围
**** name string 上游依赖树节点的资源名称
**** type string 上游依赖树节点资源类型
**** versionRange string 上游依赖树节点资源版本范围

# 返回示例

{
    "ret": 0,
    "errCode": 0,
    "errcode": 0,
    "msg": "success",
    "data": [
        {
            "id": "3ad333468965769186260a7acacabc00",
            "isValid": false,
            "matchErrors": [
                "规则作用于detail_wPZ7w时,检查到重复依赖,无法替换"
            ],
            "efficientInfos": [
                {
                    "type": "add",
                    "count": 1
                },
                {
                    "type": "replace",
                    "count": 0
                }
            ],
            "effectiveMatchCount": 0,
            "ruleInfo": {
                "text": "add $12345676789/detail@0.1.0 as detail_wPZ7w\ndo\n   replace $yanghongtian/设计规范文档 with $12345676789/detail\nend",
                "operation": "add",
                "exhibitName": "detail_wPZ7w",
                "candidate": {
                    "name": "12345676789/detail",
                    "versionRange": "0.1.0",
                    "type": "resource"
                },
                "replaces": [
                    {
                        "replaced": {
                            "name": "yanghongtian/设计规范文档",
                            "versionRange": "*",
                            "type": "resource"
                        },
                        "replacer": {
                            "name": "12345676789/detail",
                            "versionRange": "latest",
                            "type": "resource"
                        },
                        "efficientCount": 1
                    }
                ]
            }
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51