zentao-api 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,8 @@ export declare const ERRORS: {
21
21
  readonly E_INVALID_ACTION: "Unknown action: {module}-{action}";
22
22
  readonly E_INVALID_MODULE_DEFINITION: "Invalid module definition.";
23
23
  readonly E_INVALID_ACTION_DEFINITION: "Invalid module action definition.";
24
+ readonly E_INDETERMINATE_ACTION_METHOD: "Cannot infer HTTP method for action \"{action}\" from type \"{type}\"; specify \"method\" explicitly.";
25
+ readonly E_INDETERMINATE_ACTION_RESULT_TYPE: "Cannot infer result type for action \"{action}\" from type \"{type}\"; specify \"resultType\" explicitly.";
24
26
  readonly E_MISSING_PARAM: "Missing required parameter: {param}";
25
27
  readonly E_INVALID_PARAM: "Invalid value for parameter {param}: {value}";
26
28
  readonly E_INVALID_REQUEST_NAME: "Request name must use the form \"moduleName\", \"moduleName/methodName\", or \"moduleName/<objectID>\".";
@@ -21,6 +21,8 @@ export const ERRORS = {
21
21
  E_INVALID_ACTION: 'Unknown action: {module}-{action}',
22
22
  E_INVALID_MODULE_DEFINITION: 'Invalid module definition.',
23
23
  E_INVALID_ACTION_DEFINITION: 'Invalid module action definition.',
24
+ E_INDETERMINATE_ACTION_METHOD: 'Cannot infer HTTP method for action "{action}" from type "{type}"; specify "method" explicitly.',
25
+ E_INDETERMINATE_ACTION_RESULT_TYPE: 'Cannot infer result type for action "{action}" from type "{type}"; specify "resultType" explicitly.',
24
26
  E_MISSING_PARAM: 'Missing required parameter: {param}',
25
27
  E_INVALID_PARAM: 'Invalid value for parameter {param}: {value}',
26
28
  E_INVALID_REQUEST_NAME: 'Request name must use the form "moduleName", "moduleName/methodName", or "moduleName/<objectID>".',
@@ -29,10 +29,13 @@ export declare function defineModules(input: ModuleDefinition | ModuleDefinition
29
29
  *
30
30
  * 不做深度合并:同名动作整体替换,未知动作追加。这避免在 schema、参数数组等字段上出现隐式合并规则。
31
31
  *
32
+ * `method` / `resultType` 可省略:写入时按动作 `type` 自动推导(见 {@link ModuleAction})。
33
+ *
32
34
  * @param moduleName - 目标模块名(大小写不敏感)。
33
35
  * @param input - 单个或一组动作定义。
34
- * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)或 `E_INVALID_ACTION_DEFINITION`
35
- * (动作缺少 `name` / `path` / `method` 等必填字段)。
36
+ * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)、`E_INVALID_ACTION_DEFINITION`
37
+ * (动作缺少 `name` / `path`,或 `method` / `resultType` 类型非法),或
38
+ * `E_INDETERMINATE_ACTION_METHOD` / `E_INDETERMINATE_ACTION_RESULT_TYPE`(省略字段且无法按 `type` 推导)。
36
39
  */
37
40
  export declare function defineModuleActions(moduleName: string, input: ModuleAction | ModuleAction[]): void;
38
41
  /**
@@ -48,8 +51,9 @@ export declare function defineModuleActions(moduleName: string, input: ModuleAct
48
51
  * @param moduleName - 目标模块名(大小写不敏感)。
49
52
  * @param actionName - 目标动作名(大小写不敏感)。
50
53
  * @param action - 深度合并的补丁对象,或接收当前动作深克隆并返回完整动作定义的函数。
51
- * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)、`E_INVALID_ACTION`(动作不存在)
52
- * 或 `E_INVALID_ACTION_DEFINITION`(合并结果缺少 `name` / `path` / `method` 等必填字段)。
54
+ * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)、`E_INVALID_ACTION`(动作不存在)、
55
+ * `E_INVALID_ACTION_DEFINITION`(合并结果缺少 `name` / `path`,或 `method` / `resultType` 类型非法),
56
+ * 或 `E_INDETERMINATE_ACTION_METHOD` / `E_INDETERMINATE_ACTION_RESULT_TYPE`(省略字段且无法按 `type` 推导)。
53
57
  */
54
58
  export declare function extendModuleAction(moduleName: string, actionName: string, action: Partial<ModuleAction> | ((action: ModuleAction) => ModuleAction)): void;
55
59
  /**
@@ -37,10 +37,13 @@ export function defineModules(input, options = {}) {
37
37
  *
38
38
  * 不做深度合并:同名动作整体替换,未知动作追加。这避免在 schema、参数数组等字段上出现隐式合并规则。
39
39
  *
40
+ * `method` / `resultType` 可省略:写入时按动作 `type` 自动推导(见 {@link ModuleAction})。
41
+ *
40
42
  * @param moduleName - 目标模块名(大小写不敏感)。
41
43
  * @param input - 单个或一组动作定义。
42
- * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)或 `E_INVALID_ACTION_DEFINITION`
43
- * (动作缺少 `name` / `path` / `method` 等必填字段)。
44
+ * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)、`E_INVALID_ACTION_DEFINITION`
45
+ * (动作缺少 `name` / `path`,或 `method` / `resultType` 类型非法),或
46
+ * `E_INDETERMINATE_ACTION_METHOD` / `E_INDETERMINATE_ACTION_RESULT_TYPE`(省略字段且无法按 `type` 推导)。
44
47
  */
45
48
  export function defineModuleActions(moduleName, input) {
46
49
  const key = moduleName.toLowerCase();
@@ -80,8 +83,9 @@ export function defineModuleActions(moduleName, input) {
80
83
  * @param moduleName - 目标模块名(大小写不敏感)。
81
84
  * @param actionName - 目标动作名(大小写不敏感)。
82
85
  * @param action - 深度合并的补丁对象,或接收当前动作深克隆并返回完整动作定义的函数。
83
- * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)、`E_INVALID_ACTION`(动作不存在)
84
- * 或 `E_INVALID_ACTION_DEFINITION`(合并结果缺少 `name` / `path` / `method` 等必填字段)。
86
+ * @throws {ZentaoError} `E_INVALID_MODULE`(模块未注册)、`E_INVALID_ACTION`(动作不存在)、
87
+ * `E_INVALID_ACTION_DEFINITION`(合并结果缺少 `name` / `path`,或 `method` / `resultType` 类型非法),
88
+ * 或 `E_INDETERMINATE_ACTION_METHOD` / `E_INDETERMINATE_ACTION_RESULT_TYPE`(省略字段且无法按 `type` 推导)。
85
89
  */
86
90
  export function extendModuleAction(moduleName, actionName, action) {
87
91
  const key = moduleName.toLowerCase();
@@ -176,7 +176,6 @@ export declare const BUILTIN_MODULES: readonly [{
176
176
  readonly pathParams: {
177
177
  readonly userID: "用户ID";
178
178
  };
179
- readonly render: "action";
180
179
  }];
181
180
  }, {
182
181
  readonly name: "program";
@@ -357,7 +356,6 @@ export declare const BUILTIN_MODULES: readonly [{
357
356
  readonly pathParams: {
358
357
  readonly programID: "项目集ID";
359
358
  };
360
- readonly render: "action";
361
359
  }];
362
360
  }, {
363
361
  readonly name: "product";
@@ -582,7 +580,6 @@ export declare const BUILTIN_MODULES: readonly [{
582
580
  readonly pathParams: {
583
581
  readonly productID: "产品ID";
584
582
  };
585
- readonly render: "action";
586
583
  }];
587
584
  }, {
588
585
  readonly name: "project";
@@ -778,7 +775,6 @@ export declare const BUILTIN_MODULES: readonly [{
778
775
  readonly pathParams: {
779
776
  readonly projectID: "项目ID";
780
777
  };
781
- readonly render: "action";
782
778
  }];
783
779
  }, {
784
780
  readonly name: "execution";
@@ -1031,7 +1027,6 @@ export declare const BUILTIN_MODULES: readonly [{
1031
1027
  readonly pathParams: {
1032
1028
  readonly executionID: "执行ID";
1033
1029
  };
1034
- readonly render: "action";
1035
1030
  }];
1036
1031
  }, {
1037
1032
  readonly name: "productplan";
@@ -1042,19 +1037,12 @@ export declare const BUILTIN_MODULES: readonly [{
1042
1037
  readonly display: "获取产品计划列表,支持获取产品下的产品计划";
1043
1038
  readonly type: "list";
1044
1039
  readonly method: "get";
1045
- readonly path: "/{scope}/{scopeID}/productplans";
1040
+ readonly path: "/products/{productID}/productplans";
1046
1041
  readonly resultType: "list";
1047
1042
  readonly pagerGetter: "pager";
1048
1043
  readonly resultGetter: "productplans";
1049
1044
  readonly pathParams: {
1050
- readonly scope: {
1051
- readonly description: "产品计划范围";
1052
- readonly options: readonly [{
1053
- readonly value: "products";
1054
- readonly label: "产品";
1055
- }];
1056
- };
1057
- readonly scopeID: "范围ID";
1045
+ readonly productID: "所属产品ID";
1058
1046
  };
1059
1047
  readonly params: readonly [{
1060
1048
  readonly name: "browseType";
@@ -1234,7 +1222,6 @@ export declare const BUILTIN_MODULES: readonly [{
1234
1222
  readonly pathParams: {
1235
1223
  readonly productplanID: "产品计划ID";
1236
1224
  };
1237
- readonly render: "action";
1238
1225
  }];
1239
1226
  }, {
1240
1227
  readonly name: "story";
@@ -1251,7 +1238,7 @@ export declare const BUILTIN_MODULES: readonly [{
1251
1238
  readonly resultGetter: "stories";
1252
1239
  readonly pathParams: {
1253
1240
  readonly scope: {
1254
- readonly description: "需求范围";
1241
+ readonly description: "需求所属范围";
1255
1242
  readonly options: readonly [{
1256
1243
  readonly value: "products";
1257
1244
  readonly label: "产品";
@@ -1263,7 +1250,7 @@ export declare const BUILTIN_MODULES: readonly [{
1263
1250
  readonly label: "执行";
1264
1251
  }];
1265
1252
  };
1266
- readonly scopeID: "范围ID";
1253
+ readonly scopeID: "所属范围ID";
1267
1254
  };
1268
1255
  readonly params: readonly [{
1269
1256
  readonly name: "browseType";
@@ -1482,7 +1469,6 @@ export declare const BUILTIN_MODULES: readonly [{
1482
1469
  readonly pathParams: {
1483
1470
  readonly storyID: "需求ID";
1484
1471
  };
1485
- readonly render: "action";
1486
1472
  }, {
1487
1473
  readonly name: "activate";
1488
1474
  readonly display: "激活需求";
@@ -1510,7 +1496,6 @@ export declare const BUILTIN_MODULES: readonly [{
1510
1496
  };
1511
1497
  };
1512
1498
  };
1513
- readonly render: "action";
1514
1499
  }, {
1515
1500
  readonly name: "change";
1516
1501
  readonly display: "变更需求";
@@ -1550,7 +1535,6 @@ export declare const BUILTIN_MODULES: readonly [{
1550
1535
  readonly required: readonly ["reviewer"];
1551
1536
  };
1552
1537
  };
1553
- readonly render: "action";
1554
1538
  }, {
1555
1539
  readonly name: "close";
1556
1540
  readonly display: "关闭需求";
@@ -1579,7 +1563,6 @@ export declare const BUILTIN_MODULES: readonly [{
1579
1563
  readonly required: readonly ["closedReason"];
1580
1564
  };
1581
1565
  };
1582
- readonly render: "action";
1583
1566
  }];
1584
1567
  }, {
1585
1568
  readonly name: "epic";
@@ -1590,19 +1573,12 @@ export declare const BUILTIN_MODULES: readonly [{
1590
1573
  readonly display: "获取业务需求列表,支持获取产品下的业务需求";
1591
1574
  readonly type: "list";
1592
1575
  readonly method: "get";
1593
- readonly path: "/{scope}/{scopeID}/epics";
1576
+ readonly path: "/products/{productID}/epics";
1594
1577
  readonly resultType: "list";
1595
1578
  readonly pagerGetter: "pager";
1596
1579
  readonly resultGetter: "epics";
1597
1580
  readonly pathParams: {
1598
- readonly scope: {
1599
- readonly description: "业务需求范围";
1600
- readonly options: readonly [{
1601
- readonly value: "products";
1602
- readonly label: "产品";
1603
- }];
1604
- };
1605
- readonly scopeID: "范围ID";
1581
+ readonly productID: "所属产品ID";
1606
1582
  };
1607
1583
  readonly params: readonly [{
1608
1584
  readonly name: "browseType";
@@ -1812,7 +1788,6 @@ export declare const BUILTIN_MODULES: readonly [{
1812
1788
  readonly pathParams: {
1813
1789
  readonly epicID: "业务需求ID";
1814
1790
  };
1815
- readonly render: "action";
1816
1791
  }, {
1817
1792
  readonly name: "activate";
1818
1793
  readonly display: "激活业务需求";
@@ -1840,7 +1815,6 @@ export declare const BUILTIN_MODULES: readonly [{
1840
1815
  };
1841
1816
  };
1842
1817
  };
1843
- readonly render: "action";
1844
1818
  }, {
1845
1819
  readonly name: "change";
1846
1820
  readonly display: "变更业务需求";
@@ -1880,7 +1854,6 @@ export declare const BUILTIN_MODULES: readonly [{
1880
1854
  readonly required: readonly ["reviewer"];
1881
1855
  };
1882
1856
  };
1883
- readonly render: "action";
1884
1857
  }, {
1885
1858
  readonly name: "close";
1886
1859
  readonly display: "关闭业务需求";
@@ -1909,7 +1882,6 @@ export declare const BUILTIN_MODULES: readonly [{
1909
1882
  readonly required: readonly ["closedReason"];
1910
1883
  };
1911
1884
  };
1912
- readonly render: "action";
1913
1885
  }];
1914
1886
  }, {
1915
1887
  readonly name: "requirement";
@@ -1920,19 +1892,12 @@ export declare const BUILTIN_MODULES: readonly [{
1920
1892
  readonly display: "获取用户需求列表,支持获取产品下的用户需求";
1921
1893
  readonly type: "list";
1922
1894
  readonly method: "get";
1923
- readonly path: "/{scope}/{scopeID}/requirements";
1895
+ readonly path: "/products/{productID}/requirements";
1924
1896
  readonly resultType: "list";
1925
1897
  readonly pagerGetter: "pager";
1926
1898
  readonly resultGetter: "requirements";
1927
1899
  readonly pathParams: {
1928
- readonly scope: {
1929
- readonly description: "用户需求范围";
1930
- readonly options: readonly [{
1931
- readonly value: "products";
1932
- readonly label: "产品";
1933
- }];
1934
- };
1935
- readonly scopeID: "范围ID";
1900
+ readonly productID: "所属产品ID";
1936
1901
  };
1937
1902
  readonly params: readonly [{
1938
1903
  readonly name: "browseType";
@@ -2141,7 +2106,6 @@ export declare const BUILTIN_MODULES: readonly [{
2141
2106
  readonly pathParams: {
2142
2107
  readonly requirementID: "用户需求ID";
2143
2108
  };
2144
- readonly render: "action";
2145
2109
  }, {
2146
2110
  readonly name: "activate";
2147
2111
  readonly display: "激活用户需求";
@@ -2169,7 +2133,6 @@ export declare const BUILTIN_MODULES: readonly [{
2169
2133
  };
2170
2134
  };
2171
2135
  };
2172
- readonly render: "action";
2173
2136
  }, {
2174
2137
  readonly name: "change";
2175
2138
  readonly display: "变更用户需求";
@@ -2201,7 +2164,6 @@ export declare const BUILTIN_MODULES: readonly [{
2201
2164
  };
2202
2165
  };
2203
2166
  };
2204
- readonly render: "action";
2205
2167
  }, {
2206
2168
  readonly name: "close";
2207
2169
  readonly display: "关闭用户需求";
@@ -2230,7 +2192,6 @@ export declare const BUILTIN_MODULES: readonly [{
2230
2192
  readonly required: readonly ["closedReason"];
2231
2193
  };
2232
2194
  };
2233
- readonly render: "action";
2234
2195
  }];
2235
2196
  }, {
2236
2197
  readonly name: "bug";
@@ -2247,7 +2208,7 @@ export declare const BUILTIN_MODULES: readonly [{
2247
2208
  readonly resultGetter: "bugs";
2248
2209
  readonly pathParams: {
2249
2210
  readonly scope: {
2250
- readonly description: "Bug范围";
2211
+ readonly description: "Bug所属范围";
2251
2212
  readonly options: readonly [{
2252
2213
  readonly value: "products";
2253
2214
  readonly label: "产品";
@@ -2259,7 +2220,7 @@ export declare const BUILTIN_MODULES: readonly [{
2259
2220
  readonly label: "执行";
2260
2221
  }];
2261
2222
  };
2262
- readonly scopeID: "范围ID";
2223
+ readonly scopeID: "所属范围ID";
2263
2224
  };
2264
2225
  readonly params: readonly [{
2265
2226
  readonly name: "browseType";
@@ -2468,7 +2429,6 @@ export declare const BUILTIN_MODULES: readonly [{
2468
2429
  readonly pathParams: {
2469
2430
  readonly bugID: "Bug ID";
2470
2431
  };
2471
- readonly render: "action";
2472
2432
  }, {
2473
2433
  readonly name: "activate";
2474
2434
  readonly display: "激活Bug";
@@ -2503,7 +2463,6 @@ export declare const BUILTIN_MODULES: readonly [{
2503
2463
  };
2504
2464
  };
2505
2465
  };
2506
- readonly render: "action";
2507
2466
  }, {
2508
2467
  readonly name: "close";
2509
2468
  readonly display: "关闭Bug";
@@ -2527,7 +2486,6 @@ export declare const BUILTIN_MODULES: readonly [{
2527
2486
  };
2528
2487
  };
2529
2488
  };
2530
- readonly render: "action";
2531
2489
  }, {
2532
2490
  readonly name: "resolve";
2533
2491
  readonly display: "解决Bug";
@@ -2568,7 +2526,6 @@ export declare const BUILTIN_MODULES: readonly [{
2568
2526
  readonly required: readonly ["resolution"];
2569
2527
  };
2570
2528
  };
2571
- readonly render: "action";
2572
2529
  }];
2573
2530
  }, {
2574
2531
  readonly name: "testcase";
@@ -2585,7 +2542,7 @@ export declare const BUILTIN_MODULES: readonly [{
2585
2542
  readonly resultGetter: "testcases";
2586
2543
  readonly pathParams: {
2587
2544
  readonly scope: {
2588
- readonly description: "测试用例范围";
2545
+ readonly description: "测试用例所属范围";
2589
2546
  readonly options: readonly [{
2590
2547
  readonly value: "products";
2591
2548
  readonly label: "产品";
@@ -2597,7 +2554,7 @@ export declare const BUILTIN_MODULES: readonly [{
2597
2554
  readonly label: "执行";
2598
2555
  }];
2599
2556
  };
2600
- readonly scopeID: "范围ID";
2557
+ readonly scopeID: "所属范围ID";
2601
2558
  };
2602
2559
  readonly params: readonly [{
2603
2560
  readonly name: "browseType";
@@ -2819,7 +2776,6 @@ export declare const BUILTIN_MODULES: readonly [{
2819
2776
  readonly pathParams: {
2820
2777
  readonly testcasID: "测试用例ID";
2821
2778
  };
2822
- readonly render: "action";
2823
2779
  }];
2824
2780
  }, {
2825
2781
  readonly name: "task";
@@ -2830,19 +2786,12 @@ export declare const BUILTIN_MODULES: readonly [{
2830
2786
  readonly display: "获取任务列表,支持获取执行下的任务";
2831
2787
  readonly type: "list";
2832
2788
  readonly method: "get";
2833
- readonly path: "/{scope}/{scopeID}/tasks";
2789
+ readonly path: "/executions/{executionID}/tasks";
2834
2790
  readonly resultType: "list";
2835
2791
  readonly pagerGetter: "pager";
2836
2792
  readonly resultGetter: "tasks";
2837
2793
  readonly pathParams: {
2838
- readonly scope: {
2839
- readonly description: "任务范围";
2840
- readonly options: readonly [{
2841
- readonly value: "executions";
2842
- readonly label: "执行";
2843
- }];
2844
- };
2845
- readonly scopeID: "范围ID";
2794
+ readonly executionID: "所属执行ID";
2846
2795
  };
2847
2796
  readonly params: readonly [{
2848
2797
  readonly name: "status";
@@ -3053,7 +3002,6 @@ export declare const BUILTIN_MODULES: readonly [{
3053
3002
  readonly pathParams: {
3054
3003
  readonly taskID: "任务ID";
3055
3004
  };
3056
- readonly render: "action";
3057
3005
  }, {
3058
3006
  readonly name: "activate";
3059
3007
  readonly display: "激活任务";
@@ -3086,7 +3034,6 @@ export declare const BUILTIN_MODULES: readonly [{
3086
3034
  };
3087
3035
  };
3088
3036
  };
3089
- readonly render: "action";
3090
3037
  }, {
3091
3038
  readonly name: "close";
3092
3039
  readonly display: "关闭任务";
@@ -3110,7 +3057,6 @@ export declare const BUILTIN_MODULES: readonly [{
3110
3057
  };
3111
3058
  };
3112
3059
  };
3113
- readonly render: "action";
3114
3060
  }, {
3115
3061
  readonly name: "finish";
3116
3062
  readonly display: "完成任务";
@@ -3157,7 +3103,6 @@ export declare const BUILTIN_MODULES: readonly [{
3157
3103
  readonly required: readonly ["currentConsumed", "realStarted", "finishedDate"];
3158
3104
  };
3159
3105
  };
3160
- readonly render: "action";
3161
3106
  }, {
3162
3107
  readonly name: "start";
3163
3108
  readonly display: "启动任务";
@@ -3200,7 +3145,6 @@ export declare const BUILTIN_MODULES: readonly [{
3200
3145
  readonly required: readonly ["realStarted"];
3201
3146
  };
3202
3147
  };
3203
- readonly render: "action";
3204
3148
  }];
3205
3149
  }, {
3206
3150
  readonly name: "feedback";
@@ -3211,19 +3155,12 @@ export declare const BUILTIN_MODULES: readonly [{
3211
3155
  readonly display: "获取反馈列表,支持获取产品下的反馈";
3212
3156
  readonly type: "list";
3213
3157
  readonly method: "get";
3214
- readonly path: "/{scope}/{scopeID}/feedbacks";
3158
+ readonly path: "/products/{productID}/feedbacks";
3215
3159
  readonly resultType: "list";
3216
3160
  readonly pagerGetter: "pager";
3217
3161
  readonly resultGetter: "feedbacks";
3218
3162
  readonly pathParams: {
3219
- readonly scope: {
3220
- readonly description: "反馈范围";
3221
- readonly options: readonly [{
3222
- readonly value: "products";
3223
- readonly label: "产品";
3224
- }];
3225
- };
3226
- readonly scopeID: "范围ID";
3163
+ readonly productID: "所属产品ID";
3227
3164
  };
3228
3165
  readonly params: readonly [{
3229
3166
  readonly name: "browseType";
@@ -3406,7 +3343,6 @@ export declare const BUILTIN_MODULES: readonly [{
3406
3343
  readonly pathParams: {
3407
3344
  readonly feedbackID: "反馈ID";
3408
3345
  };
3409
- readonly render: "action";
3410
3346
  }, {
3411
3347
  readonly name: "activate";
3412
3348
  readonly display: "激活反馈";
@@ -3434,7 +3370,6 @@ export declare const BUILTIN_MODULES: readonly [{
3434
3370
  };
3435
3371
  };
3436
3372
  };
3437
- readonly render: "action";
3438
3373
  }, {
3439
3374
  readonly name: "close";
3440
3375
  readonly display: "关闭反馈";
@@ -3463,7 +3398,6 @@ export declare const BUILTIN_MODULES: readonly [{
3463
3398
  readonly required: readonly ["closedReason"];
3464
3399
  };
3465
3400
  };
3466
- readonly render: "action";
3467
3401
  }];
3468
3402
  }, {
3469
3403
  readonly name: "ticket";
@@ -3474,19 +3408,12 @@ export declare const BUILTIN_MODULES: readonly [{
3474
3408
  readonly display: "获取工单列表,支持获取产品下的工单";
3475
3409
  readonly type: "list";
3476
3410
  readonly method: "get";
3477
- readonly path: "/{scope}/{scopeID}/tickets";
3411
+ readonly path: "/products/{productID}/tickets";
3478
3412
  readonly resultType: "list";
3479
3413
  readonly pagerGetter: "pager";
3480
3414
  readonly resultGetter: "tickets";
3481
3415
  readonly pathParams: {
3482
- readonly scope: {
3483
- readonly description: "工单范围";
3484
- readonly options: readonly [{
3485
- readonly value: "products";
3486
- readonly label: "产品";
3487
- }];
3488
- };
3489
- readonly scopeID: "范围ID";
3416
+ readonly productID: "所属产品ID";
3490
3417
  };
3491
3418
  readonly params: readonly [{
3492
3419
  readonly name: "browseType";
@@ -3685,7 +3612,6 @@ export declare const BUILTIN_MODULES: readonly [{
3685
3612
  readonly pathParams: {
3686
3613
  readonly ticketID: "工单ID";
3687
3614
  };
3688
- readonly render: "action";
3689
3615
  }, {
3690
3616
  readonly name: "activate";
3691
3617
  readonly display: "激活工单";
@@ -3713,7 +3639,6 @@ export declare const BUILTIN_MODULES: readonly [{
3713
3639
  };
3714
3640
  };
3715
3641
  };
3716
- readonly render: "action";
3717
3642
  }, {
3718
3643
  readonly name: "close";
3719
3644
  readonly display: "关闭工单";
@@ -3742,7 +3667,6 @@ export declare const BUILTIN_MODULES: readonly [{
3742
3667
  readonly required: readonly ["closedReason", "comment"];
3743
3668
  };
3744
3669
  };
3745
- readonly render: "action";
3746
3670
  }];
3747
3671
  }, {
3748
3672
  readonly name: "system";
@@ -3753,18 +3677,11 @@ export declare const BUILTIN_MODULES: readonly [{
3753
3677
  readonly display: "获取应用列表,支持获取产品下的应用";
3754
3678
  readonly type: "list";
3755
3679
  readonly method: "get";
3756
- readonly path: "/{scope}/{scopeID}/systems";
3680
+ readonly path: "/products/{productID}/systems";
3757
3681
  readonly resultType: "list";
3758
3682
  readonly pagerGetter: "pager";
3759
3683
  readonly pathParams: {
3760
- readonly scope: {
3761
- readonly description: "应用范围";
3762
- readonly options: readonly [{
3763
- readonly value: "products";
3764
- readonly label: "产品";
3765
- }];
3766
- };
3767
- readonly scopeID: "范围ID";
3684
+ readonly productID: "所属产品ID";
3768
3685
  };
3769
3686
  }, {
3770
3687
  readonly name: "create";
@@ -3859,7 +3776,7 @@ export declare const BUILTIN_MODULES: readonly [{
3859
3776
  readonly resultGetter: "builds";
3860
3777
  readonly pathParams: {
3861
3778
  readonly scope: {
3862
- readonly description: "版本范围";
3779
+ readonly description: "版本所属范围";
3863
3780
  readonly options: readonly [{
3864
3781
  readonly value: "projects";
3865
3782
  readonly label: "项目";
@@ -3868,7 +3785,7 @@ export declare const BUILTIN_MODULES: readonly [{
3868
3785
  readonly label: "执行";
3869
3786
  }];
3870
3787
  };
3871
- readonly scopeID: "范围ID";
3788
+ readonly scopeID: "所属范围ID";
3872
3789
  };
3873
3790
  }, {
3874
3791
  readonly name: "create";
@@ -3995,7 +3912,6 @@ export declare const BUILTIN_MODULES: readonly [{
3995
3912
  readonly pathParams: {
3996
3913
  readonly buildID: "版本ID";
3997
3914
  };
3998
- readonly render: "action";
3999
3915
  }];
4000
3916
  }, {
4001
3917
  readonly name: "testtask";
@@ -4012,7 +3928,7 @@ export declare const BUILTIN_MODULES: readonly [{
4012
3928
  readonly resultGetter: "testtasks";
4013
3929
  readonly pathParams: {
4014
3930
  readonly scope: {
4015
- readonly description: "测试单范围";
3931
+ readonly description: "测试单所属范围";
4016
3932
  readonly options: readonly [{
4017
3933
  readonly value: "products";
4018
3934
  readonly label: "产品";
@@ -4024,7 +3940,7 @@ export declare const BUILTIN_MODULES: readonly [{
4024
3940
  readonly label: "执行";
4025
3941
  }];
4026
3942
  };
4027
- readonly scopeID: "范围ID";
3943
+ readonly scopeID: "所属范围ID";
4028
3944
  };
4029
3945
  }, {
4030
3946
  readonly name: "create";
@@ -4160,7 +4076,6 @@ export declare const BUILTIN_MODULES: readonly [{
4160
4076
  readonly pathParams: {
4161
4077
  readonly testtaskID: "测试单ID";
4162
4078
  };
4163
- readonly render: "action";
4164
4079
  }];
4165
4080
  }, {
4166
4081
  readonly name: "release";
@@ -4171,19 +4086,12 @@ export declare const BUILTIN_MODULES: readonly [{
4171
4086
  readonly display: "获取发布列表,支持获取产品下的发布";
4172
4087
  readonly type: "list";
4173
4088
  readonly method: "get";
4174
- readonly path: "/{scope}/{scopeID}/releases";
4089
+ readonly path: "/products/{productID}/releases";
4175
4090
  readonly resultType: "list";
4176
4091
  readonly pagerGetter: "pager";
4177
4092
  readonly resultGetter: "releases";
4178
4093
  readonly pathParams: {
4179
- readonly scope: {
4180
- readonly description: "发布范围";
4181
- readonly options: readonly [{
4182
- readonly value: "products";
4183
- readonly label: "产品";
4184
- }];
4185
- };
4186
- readonly scopeID: "范围ID";
4094
+ readonly productID: "所属产品ID";
4187
4095
  };
4188
4096
  }, {
4189
4097
  readonly name: "create";
@@ -4293,7 +4201,6 @@ export declare const BUILTIN_MODULES: readonly [{
4293
4201
  readonly pathParams: {
4294
4202
  readonly releasID: "发布ID";
4295
4203
  };
4296
- readonly render: "action";
4297
4204
  }];
4298
4205
  }, {
4299
4206
  readonly name: "file";
@@ -4330,6 +4237,5 @@ export declare const BUILTIN_MODULES: readonly [{
4330
4237
  readonly pathParams: {
4331
4238
  readonly fileID: "附件ID";
4332
4239
  };
4333
- readonly render: "action";
4334
4240
  }];
4335
4241
  }];