@xihe-lab/tapd-core 2.0.0-rc.1 → 2.0.0-rc.3
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.
- package/README.md +23 -0
- package/dist/advisor/index.d.ts.map +1 -1
- package/dist/advisor/index.js +2 -0
- package/dist/advisor/index.js.map +1 -1
- package/dist/cache/read-cache.d.ts +136 -0
- package/dist/cache/read-cache.d.ts.map +1 -0
- package/dist/cache/read-cache.js +322 -0
- package/dist/cache/read-cache.js.map +1 -0
- package/dist/cache/read-cache.test.d.ts +2 -0
- package/dist/cache/read-cache.test.d.ts.map +1 -0
- package/dist/cache/read-cache.test.js +429 -0
- package/dist/cache/read-cache.test.js.map +1 -0
- package/dist/errors/index.d.ts +120 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +429 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/registry/registry.d.ts +7 -0
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +9 -3
- package/dist/registry/registry.js.map +1 -1
- package/dist/registry/registry.test.js +293 -2
- package/dist/registry/registry.test.js.map +1 -1
- package/dist/registry/richtext-manifests.generated.d.ts +1 -1
- package/dist/registry/richtext-manifests.generated.d.ts.map +1 -1
- package/dist/registry/richtext-manifests.generated.js +1 -1
- package/dist/registry/richtext-manifests.generated.js.map +1 -1
- package/dist/registry/richtext.d.ts +9 -0
- package/dist/registry/richtext.d.ts.map +1 -1
- package/dist/registry/richtext.js +33 -15
- package/dist/registry/richtext.js.map +1 -1
- package/dist/registry/richtext.test.js +70 -7
- package/dist/registry/richtext.test.js.map +1 -1
- package/dist/richtext/attachment-anchor.d.ts +58 -0
- package/dist/richtext/attachment-anchor.d.ts.map +1 -0
- package/dist/richtext/attachment-anchor.js +221 -0
- package/dist/richtext/attachment-anchor.js.map +1 -0
- package/dist/richtext/attachment-anchor.test.d.ts +2 -0
- package/dist/richtext/attachment-anchor.test.d.ts.map +1 -0
- package/dist/richtext/attachment-anchor.test.js +149 -0
- package/dist/richtext/attachment-anchor.test.js.map +1 -0
- package/dist/richtext/escape.d.ts +7 -0
- package/dist/richtext/escape.d.ts.map +1 -0
- package/dist/richtext/escape.js +60 -0
- package/dist/richtext/escape.js.map +1 -0
- package/dist/richtext/index.d.ts +15 -0
- package/dist/richtext/index.d.ts.map +1 -0
- package/dist/richtext/index.js +35 -0
- package/dist/richtext/index.js.map +1 -0
- package/dist/richtext/mention.d.ts +49 -0
- package/dist/richtext/mention.d.ts.map +1 -0
- package/dist/richtext/mention.js +179 -0
- package/dist/richtext/mention.js.map +1 -0
- package/dist/richtext/mention.test.d.ts +2 -0
- package/dist/richtext/mention.test.d.ts.map +1 -0
- package/dist/richtext/mention.test.js +123 -0
- package/dist/richtext/mention.test.js.map +1 -0
- package/dist/richtext/pipeline.d.ts +5 -0
- package/dist/richtext/pipeline.d.ts.map +1 -0
- package/dist/richtext/pipeline.js +199 -0
- package/dist/richtext/pipeline.js.map +1 -0
- package/dist/richtext/round-trip.test.d.ts +2 -0
- package/dist/richtext/round-trip.test.d.ts.map +1 -0
- package/dist/richtext/round-trip.test.js +105 -0
- package/dist/richtext/round-trip.test.js.map +1 -0
- package/dist/sdk-routes.d.ts.map +1 -1
- package/dist/sdk-routes.js +4 -0
- package/dist/sdk-routes.js.map +1 -1
- package/dist/tapd-client.d.ts +79 -2
- package/dist/tapd-client.d.ts.map +1 -1
- package/dist/tapd-client.js +177 -24
- package/dist/tapd-client.js.map +1 -1
- package/dist/tools/attachment.d.ts +47 -0
- package/dist/tools/attachment.d.ts.map +1 -1
- package/dist/tools/attachment.js +278 -32
- package/dist/tools/attachment.js.map +1 -1
- package/dist/tools/attachment.test.d.ts +2 -0
- package/dist/tools/attachment.test.d.ts.map +1 -0
- package/dist/tools/attachment.test.js +432 -0
- package/dist/tools/attachment.test.js.map +1 -0
- package/dist/tools/board.js +22 -22
- package/dist/tools/board.js.map +1 -1
- package/dist/tools/bug.d.ts.map +1 -1
- package/dist/tools/bug.js +262 -259
- package/dist/tools/bug.js.map +1 -1
- package/dist/tools/changes.js +20 -20
- package/dist/tools/changes.js.map +1 -1
- package/dist/tools/comment.d.ts.map +1 -1
- package/dist/tools/comment.js +26 -23
- package/dist/tools/comment.js.map +1 -1
- package/dist/tools/custom-fields.js +16 -16
- package/dist/tools/custom-fields.js.map +1 -1
- package/dist/tools/image.js +2 -2
- package/dist/tools/image.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/iteration.js +50 -50
- package/dist/tools/iteration.js.map +1 -1
- package/dist/tools/media.d.ts +9 -0
- package/dist/tools/media.d.ts.map +1 -0
- package/dist/tools/media.js +45 -0
- package/dist/tools/media.js.map +1 -0
- package/dist/tools/mini-comment.js +27 -27
- package/dist/tools/mini-comment.js.map +1 -1
- package/dist/tools/mini-item.js +83 -83
- package/dist/tools/mini-item.js.map +1 -1
- package/dist/tools/mini-workspace.js +5 -5
- package/dist/tools/mini-workspace.js.map +1 -1
- package/dist/tools/program.js +7 -7
- package/dist/tools/program.js.map +1 -1
- package/dist/tools/relations.js +14 -14
- package/dist/tools/relations.js.map +1 -1
- package/dist/tools/release.js +53 -53
- package/dist/tools/release.js.map +1 -1
- package/dist/tools/report.js +8 -8
- package/dist/tools/report.js.map +1 -1
- package/dist/tools/richtext-wiring.test.d.ts +2 -0
- package/dist/tools/richtext-wiring.test.d.ts.map +1 -0
- package/dist/tools/richtext-wiring.test.js +302 -0
- package/dist/tools/richtext-wiring.test.js.map +1 -0
- package/dist/tools/settings.js +77 -77
- package/dist/tools/settings.js.map +1 -1
- package/dist/tools/source.js +14 -14
- package/dist/tools/source.js.map +1 -1
- package/dist/tools/story.d.ts.map +1 -1
- package/dist/tools/story.js +123 -120
- package/dist/tools/story.js.map +1 -1
- package/dist/tools/task.d.ts.map +1 -1
- package/dist/tools/task.js +126 -123
- package/dist/tools/task.js.map +1 -1
- package/dist/tools/test.js +117 -117
- package/dist/tools/test.js.map +1 -1
- package/dist/tools/timesheet.js +23 -23
- package/dist/tools/timesheet.js.map +1 -1
- package/dist/tools/user.js +8 -8
- package/dist/tools/user.js.map +1 -1
- package/dist/tools/utility.d.ts +17 -0
- package/dist/tools/utility.d.ts.map +1 -1
- package/dist/tools/utility.js +204 -88
- package/dist/tools/utility.js.map +1 -1
- package/dist/tools/wiki.d.ts.map +1 -1
- package/dist/tools/wiki.js +71 -56
- package/dist/tools/wiki.js.map +1 -1
- package/dist/tools/workflow.js +26 -26
- package/dist/tools/workflow.js.map +1 -1
- package/dist/tools/workspace.js +16 -16
- package/dist/tools/workspace.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +15 -11
- package/dist/tools/zz-acceptance-echo.d.ts +0 -3
- package/dist/tools/zz-acceptance-echo.d.ts.map +0 -1
- package/dist/tools/zz-acceptance-echo.js +0 -9
- package/dist/tools/zz-acceptance-echo.js.map +0 -1
package/dist/tools/bug.js
CHANGED
|
@@ -1,66 +1,67 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { TapdClient } from '../tapd-client.js';
|
|
3
|
+
import { RAW_HTML_FIELD } from '../registry/richtext.js';
|
|
3
4
|
export const bugTools = [
|
|
4
5
|
{
|
|
5
6
|
name: 'tapd_get_bugs',
|
|
6
|
-
description: '
|
|
7
|
+
description: '按条件查询缺陷列表,支持严重级、状态、处理人、迭代、发现/修复版本等多字段过滤与分页。只统计数量用数量统计工具;已知多个 ID 要完整详情用批量详情工具。读操作;limit 默认 30、最大 200。返回缺陷(Bug)数组。',
|
|
7
8
|
inputSchema: z.object({
|
|
8
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
9
|
-
id: z.string().optional().describe('
|
|
10
|
-
title: z.string().optional().describe('
|
|
11
|
-
priority: z.string().optional().describe('
|
|
12
|
-
priority_label: z.string().optional().describe('
|
|
13
|
-
severity: z.string().optional().describe('
|
|
14
|
-
status: z.string().optional().describe('
|
|
15
|
-
v_status: z.string().optional().describe('
|
|
16
|
-
label: z.string().optional().describe('
|
|
17
|
-
iteration_id: z.string().optional().describe('
|
|
18
|
-
module: z.string().optional().describe('
|
|
19
|
-
current_owner: z.string().optional().describe('
|
|
20
|
-
reporter: z.string().optional().describe('
|
|
21
|
-
participator: z.string().optional().describe('
|
|
22
|
-
te: z.string().optional().describe('
|
|
23
|
-
de: z.string().optional().describe('
|
|
24
|
-
cc: z.string().optional().describe('
|
|
25
|
-
created: z.string().optional().describe('
|
|
26
|
-
in_progress_time: z.string().optional().describe('
|
|
27
|
-
resolved: z.string().optional().describe('
|
|
28
|
-
verify_time: z.string().optional().describe('
|
|
29
|
-
closed: z.string().optional().describe('
|
|
30
|
-
reject_time: z.string().optional().describe('
|
|
31
|
-
modified: z.string().optional().describe('
|
|
32
|
-
begin: z.string().optional().describe('
|
|
33
|
-
due: z.string().optional().describe('
|
|
34
|
-
deadline: z.string().optional().describe('
|
|
35
|
-
release_id: z.string().optional().describe('
|
|
36
|
-
version_report: z.string().optional().describe('
|
|
37
|
-
version_test: z.string().optional().describe('
|
|
38
|
-
version_fix: z.string().optional().describe('
|
|
39
|
-
version_close: z.string().optional().describe('
|
|
40
|
-
baseline_find: z.string().optional().describe('
|
|
41
|
-
baseline_join: z.string().optional().describe('
|
|
42
|
-
baseline_test: z.string().optional().describe('
|
|
43
|
-
baseline_close: z.string().optional().describe('
|
|
44
|
-
feature: z.string().optional().describe('
|
|
45
|
-
source: z.string().optional().describe('
|
|
46
|
-
bugtype: z.string().optional().describe('
|
|
47
|
-
frequency: z.string().optional().describe('
|
|
48
|
-
originphase: z.string().optional().describe('
|
|
49
|
-
sourcephase: z.string().optional().describe('
|
|
50
|
-
resolution: z.string().optional().describe('
|
|
51
|
-
description: z.string().optional().describe('
|
|
52
|
-
os: z.string().optional().describe('
|
|
53
|
-
platform: z.string().optional().describe('
|
|
54
|
-
testmode: z.string().optional().describe('
|
|
55
|
-
testphase: z.string().optional().describe('
|
|
56
|
-
testtype: z.string().optional().describe('
|
|
57
|
-
size: z.string().optional().describe('
|
|
58
|
-
estimate: z.number().optional().describe('
|
|
59
|
-
custom_field_one: z.string().optional().describe('
|
|
60
|
-
limit: z.number().optional().describe('
|
|
61
|
-
page: z.number().optional().describe('
|
|
62
|
-
order: z.string().optional().describe('
|
|
63
|
-
fields: z.string().optional().describe('
|
|
9
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
10
|
+
id: z.string().optional().describe('支持多 ID 查询;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
11
|
+
title: z.string().optional().describe('缺陷标题,支持模糊匹配'),
|
|
12
|
+
priority: z.string().optional().describe('优先级,建议直接用 priority_label'),
|
|
13
|
+
priority_label: z.string().optional().describe('优先级(推荐)'),
|
|
14
|
+
severity: z.string().optional().describe('严重程度,支持枚举值查询'),
|
|
15
|
+
status: z.string().optional().describe('状态,支持枚举值查询'),
|
|
16
|
+
v_status: z.string().optional().describe('状态(中文)'),
|
|
17
|
+
label: z.string().optional().describe('标签,支持枚举值查询'),
|
|
18
|
+
iteration_id: z.string().optional().describe('迭代 ID,支持枚举值查询;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
19
|
+
module: z.string().optional().describe('模块,支持枚举值查询'),
|
|
20
|
+
current_owner: z.string().optional().describe('当前处理人,支持模糊匹配'),
|
|
21
|
+
reporter: z.string().optional().describe('报告人,支持多人查询'),
|
|
22
|
+
participator: z.string().optional().describe('参与人,支持多人查询'),
|
|
23
|
+
te: z.string().optional().describe('测试人员,支持模糊匹配'),
|
|
24
|
+
de: z.string().optional().describe('开发人员,支持模糊匹配'),
|
|
25
|
+
cc: z.string().optional().describe('抄送人'),
|
|
26
|
+
created: z.string().optional().describe('创建时间,格式 YYYY-MM-DD HH:mm'),
|
|
27
|
+
in_progress_time: z.string().optional().describe('接收时间,格式 YYYY-MM-DD HH:mm'),
|
|
28
|
+
resolved: z.string().optional().describe('解决时间,格式 YYYY-MM-DD HH:mm'),
|
|
29
|
+
verify_time: z.string().optional().describe('验证时间,格式 YYYY-MM-DD HH:mm'),
|
|
30
|
+
closed: z.string().optional().describe('关闭时间,格式 YYYY-MM-DD HH:mm'),
|
|
31
|
+
reject_time: z.string().optional().describe('拒绝时间,格式 YYYY-MM-DD HH:mm'),
|
|
32
|
+
modified: z.string().optional().describe('最后修改时间,格式 YYYY-MM-DD HH:mm'),
|
|
33
|
+
begin: z.string().optional().describe('预计开始日期,格式 YYYY-MM-DD'),
|
|
34
|
+
due: z.string().optional().describe('预计结束日期,格式 YYYY-MM-DD'),
|
|
35
|
+
deadline: z.string().optional().describe('解决期限,格式 YYYY-MM-DD'),
|
|
36
|
+
release_id: z.string().optional().describe('发布计划;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
37
|
+
version_report: z.string().optional().describe('发现版本,枚举值查询'),
|
|
38
|
+
version_test: z.string().optional().describe('验证版本'),
|
|
39
|
+
version_fix: z.string().optional().describe('修复版本'),
|
|
40
|
+
version_close: z.string().optional().describe('关闭版本'),
|
|
41
|
+
baseline_find: z.string().optional().describe('发现基线'),
|
|
42
|
+
baseline_join: z.string().optional().describe('加入基线'),
|
|
43
|
+
baseline_test: z.string().optional().describe('测试基线'),
|
|
44
|
+
baseline_close: z.string().optional().describe('关闭基线'),
|
|
45
|
+
feature: z.string().optional().describe('特性'),
|
|
46
|
+
source: z.string().optional().describe('缺陷根源,支持枚举值查询'),
|
|
47
|
+
bugtype: z.string().optional().describe('缺陷类型'),
|
|
48
|
+
frequency: z.string().optional().describe('复现频率,支持枚举值查询'),
|
|
49
|
+
originphase: z.string().optional().describe('发现阶段'),
|
|
50
|
+
sourcephase: z.string().optional().describe('引入阶段'),
|
|
51
|
+
resolution: z.string().optional().describe('解决方法,支持枚举值查询'),
|
|
52
|
+
description: z.string().optional().describe('详细描述,支持模糊匹配'),
|
|
53
|
+
os: z.string().optional().describe('操作系统'),
|
|
54
|
+
platform: z.string().optional().describe('软件平台'),
|
|
55
|
+
testmode: z.string().optional().describe('测试方式'),
|
|
56
|
+
testphase: z.string().optional().describe('测试阶段'),
|
|
57
|
+
testtype: z.string().optional().describe('测试类型'),
|
|
58
|
+
size: z.string().optional().describe('规模'),
|
|
59
|
+
estimate: z.number().optional().describe('预计解决时长'),
|
|
60
|
+
custom_field_one: z.string().optional().describe('自定义字段 1(支持 1-200)'),
|
|
61
|
+
limit: z.number().optional().describe('返回数量,默认 30,最大 200'),
|
|
62
|
+
page: z.number().optional().describe('页码,默认 1'),
|
|
63
|
+
order: z.string().optional().describe('排序'),
|
|
64
|
+
fields: z.string().optional().describe('返回字段'),
|
|
64
65
|
}),
|
|
65
66
|
handler: async (client, params) => {
|
|
66
67
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -77,56 +78,57 @@ export const bugTools = [
|
|
|
77
78
|
},
|
|
78
79
|
{
|
|
79
80
|
name: 'tapd_create_bug',
|
|
80
|
-
description: '
|
|
81
|
+
description: '创建缺陷。从已有缺陷复制用复制工具。写操作;title 必填;当前处理人/报告人缺省取环境变量 TAPD_NICK_NAME。返回新缺陷。',
|
|
81
82
|
inputSchema: z.object({
|
|
82
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
83
|
-
title: z.string().describe('
|
|
84
|
-
priority: z.string().optional().describe('
|
|
85
|
-
priority_label: z.string().optional().describe('
|
|
86
|
-
severity: z.string().optional().describe('
|
|
87
|
-
current_owner: z.string().optional().describe('
|
|
88
|
-
description: z.string().optional().describe('
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
83
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
84
|
+
title: z.string().describe('缺陷标题(必填)'),
|
|
85
|
+
priority: z.string().optional().describe('优先级'),
|
|
86
|
+
priority_label: z.string().optional().describe('优先级标签(推荐)'),
|
|
87
|
+
severity: z.string().optional().describe('严重程度'),
|
|
88
|
+
current_owner: z.string().optional().describe('当前处理人(缺省取环境变量 TAPD_NICK_NAME)'),
|
|
89
|
+
description: z.string().optional().describe('详细描述'),
|
|
90
|
+
raw_html: RAW_HTML_FIELD,
|
|
91
|
+
module: z.string().optional().describe('模块'),
|
|
92
|
+
iteration_id: z.string().optional().describe('迭代 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
93
|
+
label: z.string().optional().describe('标签,多个以 | 分隔'),
|
|
94
|
+
effort: z.number().optional().describe('预估工时'),
|
|
95
|
+
template_id: z.string().optional().describe('模板 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
96
|
+
cc: z.string().optional().describe('抄送人'),
|
|
97
|
+
te: z.string().optional().describe('测试人员'),
|
|
98
|
+
de: z.string().optional().describe('开发人员'),
|
|
99
|
+
reporter: z.string().optional().describe('报告人'),
|
|
100
|
+
participator: z.string().optional().describe('参与人'),
|
|
101
|
+
auditer: z.string().optional().describe('审核人'),
|
|
102
|
+
confirmer: z.string().optional().describe('确认人'),
|
|
103
|
+
fixer: z.string().optional().describe('修复人'),
|
|
104
|
+
closer: z.string().optional().describe('关闭人'),
|
|
105
|
+
begin: z.string().optional().describe('预计开始日期,格式 YYYY-MM-DD'),
|
|
106
|
+
due: z.string().optional().describe('预计结束日期,格式 YYYY-MM-DD'),
|
|
107
|
+
deadline: z.string().optional().describe('解决期限,格式 YYYY-MM-DD'),
|
|
108
|
+
release_id: z.string().optional().describe('发布计划;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
109
|
+
version_report: z.string().optional().describe('发现版本'),
|
|
110
|
+
version_test: z.string().optional().describe('验证版本'),
|
|
111
|
+
version_fix: z.string().optional().describe('修复版本'),
|
|
112
|
+
version_close: z.string().optional().describe('关闭版本'),
|
|
113
|
+
baseline_find: z.string().optional().describe('发现基线'),
|
|
114
|
+
baseline_join: z.string().optional().describe('加入基线'),
|
|
115
|
+
baseline_test: z.string().optional().describe('测试基线'),
|
|
116
|
+
baseline_close: z.string().optional().describe('关闭基线'),
|
|
117
|
+
feature: z.string().optional().describe('特性'),
|
|
118
|
+
source: z.string().optional().describe('缺陷根源'),
|
|
119
|
+
bugtype: z.string().optional().describe('缺陷类型'),
|
|
120
|
+
frequency: z.string().optional().describe('复现频率'),
|
|
121
|
+
originphase: z.string().optional().describe('发现阶段'),
|
|
122
|
+
sourcephase: z.string().optional().describe('引入阶段'),
|
|
123
|
+
resolution: z.string().optional().describe('解决方法'),
|
|
124
|
+
os: z.string().optional().describe('操作系统'),
|
|
125
|
+
platform: z.string().optional().describe('软件平台'),
|
|
126
|
+
testmode: z.string().optional().describe('测试方式'),
|
|
127
|
+
testphase: z.string().optional().describe('测试阶段'),
|
|
128
|
+
testtype: z.string().optional().describe('测试类型'),
|
|
129
|
+
size: z.string().optional().describe('规模'),
|
|
130
|
+
estimate: z.number().optional().describe('预计解决时长'),
|
|
131
|
+
custom_field_one: z.string().optional().describe('自定义字段 1(支持 1-200)'),
|
|
130
132
|
}),
|
|
131
133
|
handler: async (client, params) => {
|
|
132
134
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -145,53 +147,54 @@ export const bugTools = [
|
|
|
145
147
|
},
|
|
146
148
|
{
|
|
147
149
|
name: 'tapd_update_bug',
|
|
148
|
-
description: '
|
|
150
|
+
description: '按 ID 更新缺陷字段(状态流转、处理人、解决期限等)。批量改多条用批量更新工具。写操作;id 必填。返回更新后的缺陷。',
|
|
149
151
|
inputSchema: z.object({
|
|
150
|
-
id: z.string().describe('
|
|
151
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
152
|
-
title: z.string().optional().describe('
|
|
153
|
-
priority: z.string().optional().describe('
|
|
154
|
-
priority_label: z.string().optional().describe('
|
|
155
|
-
severity: z.string().optional().describe('
|
|
156
|
-
status: z.string().optional().describe('
|
|
157
|
-
current_owner: z.string().optional().describe('
|
|
158
|
-
description: z.string().optional().describe('
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
152
|
+
id: z.string().describe('缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
153
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
154
|
+
title: z.string().optional().describe('缺陷标题'),
|
|
155
|
+
priority: z.string().optional().describe('优先级'),
|
|
156
|
+
priority_label: z.string().optional().describe('优先级标签(推荐)'),
|
|
157
|
+
severity: z.string().optional().describe('严重程度'),
|
|
158
|
+
status: z.string().optional().describe('状态'),
|
|
159
|
+
current_owner: z.string().optional().describe('当前处理人'),
|
|
160
|
+
description: z.string().optional().describe('详细描述'),
|
|
161
|
+
raw_html: RAW_HTML_FIELD,
|
|
162
|
+
module: z.string().optional().describe('模块'),
|
|
163
|
+
iteration_id: z.string().optional().describe('迭代 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
164
|
+
label: z.string().optional().describe('标签,多个以 | 分隔'),
|
|
165
|
+
effort: z.number().optional().describe('预估工时'),
|
|
166
|
+
cc: z.string().optional().describe('抄送人'),
|
|
167
|
+
te: z.string().optional().describe('测试人员'),
|
|
168
|
+
de: z.string().optional().describe('开发人员'),
|
|
169
|
+
reporter: z.string().optional().describe('报告人'),
|
|
170
|
+
participator: z.string().optional().describe('参与人'),
|
|
171
|
+
begin: z.string().optional().describe('预计开始日期,格式 YYYY-MM-DD'),
|
|
172
|
+
due: z.string().optional().describe('预计结束日期,格式 YYYY-MM-DD'),
|
|
173
|
+
deadline: z.string().optional().describe('解决期限,格式 YYYY-MM-DD'),
|
|
174
|
+
release_id: z.string().optional().describe('发布计划;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
175
|
+
version_report: z.string().optional().describe('发现版本'),
|
|
176
|
+
version_test: z.string().optional().describe('验证版本'),
|
|
177
|
+
version_fix: z.string().optional().describe('修复版本'),
|
|
178
|
+
version_close: z.string().optional().describe('关闭版本'),
|
|
179
|
+
baseline_find: z.string().optional().describe('发现基线'),
|
|
180
|
+
baseline_join: z.string().optional().describe('加入基线'),
|
|
181
|
+
baseline_test: z.string().optional().describe('测试基线'),
|
|
182
|
+
baseline_close: z.string().optional().describe('关闭基线'),
|
|
183
|
+
feature: z.string().optional().describe('特性'),
|
|
184
|
+
source: z.string().optional().describe('缺陷根源'),
|
|
185
|
+
bugtype: z.string().optional().describe('缺陷类型'),
|
|
186
|
+
frequency: z.string().optional().describe('复现频率'),
|
|
187
|
+
originphase: z.string().optional().describe('发现阶段'),
|
|
188
|
+
sourcephase: z.string().optional().describe('引入阶段'),
|
|
189
|
+
resolution: z.string().optional().describe('解决方法'),
|
|
190
|
+
os: z.string().optional().describe('操作系统'),
|
|
191
|
+
platform: z.string().optional().describe('软件平台'),
|
|
192
|
+
testmode: z.string().optional().describe('测试方式'),
|
|
193
|
+
testphase: z.string().optional().describe('测试阶段'),
|
|
194
|
+
testtype: z.string().optional().describe('测试类型'),
|
|
195
|
+
size: z.string().optional().describe('规模'),
|
|
196
|
+
estimate: z.number().optional().describe('预计解决时长'),
|
|
197
|
+
custom_field_one: z.string().optional().describe('自定义字段 1(支持 1-200)'),
|
|
195
198
|
}),
|
|
196
199
|
handler: async (client, params) => {
|
|
197
200
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -208,60 +211,60 @@ export const bugTools = [
|
|
|
208
211
|
},
|
|
209
212
|
{
|
|
210
213
|
name: 'tapd_get_bug_count',
|
|
211
|
-
description: '
|
|
214
|
+
description: '按与缺陷列表查询相同的过滤条件返回缺陷数量,不返回列表。统计缺陷存量/趋势时用。读操作。返回 {count}。',
|
|
212
215
|
inputSchema: z.object({
|
|
213
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
214
|
-
id: z.string().optional().describe('
|
|
215
|
-
title: z.string().optional().describe('
|
|
216
|
-
priority: z.string().optional().describe('
|
|
217
|
-
priority_label: z.string().optional().describe('
|
|
218
|
-
severity: z.string().optional().describe('
|
|
219
|
-
status: z.string().optional().describe('
|
|
220
|
-
v_status: z.string().optional().describe('
|
|
221
|
-
label: z.string().optional().describe('
|
|
222
|
-
iteration_id: z.string().optional().describe('
|
|
223
|
-
module: z.string().optional().describe('
|
|
224
|
-
current_owner: z.string().optional().describe('
|
|
225
|
-
reporter: z.string().optional().describe('
|
|
226
|
-
participator: z.string().optional().describe('
|
|
227
|
-
te: z.string().optional().describe('
|
|
228
|
-
de: z.string().optional().describe('
|
|
229
|
-
cc: z.string().optional().describe('
|
|
230
|
-
created: z.string().optional().describe('
|
|
231
|
-
in_progress_time: z.string().optional().describe('
|
|
232
|
-
resolved: z.string().optional().describe('
|
|
233
|
-
verify_time: z.string().optional().describe('
|
|
234
|
-
closed: z.string().optional().describe('
|
|
235
|
-
reject_time: z.string().optional().describe('
|
|
236
|
-
modified: z.string().optional().describe('
|
|
237
|
-
begin: z.string().optional().describe('
|
|
238
|
-
due: z.string().optional().describe('
|
|
239
|
-
deadline: z.string().optional().describe('
|
|
240
|
-
release_id: z.string().optional().describe('
|
|
241
|
-
version_report: z.string().optional().describe('
|
|
242
|
-
version_test: z.string().optional().describe('
|
|
243
|
-
version_fix: z.string().optional().describe('
|
|
244
|
-
version_close: z.string().optional().describe('
|
|
245
|
-
baseline_find: z.string().optional().describe('
|
|
246
|
-
baseline_join: z.string().optional().describe('
|
|
247
|
-
baseline_test: z.string().optional().describe('
|
|
248
|
-
baseline_close: z.string().optional().describe('
|
|
249
|
-
feature: z.string().optional().describe('
|
|
250
|
-
source: z.string().optional().describe('
|
|
251
|
-
bugtype: z.string().optional().describe('
|
|
252
|
-
frequency: z.string().optional().describe('
|
|
253
|
-
originphase: z.string().optional().describe('
|
|
254
|
-
sourcephase: z.string().optional().describe('
|
|
255
|
-
resolution: z.string().optional().describe('
|
|
256
|
-
description: z.string().optional().describe('
|
|
257
|
-
os: z.string().optional().describe('
|
|
258
|
-
platform: z.string().optional().describe('
|
|
259
|
-
testmode: z.string().optional().describe('
|
|
260
|
-
testphase: z.string().optional().describe('
|
|
261
|
-
testtype: z.string().optional().describe('
|
|
262
|
-
size: z.string().optional().describe('
|
|
263
|
-
estimate: z.number().optional().describe('
|
|
264
|
-
custom_field_one: z.string().optional().describe('
|
|
216
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
217
|
+
id: z.string().optional().describe('支持多 ID 查询;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
218
|
+
title: z.string().optional().describe('缺陷标题,支持模糊匹配'),
|
|
219
|
+
priority: z.string().optional().describe('优先级,建议直接用 priority_label'),
|
|
220
|
+
priority_label: z.string().optional().describe('优先级(推荐)'),
|
|
221
|
+
severity: z.string().optional().describe('严重程度,支持枚举值查询'),
|
|
222
|
+
status: z.string().optional().describe('状态,支持枚举值查询'),
|
|
223
|
+
v_status: z.string().optional().describe('状态(中文)'),
|
|
224
|
+
label: z.string().optional().describe('标签,支持枚举值查询'),
|
|
225
|
+
iteration_id: z.string().optional().describe('迭代 ID,支持枚举值查询;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
226
|
+
module: z.string().optional().describe('模块,支持枚举值查询'),
|
|
227
|
+
current_owner: z.string().optional().describe('当前处理人,支持模糊匹配'),
|
|
228
|
+
reporter: z.string().optional().describe('报告人,支持多人查询'),
|
|
229
|
+
participator: z.string().optional().describe('参与人,支持多人查询'),
|
|
230
|
+
te: z.string().optional().describe('测试人员,支持模糊匹配'),
|
|
231
|
+
de: z.string().optional().describe('开发人员,支持模糊匹配'),
|
|
232
|
+
cc: z.string().optional().describe('抄送人'),
|
|
233
|
+
created: z.string().optional().describe('创建时间,格式 YYYY-MM-DD HH:mm'),
|
|
234
|
+
in_progress_time: z.string().optional().describe('接收时间,格式 YYYY-MM-DD HH:mm'),
|
|
235
|
+
resolved: z.string().optional().describe('解决时间,格式 YYYY-MM-DD HH:mm'),
|
|
236
|
+
verify_time: z.string().optional().describe('验证时间,格式 YYYY-MM-DD HH:mm'),
|
|
237
|
+
closed: z.string().optional().describe('关闭时间,格式 YYYY-MM-DD HH:mm'),
|
|
238
|
+
reject_time: z.string().optional().describe('拒绝时间,格式 YYYY-MM-DD HH:mm'),
|
|
239
|
+
modified: z.string().optional().describe('最后修改时间,格式 YYYY-MM-DD HH:mm'),
|
|
240
|
+
begin: z.string().optional().describe('预计开始日期,格式 YYYY-MM-DD'),
|
|
241
|
+
due: z.string().optional().describe('预计结束日期,格式 YYYY-MM-DD'),
|
|
242
|
+
deadline: z.string().optional().describe('解决期限,格式 YYYY-MM-DD'),
|
|
243
|
+
release_id: z.string().optional().describe('发布计划;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
244
|
+
version_report: z.string().optional().describe('发现版本,枚举值查询'),
|
|
245
|
+
version_test: z.string().optional().describe('验证版本'),
|
|
246
|
+
version_fix: z.string().optional().describe('修复版本'),
|
|
247
|
+
version_close: z.string().optional().describe('关闭版本'),
|
|
248
|
+
baseline_find: z.string().optional().describe('发现基线'),
|
|
249
|
+
baseline_join: z.string().optional().describe('加入基线'),
|
|
250
|
+
baseline_test: z.string().optional().describe('测试基线'),
|
|
251
|
+
baseline_close: z.string().optional().describe('关闭基线'),
|
|
252
|
+
feature: z.string().optional().describe('特性'),
|
|
253
|
+
source: z.string().optional().describe('缺陷根源,支持枚举值查询'),
|
|
254
|
+
bugtype: z.string().optional().describe('缺陷类型'),
|
|
255
|
+
frequency: z.string().optional().describe('复现频率,支持枚举值查询'),
|
|
256
|
+
originphase: z.string().optional().describe('发现阶段'),
|
|
257
|
+
sourcephase: z.string().optional().describe('引入阶段'),
|
|
258
|
+
resolution: z.string().optional().describe('解决方法,支持枚举值查询'),
|
|
259
|
+
description: z.string().optional().describe('详细描述,支持模糊匹配'),
|
|
260
|
+
os: z.string().optional().describe('操作系统'),
|
|
261
|
+
platform: z.string().optional().describe('软件平台'),
|
|
262
|
+
testmode: z.string().optional().describe('测试方式'),
|
|
263
|
+
testphase: z.string().optional().describe('测试阶段'),
|
|
264
|
+
testtype: z.string().optional().describe('测试类型'),
|
|
265
|
+
size: z.string().optional().describe('规模'),
|
|
266
|
+
estimate: z.number().optional().describe('预计解决时长'),
|
|
267
|
+
custom_field_one: z.string().optional().describe('自定义字段 1(支持 1-200)'),
|
|
265
268
|
}),
|
|
266
269
|
handler: async (client, params) => {
|
|
267
270
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -279,18 +282,18 @@ export const bugTools = [
|
|
|
279
282
|
// 缺陷变更历史
|
|
280
283
|
{
|
|
281
284
|
name: 'tapd_get_bug_changes',
|
|
282
|
-
description: '
|
|
285
|
+
description: '查询缺陷字段变更历史(谁在何时把什么字段从什么改成什么)。只要条数用变更次数统计工具。读操作;limit 默认 30、最大 200。返回变更记录数组。',
|
|
283
286
|
inputSchema: z.object({
|
|
284
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
285
|
-
id: z.string().optional().describe('变更记录ID,支持多ID查询;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
286
|
-
bug_id: z.string().optional().describe('缺陷ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
287
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
288
|
+
id: z.string().optional().describe('变更记录 ID,支持多 ID查询;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
289
|
+
bug_id: z.string().optional().describe('缺陷 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
287
290
|
field: z.string().optional().describe('变更字段'),
|
|
288
291
|
value_before: z.string().optional().describe('变更前值'),
|
|
289
292
|
value_after: z.string().optional().describe('变更后值'),
|
|
290
293
|
user: z.string().optional().describe('变更人'),
|
|
291
294
|
created: z.string().optional().describe('创建时间,支持时间查询'),
|
|
292
|
-
limit: z.number().optional().describe('返回数量,默认30,最大200'),
|
|
293
|
-
page: z.number().optional().describe('页码,默认1'),
|
|
295
|
+
limit: z.number().optional().describe('返回数量,默认 30,最大 200'),
|
|
296
|
+
page: z.number().optional().describe('页码,默认 1'),
|
|
294
297
|
order: z.string().optional().describe('排序'),
|
|
295
298
|
fields: z.string().optional().describe('返回字段'),
|
|
296
299
|
}),
|
|
@@ -309,10 +312,10 @@ export const bugTools = [
|
|
|
309
312
|
},
|
|
310
313
|
{
|
|
311
314
|
name: 'tapd_get_bug_changes_count',
|
|
312
|
-
description: '
|
|
315
|
+
description: '按过滤条件返回缺陷变更记录条数。要看明细用变更历史查询工具。读操作。返回 {count}。',
|
|
313
316
|
inputSchema: z.object({
|
|
314
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
315
|
-
bug_id: z.string().optional().describe('缺陷ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
317
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
318
|
+
bug_id: z.string().optional().describe('缺陷 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
316
319
|
field: z.string().optional().describe('变更字段'),
|
|
317
320
|
user: z.string().optional().describe('变更人'),
|
|
318
321
|
created: z.string().optional().describe('创建时间'),
|
|
@@ -333,9 +336,9 @@ export const bugTools = [
|
|
|
333
336
|
// 缺陷字段配置
|
|
334
337
|
{
|
|
335
338
|
name: 'tapd_get_bug_custom_fields_settings',
|
|
336
|
-
description: '
|
|
339
|
+
description: '查询缺陷自定义字段配置(字段名、类型、候选值)。需求侧用需求自定义字段查询工具。读操作。返回配置数组。',
|
|
337
340
|
inputSchema: z.object({
|
|
338
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
341
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
339
342
|
}),
|
|
340
343
|
handler: async (client, params) => {
|
|
341
344
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -347,9 +350,9 @@ export const bugTools = [
|
|
|
347
350
|
},
|
|
348
351
|
{
|
|
349
352
|
name: 'tapd_get_bug_fields_info',
|
|
350
|
-
description: '
|
|
353
|
+
description: '查询缺陷可写字段元信息(类型、是否必填)。读操作。返回字段定义数组。',
|
|
351
354
|
inputSchema: z.object({
|
|
352
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
355
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
353
356
|
}),
|
|
354
357
|
handler: async (client, params) => {
|
|
355
358
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -361,9 +364,9 @@ export const bugTools = [
|
|
|
361
364
|
},
|
|
362
365
|
{
|
|
363
366
|
name: 'tapd_get_bug_fields_lable',
|
|
364
|
-
description: '
|
|
367
|
+
description: '查询缺陷字段名中英文对照。读操作。返回映射对象。',
|
|
365
368
|
inputSchema: z.object({
|
|
366
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
369
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
367
370
|
}),
|
|
368
371
|
handler: async (client, params) => {
|
|
369
372
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -376,9 +379,9 @@ export const bugTools = [
|
|
|
376
379
|
// 缺陷模板
|
|
377
380
|
{
|
|
378
381
|
name: 'tapd_get_bug_template_list',
|
|
379
|
-
description: '
|
|
382
|
+
description: '查询缺陷模板列表。取默认模板用默认模板查询工具。读操作。返回模板数组。',
|
|
380
383
|
inputSchema: z.object({
|
|
381
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
384
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
382
385
|
limit: z.number().optional().describe('返回数量'),
|
|
383
386
|
page: z.number().optional().describe('页码'),
|
|
384
387
|
fields: z.string().optional().describe('返回字段'),
|
|
@@ -393,9 +396,9 @@ export const bugTools = [
|
|
|
393
396
|
},
|
|
394
397
|
{
|
|
395
398
|
name: 'tapd_get_default_bug_template',
|
|
396
|
-
description: '
|
|
399
|
+
description: '查询缺陷默认模板字段。要模板清单用模板列表查询工具。读操作。返回默认模板。',
|
|
397
400
|
inputSchema: z.object({
|
|
398
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
401
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
399
402
|
}),
|
|
400
403
|
handler: async (client, params) => {
|
|
401
404
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -408,10 +411,10 @@ export const bugTools = [
|
|
|
408
411
|
// 批量操作
|
|
409
412
|
{
|
|
410
413
|
name: 'tapd_batch_update_bugs',
|
|
411
|
-
description: '
|
|
414
|
+
description: '一次批量更新最多 50 条缺陷(处理器内自动做长 ID 转换)。只改一条用单条更新工具。写操作;bugs 传 JSON 数组字符串。返回批量结果。',
|
|
412
415
|
inputSchema: z.object({
|
|
413
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
414
|
-
bugs: z.string().describe('缺陷更新数组JSON,最多50
|
|
416
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
417
|
+
bugs: z.string().describe('缺陷更新数组JSON,最多50条(必填)'),
|
|
415
418
|
}),
|
|
416
419
|
handler: async (client, params) => {
|
|
417
420
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -438,15 +441,15 @@ export const bugTools = [
|
|
|
438
441
|
},
|
|
439
442
|
{
|
|
440
443
|
name: 'tapd_copy_bug',
|
|
441
|
-
description: '
|
|
444
|
+
description: '复制已有缺陷创建新缺陷,可选带附件、评论。从零新建用创建工具。写操作;id 必填。返回新缺陷。',
|
|
442
445
|
inputSchema: z.object({
|
|
443
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
444
|
-
id: z.string().describe('要复制的缺陷ID
|
|
446
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
447
|
+
id: z.string().describe('要复制的缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
445
448
|
title: z.string().optional().describe('新缺陷标题(默认为原标题)'),
|
|
446
449
|
current_owner: z.string().optional().describe('处理人'),
|
|
447
|
-
iteration_id: z.string().optional().describe('迭代ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
448
|
-
copy_attachments: z.number().optional().describe('是否复制附件,值=1
|
|
449
|
-
copy_comments: z.number().optional().describe('是否复制评论,值=1
|
|
450
|
+
iteration_id: z.string().optional().describe('迭代 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
451
|
+
copy_attachments: z.number().optional().describe('是否复制附件,值=1 为复制'),
|
|
452
|
+
copy_comments: z.number().optional().describe('是否复制评论,值=1 为复制'),
|
|
450
453
|
}),
|
|
451
454
|
handler: async (client, params) => {
|
|
452
455
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -464,10 +467,10 @@ export const bugTools = [
|
|
|
464
467
|
// 缺陷关联
|
|
465
468
|
{
|
|
466
469
|
name: 'tapd_get_link_bugs',
|
|
467
|
-
description: '
|
|
470
|
+
description: '查询某缺陷的缺陷间关联关系。建立/取消关联用关联建立/取消工具;查缺陷关联的需求用关联需求查询工具。读操作;bug_id 必填。返回关联数组。',
|
|
468
471
|
inputSchema: z.object({
|
|
469
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
470
|
-
bug_id: z.string().describe('缺陷ID
|
|
472
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
473
|
+
bug_id: z.string().describe('缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
471
474
|
}),
|
|
472
475
|
handler: async (client, params) => {
|
|
473
476
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -484,11 +487,11 @@ export const bugTools = [
|
|
|
484
487
|
},
|
|
485
488
|
{
|
|
486
489
|
name: 'tapd_link_bugs',
|
|
487
|
-
description: '
|
|
490
|
+
description: '建立缺陷与缺陷的关联(可标前置/后置等类型)。查询用关联关系查询工具;取消用关联取消工具。写操作;bug_id(主缺陷)与被关联缺陷 ID 必填。返回关联结果。',
|
|
488
491
|
inputSchema: z.object({
|
|
489
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
490
|
-
bug_id: z.string().describe('主缺陷ID
|
|
491
|
-
link_bug_id: z.string().describe('关联缺陷ID
|
|
492
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
493
|
+
bug_id: z.string().describe('主缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
494
|
+
link_bug_id: z.string().describe('关联缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
492
495
|
link_type: z.string().optional().describe('关联类型(前置/后置等)'),
|
|
493
496
|
}),
|
|
494
497
|
handler: async (client, params) => {
|
|
@@ -507,11 +510,11 @@ export const bugTools = [
|
|
|
507
510
|
},
|
|
508
511
|
{
|
|
509
512
|
name: 'tapd_delete_link_bugs',
|
|
510
|
-
description: '
|
|
513
|
+
description: '取消缺陷与缺陷的关联。建立关联用关联建立工具。写操作;bug_id、被取消关联的缺陷 ID 必填。返回解除结果。',
|
|
511
514
|
inputSchema: z.object({
|
|
512
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
513
|
-
bug_id: z.string().describe('主缺陷ID
|
|
514
|
-
link_bug_id: z.string().describe('要取消关联的缺陷ID
|
|
515
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
516
|
+
bug_id: z.string().describe('主缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
517
|
+
link_bug_id: z.string().describe('要取消关联的缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
515
518
|
}),
|
|
516
519
|
handler: async (client, params) => {
|
|
517
520
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -529,10 +532,10 @@ export const bugTools = [
|
|
|
529
532
|
},
|
|
530
533
|
{
|
|
531
534
|
name: 'tapd_get_related_stories',
|
|
532
|
-
description: '
|
|
535
|
+
description: '查询缺陷关联的需求。反向(按需求找缺陷)用需求侧关联缺陷查询工具;缺陷间关联用缺陷关联关系查询工具。读操作;bug_id 必填。返回关联需求。',
|
|
533
536
|
inputSchema: z.object({
|
|
534
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
535
|
-
bug_id: z.string().describe('缺陷ID
|
|
537
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
538
|
+
bug_id: z.string().describe('缺陷 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
536
539
|
}),
|
|
537
540
|
handler: async (client, params) => {
|
|
538
541
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|
|
@@ -550,12 +553,12 @@ export const bugTools = [
|
|
|
550
553
|
// 其他
|
|
551
554
|
{
|
|
552
555
|
name: 'tapd_get_bugs_by_view_conf_id',
|
|
553
|
-
description: '
|
|
556
|
+
description: '按视图配置 ID 查询该视图下的缺陷列表。自定义条件查询用列表查询工具。读操作;view_conf_id 必填。返回缺陷列表。',
|
|
554
557
|
inputSchema: z.object({
|
|
555
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
556
|
-
view_conf_id: z.string().describe('视图配置ID
|
|
557
|
-
limit: z.number().optional().describe('返回数量,默认30,最大200'),
|
|
558
|
-
page: z.number().optional().describe('页码,默认1'),
|
|
558
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
559
|
+
view_conf_id: z.string().describe('视图配置 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
560
|
+
limit: z.number().optional().describe('返回数量,默认 30,最大 200'),
|
|
561
|
+
page: z.number().optional().describe('页码,默认 1'),
|
|
559
562
|
fields: z.string().optional().describe('返回字段'),
|
|
560
563
|
}),
|
|
561
564
|
handler: async (client, params) => {
|
|
@@ -568,16 +571,16 @@ export const bugTools = [
|
|
|
568
571
|
},
|
|
569
572
|
{
|
|
570
573
|
name: 'tapd_get_removed_bugs',
|
|
571
|
-
description: '
|
|
574
|
+
description: '查询回收站中的缺陷。存续缺陷用列表查询工具。读操作;limit 默认 30、最大 200。返回已删除缺陷数组。',
|
|
572
575
|
inputSchema: z.object({
|
|
573
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
574
|
-
id: z.string().optional().describe('缺陷ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
576
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
577
|
+
id: z.string().optional().describe('缺陷 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
575
578
|
title: z.string().optional().describe('标题'),
|
|
576
579
|
current_owner: z.string().optional().describe('处理人'),
|
|
577
580
|
reporter: z.string().optional().describe('创建人'),
|
|
578
581
|
created: z.string().optional().describe('创建时间'),
|
|
579
582
|
deleted: z.string().optional().describe('删除时间'),
|
|
580
|
-
limit: z.number().optional().describe('返回数量,默认30,最大200'),
|
|
583
|
+
limit: z.number().optional().describe('返回数量,默认 30,最大 200'),
|
|
581
584
|
page: z.number().optional().describe('页码'),
|
|
582
585
|
order: z.string().optional().describe('排序'),
|
|
583
586
|
fields: z.string().optional().describe('返回字段'),
|
|
@@ -597,10 +600,10 @@ export const bugTools = [
|
|
|
597
600
|
},
|
|
598
601
|
{
|
|
599
602
|
name: 'tapd_bug_ids_to_query_token',
|
|
600
|
-
description: '
|
|
603
|
+
description: '把一批缺陷 ID 转成服务端 queryToken(供按 ID 集合查询的场景)。仅做 ID→token 转换;要完整详情用批量详情工具。读操作;ids 逗号分隔。返回 queryToken。',
|
|
601
604
|
inputSchema: z.object({
|
|
602
|
-
workspace_id: z.number().optional().describe('项目ID
|
|
603
|
-
ids: z.string().describe('缺陷ID
|
|
605
|
+
workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
|
|
606
|
+
ids: z.string().describe('缺陷 ID列表,逗号分隔(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
|
|
604
607
|
}),
|
|
605
608
|
handler: async (client, params) => {
|
|
606
609
|
const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
|