MCP Jira X射线服务器
用于从Jira Xray中提取测试信息的模型上下文协议(MCP)服务器。此服务器使用Xray测试管理连接到Jira实例,并提取与特定票证相关的测试用例。
特性
- 🔍 提取与任何Jira票证相关的测试
- 📋 列出与工单关联的测试执行
- 🎨 可配置的JSON输出格式
- 💾 自动保存到
extractions文件夹 - 🔐 使用Jira API令牌进行安全连接
安装
先决条件
- Node.js 17或更高版本
- 带有X射线测试管理的Jira实例
- Jira API代币
设置
- 克隆此存储库或通过npm安装:
git clone
cd mcp-jira-xray
npm install- 运行交互式安装程序:
npm run setup这将指导您完成:
- 输入Jira主机URL
- 提供您的Jira电子邮件
- 添加API令牌
- 正在验证连接
- 配置输出格式
或 手动创建 .env 文件:
cp .env.example .env
# Edit .env with your credentials获取Jira API代币
- 首选 Atlassian帐户设置
- 点击“创建API令牌”
- 给它一个标签并复制令牌
- 在您的
.env文件
配置
Jira连接
服务器需要三个配置值:
JIRA_HOST:您的Jira实例URL(例如。,https://mycompany.atlassian.net)JIRA_EMAIL:您的Jira帐户电子邮件JIRA_API_TOKEN:您的Jira API代币
输出格式
这 OUTPUT_FORMAT 环境变量定义了提取的测试数据的JSON结构。您可以根据需要进行自定义。
默认格式:
{
"ticketId": "",
"test": "",
"testCases": []
}自定义格式示例:
{
"ticket": {
"id": "",
"name": ""
},
"tests": {
"cases": []
}
}服务器将根据这些键填充字段:
ticketId→ Jira票IDtest→ 门票摘要testCases→ 测试用例描述数组
用法
使用VS代码
好消息! 服务器已在中为此项目配置 .vscode/mcp.json.
快速入门:
- 确保你已经跑过了
npm run setup(配置完成) - 打开命令选项板:
Cmd/Ctrl + Shift + P - 键入:“MCP:启用”,然后按Enter键
- 尝试:“提取测试票PROJ-123”在副驾驶聊天
📖 看 VSCODE-SETUP.md 获取完整的VS Code安装指南
使用克劳德桌面
将此添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jira-xray": {
"command": "node",
"args": ["/absolute/path/to/mcp-jira-xray/build/index.js"]
}
}
}可用工具
1. extract_tests
提取与给定Jira票证相关的所有测试。
参数:
ticketId(string):Jira票证ID(例如“PROJ-123”)
例子:
Extract tests for ticket PROJ-123输出:
- 测试执行细节
- 所有带有描述的测试用例
- 已保存到
extractions/PROJ-123_.json
2. list_test_executions
列出链接到Jira票证的所有测试执行。
参数:
ticketId(string):Jira票证ID
例子:
List test executions for PROJ-123输出:
- 测试执行密钥列表
- 测试执行总结
- 执行状态
输出文件
所有提取的测试数据都保存到 extractions/ 具有以下命名约定的文件夹:
extractions/_.json例子: extractions/PROJ-123_2024-01-15T10-30-45-123Z.json
发展
交互式设置
运行安装向导:
npm run setup验证配置
测试您的Jira连接:
npm run validate这将:
- 检查.env配置
- 测试与Jira的连接
- 验证身份验证
- 列出可访问的项目
- 确认权限
构建
npm run build这将TypeScript编译为JavaScript build/ 目录。
项目结构
mcp-jira-xray/
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── jira-client.ts # Jira API client
│ ├── config.ts # Configuration management
│ └── output-handler.ts # File output handling
├── build/ # Compiled JavaScript (generated)
├── extractions/ # Output files (generated)
├── .env # Environment configuration
├── .env.example # Example configuration
├── package.json
├── tsconfig.json
└── README.md故障排除
“缺少必需的环境变量”
确保你的 .env 文件存在并包含所有必需的变量(JIRA_HOST, JIRA_EMAIL, JIRA_API_TOKEN).
“无法获取门票”
- 验证您的Jira凭据是否正确
- 检查您的Jira实例中是否存在票证ID
- 确保您的API令牌具有适当的权限
“X射线API不可用”
服务器尝试多种方法提取测试数据。如果Xray特定的API不可用,它将退回到标准的Jira JQL查询。以下情况可能会发生:
- Jira实例上未安装Xray
- 您的帐户没有X射线权限
连接问题
- 确保您的
JIRA_HOST包含协议(https://) - 检查您的网络是否允许连接到Jira
- 验证您的API令牌是否有效且未过期
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交问题或拉取请求。
支持
对于问题和疑问:
- 检查现有的\[GitHub问题\](/问题)
- 创建包含详细信息的新问题
- 包括Jira和Xray版本
