Skip to content

Commit 7e0ae65

Browse files
author
延枚
committed
实现测试管理的mcp tool
Change-Id: I32062b6591ae9c269055d88c51d789806f549e77
1 parent 0ba1656 commit 7e0ae65

File tree

5 files changed

+44
-3
lines changed

5 files changed

+44
-3
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ alibabacloud-devops-mcp-server provides the following capabilities for AI assist
1515
- `pipeline-management`: Pipeline management tools (pipeline list, pipeline configuration, resource management, tag management, deployment management, etc.)
1616
- `application-delivery`: Application delivery tools (deployment order management, application management, application tags, variable group management, etc.)
1717
- `packages-management`: Artifact repository management tools (artifact repositories, artifact lists, etc.)
18+
- `test-management`: Test management tools (test case management, test case directories, test plans, test results, etc.)
1819

1920
## Tools
2021

@@ -184,6 +185,19 @@ alibabacloud-devops-mcp-server integrates various tools, including:
184185
- `list_artifacts`: Get artifacts details list
185186
- `get_artifact`: Get single artifact details
186187

188+
### Test Management Tools
189+
190+
- `list_testcase_directories`: [test management] Get test case directory list
191+
- `create_testcase_directory`: [test management] Create a test case directory
192+
- `get_testcase_field_config`: [test management] Get test case field configuration
193+
- `create_testcase`: [test management] Create a test case
194+
- `search_testcases`: [test management] Search test cases
195+
- `get_testcase`: [test management] Get test case information
196+
- `delete_testcase`: [test management] Delete a test case
197+
- `list_test_plans`: [test management] Get test plan list
198+
- `get_test_result_list`: [test management] Get test case list in a test plan
199+
- `update_test_result`: [test management] Update test result
200+
187201
## Usage
188202

189203
### Prerequisites
@@ -436,6 +450,7 @@ Available toolsets:
436450
- `pipeline-management`: Pipeline management tools (pipeline list, pipeline configuration, resource management, tag management, deployment management, etc.)
437451
- `packages-management`: Artifact repository management tools (artifact repositories, artifact lists, etc.)
438452
- `application-delivery`: Application delivery tools (deployment order management, application management, application tags, variable group management, etc.)
453+
- `test-management`: Test management tools (test case management, test case directories, test plans, test results, etc.)
439454

440455
To use toolsets, you can specify them via command line arguments or environment variables:
441456

README.zh-cn.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ alibabacloud-devops-mcp-server提供了以下功能,让AI助手能够:
1313
* **流水线管理**:流水线列表、流水线管理、资源管理、标签管理、部署管理等
1414
* **制品仓库管理**:制品仓库、制品列表等
1515
* **应用交付**:部署单管理、应用管理、应用标签、变量组管理等
16+
* **测试管理**:测试用例管理、测试用例目录、测试计划、测试结果等
1617

1718
## 工具列表
1819

@@ -181,6 +182,19 @@ alibabacloud-devops-mcp-server集成了多种工具,包括:
181182
- `list_artifacts`: 查询制品信息
182183
- `get_artifact`: 查看单个制品信息
183184

185+
### 测试管理工具
186+
187+
- `list_testcase_directories`: [测试管理] 获取测试用例目录列表
188+
- `create_testcase_directory`: [测试管理] 创建测试用例目录
189+
- `get_testcase_field_config`: [测试管理] 获取测试用例字段配置
190+
- `create_testcase`: [测试管理] 创建测试用例
191+
- `search_testcases`: [测试管理] 搜索测试用例
192+
- `get_testcase`: [测试管理] 获取测试用例信息
193+
- `delete_testcase`: [测试管理] 删除测试用例
194+
- `list_test_plans`: [测试管理] 获取测试计划列表
195+
- `get_test_result_list`: [测试管理] 获取测试计划中测试用例列表
196+
- `update_test_result`: [测试管理] 更新测试结果
197+
184198
## 用法
185199

186200

