Jira任务管理服务

一个提供Jira任务创建、更新和管理的标准化接口服务,支持AI助手通过MCP协议与Jira交互。

  • by janvalo
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 janvalo/jira-mcp-server

使用说明

MCP Jira服务器

一种模型上下文协议(MCP)服务器,提供创建和管理Jira任务的工具。该服务器允许AI助手通过标准化的界面与Jira进行交互。

特性

  • 创建Jira任务:使用可自定义字段创建新问题
  • 更新任务状态:使用以下命令更改现有任务的状态 自动分配
  • 更新任务进度:用百分比和评论跟踪进度
  • 获取任务详细信息:检索有关特定任务的全面信息
  • 列出任务:使用各种条件搜索和筛选任务

🚀 自动分配功能

当您将任务状态更新为进行中状态(“进行中”、“范围界定”、“待办事项”)时,如果尚未分配任务,则会自动将其分配给您。这有助于跟踪谁在处理每项任务,并简化工作流程。

先决条件

  • Node.js 18+
  • Jira实例(云或服务器)
  • Jira API代币

设置

1.安装依赖项

npm install

2.配置环境变量

复制示例环境文件并配置Jira设置:

cp env.example .env

编辑 .env 使用Jira配置:

# Jira Configuration
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token

# MCP Server Configuration
MCP_SERVER_PORT=3000

3.获取您的Jira API代币

  1. 首选 Atlassian帐户设置
  2. 点击“创建API令牌”
  3. 为其命名(例如,“MCP服务器”)
  4. 将生成的令牌复制到您的 .env 文件

4.建设项目

npm run build

用法

运行服务器

npm start

对于自动重新加载的开发:

npm run dev

可用工具

1.创建Jira任务

使用指定的详细信息创建新的Jira问题。

参数:

  • projectKey (必填):项目密钥(例如“PROJ”)
  • summary (必填):任务摘要/标题
  • description (可选):任务描述
  • issueType (可选):问题类型(例如,“任务”、“Bug”、“故事”)
  • priority (可选):优先级(例如,“高”、“中”、“低”)
  • assignee (可选):受让人电子邮件地址

例子:

{
  "projectKey": "PROJ",
  "summary": "Implement user authentication",
  "description": "Add OAuth2 authentication to the web application",
  "issueType": "Task",
  "priority": "High",
  "assignee": "developer@example.com"
}

2.更新任务状态

更改现有Jira任务的状态。

参数:

  • issueKey (必填):问题密钥(例如“PROJ-123”)
  • status (必填):新状态(例如“进行中”、“完成”、“待办”)
  • comment (可选):随状态更改添加注释

例子:

{
  "issueKey": "PROJ-123",
  "status": "In Progress",
  "comment": "Starting implementation"
}

3.更新任务进度

使用百分比和可选注释更新Jira任务的进度。

参数:

  • issueKey (必填):问题密钥(例如“PROJ-123”)
  • progressPercent (必填):进度百分比(0-100)
  • comment (可选):关于进度更新的评论

例子:

{
  "issueKey": "PROJ-123",
  "progressPercent": 75,
  "comment": "Core functionality complete, working on edge cases"
}

4.获取任务详细信息

检索有关特定Jira任务的全面信息。

参数:

  • issueKey (必填):问题密钥(例如“PROJ-123”)

例子:

{
  "issueKey": "PROJ-123"
}

5.列出任务

使用可选筛选搜索并列出Jira任务。

参数:

  • projectKey (可选):按项目关键字筛选
  • status (可选):按状态筛选
  • assignee (可选):按受让人电子邮件筛选
  • maxResults (可选):最大结果数(默认值:50)

例子:

{
  "projectKey": "PROJ",
  "status": "In Progress",
  "maxResults": 10
}

与MCP客户端集成

克劳德桌面

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/your/mcp-jira-server/dist/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

其他MCP客户端

服务器使用stdio传输,因此可以通过指定命令和参数与任何兼容MCP的客户端集成。

错误处理

服务器为常见问题提供详细的错误消息:

  • 身份验证错误:检查您的电子邮件和API令牌
  • 项目密钥无效:验证项目是否存在以及您是否有访问权限
  • 无效状态:服务器将显示任务的可用状态
  • 权限错误:确保您在Jira中拥有必要的权限

发展

项目结构

src/
├── index.ts          # Main MCP server entry point
├── jira-client.ts    # Jira API client implementation
└── types.ts          # TypeScript type definitions

测试

npm test

建筑

npm run build

故障排除

常见问题

  1. “无效凭据”错误

    • 在中验证您的电子邮件和API令牌 .env 文件
    • 确保API令牌未过期
  2. “找不到项目”错误

    • 检查项目密钥是否正确
    • 验证您是否有权访问该项目
  3. “状态不可用”错误

    • 服务器将显示任务的可用状态
    • 某些状态转换可能需要特定权限
  4. “权限被拒绝”错误

    • 检查项目的Jira权限
    • 某些操作可能需要管理员权限

调试模式

为了调试,您可以运行带有额外日志记录的服务器:

DEBUG=* npm run dev

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。