@@ -435,6 +449,7 @@ x-yunxiao-token: USER_SPECIFIC_TOKEN
435449
- `pipeline-management`: 流水线管理工具(流水线列表、流水线管理、资源管理、标签管理、部署管理等)
436450
- `packages-management`: 制品仓库管理工具(制品仓库、制品列表等)
437451
- `application-delivery`: 应用交付工具(部署单管理、应用管理、应用标签、变量组管理等)
452+
- `test-management`: 测试管理工具(测试用例管理、测试用例目录、测试计划、测试结果等)
438453

439454
要使用工具集,您可以通过命令行参数或环境变量来指定:
440455

common/toolsetManager.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { getResourceMemberTools } from '../tool-registry/resourceMember.js';
2323
import { getVMDeployOrderTools } from '../tool-registry/vmDeployOrder.js';
2424
import { getCommitTools } from '../tool-registry/commit.js';
2525
import { getBaseTools } from '../tool-registry/base.js';
26+
import { getTestManagementTools } from '../tool-registry/test-management.js';
2627

2728
// 定义所有工具集配置
2829
const ALL_TOOLSET_CONFIGS: Record<Toolset, ToolsetConfig> = {
@@ -91,6 +92,11 @@ const ALL_TOOLSET_CONFIGS: Record<Toolset, ToolsetConfig> = {
9192
...getAppStackChangeOrderTools(),
9293
...getAppStackAppReleaseWorkflowTools()
9394
]) as () => Tool[]
95+
},
96+
[Toolset.TEST_MANAGEMENT]: {
97+
name: Toolset.TEST_MANAGEMENT,
98+
description: "Test management tools",
99+
tools: getTestManagementTools as () => Tool[]
94100
}
95101
};
96102

common/toolsets.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ export enum Toolset {
66
PROJECT_MANAGEMENT = "project-management",
77
PIPELINE_MANAGEMENT = "pipeline-management",
88
PACKAGES_MANAGEMENT = "packages-management",
9-
APPLICATION_DELIVERY = "application-delivery"
9+
APPLICATION_DELIVERY = "application-delivery",
10+
TEST_MANAGEMENT = "test-management"
1011
}
1112

1213
// 定义工具接口(与MCP SDK中的Tool接口兼容,但更宽松以适应zodToJsonSchema的输出)
@@ -59,5 +60,6 @@ export const DEFAULT_ENABLED_TOOLSETS: Toolset[] = [
5960
Toolset.PROJECT_MANAGEMENT,
6061
Toolset.PIPELINE_MANAGEMENT,
6162
Toolset.PACKAGES_MANAGEMENT,
62-
Toolset.APPLICATION_DELIVERY
63+
Toolset.APPLICATION_DELIVERY,
64+
Toolset.TEST_MANAGEMENT
6365
];

tool-handlers/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { handleResourceMemberTools } from './resourceMember.js';
1919
import { handleVMDeployOrderTools } from './vmDeployOrder.js';
2020
import { handleCommitTools } from './commit.js';
2121
import { handleBaseTools } from './base.js';
22+
import { handleTestManagementTools } from './test-management.js';
2223
import { Toolset } from '../common/toolsets.js';
2324

2425
// 定义处理函数映射
@@ -30,6 +31,7 @@ const HANDLER_MAP: Record<Toolset, (request: any) => Promise<any>> = {
3031
[Toolset.PIPELINE_MANAGEMENT]: handlePipelineTools,
3132
[Toolset.PACKAGES_MANAGEMENT]: handlePackageManagementTools,
3233
[Toolset.APPLICATION_DELIVERY]: handleAppStackTools, // 注意:这里只使用了主处理函数,其他AppStack处理函数在内部处理
34+
[Toolset.TEST_MANAGEMENT]: handleTestManagementTools,
3335
}
3436

3537
// 保持向后兼容的接口
@@ -56,7 +58,8 @@ export const handleToolRequest = async (request: any) => {
5658
handleEffortTools,
5759
handleResourceMemberTools,
5860
handleVMDeployOrderTools,
59-
handleCommitTools
61+
handleCommitTools,
62+
handleTestManagementTools
6063
];
6164

6265
for (const handler of handlers) {

0 commit comments

Comments
 (0)