🎯 完整的 JIRA 集成套件
🏗️ 企业级架构 (v0.5.0 新增)
🔍 强大的搜索与发现
📝 高级问题管理
在您的 MCP 客户端配置中添加以下内容:
{
"mcpServers": {
"JIRA 工具": {
"command": "bunx",
"args": ["-y", "@dsazz/mcp-jira@latest"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_USERNAME": "your-email@example.com",
"JIRA_API_TOKEN": "your-jira-api-token"
}
}
}
}
对于本地开发和测试:
# 克隆仓库
git clone https://github.com/Dsazz/mcp-jira.git
cd mcp-jira
# 安装依赖
bun install
# 设置环境变量
cp .env.example .env
# 编辑 .env 文件,填写您的 JIRA 凭证
# 构建项目
bun run build
# 使用 MCP Inspector 测试
bun run inspect
创建一个 .env 文件,包含以下变量:
JIRA_HOST=https://your-instance.atlassian.net
JIRA_USERNAME=your-email@example.com
JIRA_API_TOKEN=your-jira-api-token-here
🔑 关于 JIRA API Token 的重要提示
- 您可以在 Atlassian API Tokens 页面生成 JIRA API Token
- Token 可能包含特殊字符,包括
=符号- 将 Token 放在
.env文件的一行中- 不要在 Token 值周围添加引号
- 粘贴 Atlassian 提供的 Token
| 工具 | 描述 | 参数 | 返回值 |
|---|---|---|---|
jira_get_assigned_issues | 获取分配给您的所有问题 | 无 | Markdown 格式的问题列表 |
jira_get_issue | 获取特定问题的详细信息 | issueKey: 问题键(例如,PD-312) | Markdown 格式的详细信息 |
jira_get_issue_comments | 获取特定问题的评论,带有可配置选项 | 见评论参数 | Markdown 格式的评论 |
jira_create_issue | 创建新的 JIRA 问题,具有全面的字段支持 | 见问题创建参数 | Markdown 格式的创建结果 |
jira_update_issue | 更新现有问题,更改字段和状态转换 | 见问题更新参数 | Markdown 格式的更新结果 |
jira_get_projects | 获取和浏览 JIRA 项目,带有过滤选项 | 见项目参数 | Markdown 格式的项目列表 |
jira_get_boards | 获取 JIRA 看板(Scrum/Kanban),带有高级过滤 | 见看板参数 | Markdown 格式的看板列表 |
jira_get_sprints | 获取敏捷项目管理中的冲刺信息 | 见冲刺参数 | Markdown 格式的冲刺列表 |
jira_add_worklog | 向问题添加时间跟踪条目 | 见工作日志参数 | Markdown 格式的工作日志结果 |
jira_get_worklogs | 获取问题的工作日志条目,带有日期过滤 | 见工作日志参数 | Markdown 格式的工作日志列表 |
jira_update_worklog | 更新现有工作日志条目 | 见工作日志参数 | Markdown 格式的更新结果 |
jira_delete_worklog | 删除问题的工作日志条目 | 见工作日志参数 | Markdown 格式的删除结果 |
jira_get_current_user | 获取当前认证用户的信息 | 无 | Markdown 格式的用户详情 |
search_jira_issues | 使用 JQL 或辅助参数搜索 JIRA 问题 | 见搜索参数 | Markdown 格式的搜索结果 |
jira_create_issue 工具支持全面的问题创建:
必需:
projectKey: 字符串 - 项目键(例如,"PROJ")issueType: 字符串 - 问题类型(例如,"任务","错误","故事")summary: 字符串 - 问题标题/摘要可选字段:
description: 字符串 - 详细描述(支持 ADF 格式)priority: 字符串 - 优先级级别("最高","高","中","低","最低")assignee: 字符串 - 分配人用户名或电子邮件reporter: 字符串 - 报告人用户名或电子邮件labels: 数组 - 应用于问题的标签components: 数组 - 组件名称fixVersions: 数组 - 固定版本名称affectsVersions: 数组 - 影响版本名称timeEstimate: 字符串 - JIRA 格式的时间估计(例如,"2h","1d 4h")dueDate: 字符串 - ISO 格式的截止日期environment: 字符串 - 环境描述customFields: 对象 - 自定义字段值示例:
# 基本问题创建
jira_create_issue projectKey:"PROJ" issueType:"任务" summary:"修复登录错误"
# 包含所有字段的综合问题
jira_create_issue projectKey:"PROJ" issueType:"错误" summary:"严重的登录问题" description:"用户无法登录" priority:"高" assignee:"john.doe" labels:["紧急","安全"] timeEstimate:"4h"
jira_update_issue 工具支持全面的问题更新:
必需:
issueKey: 字符串 - 问题键(例如,"PROJ-123")字段更新(任意组合):
summary: 字符串 - 更新问题标题description: 字符串 - 更新描述priority: 字符串 - 更改优先级assignee: 字符串 - 重新分配问题reporter: 字符串 - 更改报告人timeEstimate: 字符串 - 更新时间估计timeSpent: 字符串 - 记录已花费时间dueDate: 字符串 - 更新截止日期environment: 字符串 - 更新环境数组操作(添加/移除/设置):
labels: 对象 - 修改标签({operation: "添加|移除|设置", values: ["标签1", "标签2"]})components: 对象 - 修改组件fixVersions: 对象 - 修改固定版本affectsVersions: 对象 - 修改影响版本状态转换:
status: 字符串 - 转换到新状态(例如,"进行中","完成")工作日志:
worklog: 对象 - 添加工作日志条目({timeSpent: "2h", comment: "修复问题"})示例:
# 更新基本字段
jira_update_issue issueKey:"PROJ-123" summary:"更新标题" priority:"高"
# 添加标签并转换状态
jira_update_issue issueKey:"PROJ-123" labels:'{operation:"添加",values:["紧急"]}' status:"进行中"
# 记录工作并添加评论
jira_update_issue issueKey:"PROJ-123" worklog:'{timeSpent:"2h",comment:"完成测试"}'
jira_get_projects 工具支持项目发现:
可选参数:
maxResults: 数字(1-100,默认:50) - 结果数量限制startAt: 数字(默认:0) - 分页偏移量expand: 数组 - 额外字段(["description", "lead", "issueTypes", "url", "projectKeys"])示例:
# 获取所有项目
jira_get_projects
# 获取带有额外详情的项目
jira_get_projects expand:["description","lead","issueTypes"] maxResults:20
jira_get_boards 工具支持看板管理:
可选参数:
maxResults: 数字(1-100,默认:50) - 结果数量限制startAt: 数字(默认:0) - 分页偏移量type: 字符串 - 看板类型("scrum","kanban")name: 字符串 - 按看板名称筛选projectKeyOrId: 字符串 - 按项目筛选示例:
# 获取所有看板
jira_get_boards
# 获取特定项目的 Scrum 看板
jira_get_boards type:"scrum" projectKeyOrId:"PROJ"
# 按名称搜索看板
jira_get_boards name:"冲刺看板" maxResults:10
jira_get_sprints 工具支持冲刺管理:
必需:
boardId: 数字 - 获取冲刺的看板 ID可选参数:
maxResults: 数字(1-100,默认:50) - 结果数量限制startAt: 数字(默认:0) - 分页偏移量state: 字符串 - 冲刺状态("活跃","关闭","未来")示例:
# 获取看板的所有冲刺
jira_get_sprints boardId:123
# 获取仅活跃的冲刺
jira_get_sprints boardId:123 state:"活跃"
# 带分页获取冲刺
jira_get_sprints boardId:123 maxResults:10 startAt:20
工作日志工具支持全面的时间跟踪:
jira_add_worklog 参数:
必需:
issueKey: 字符串 - 问题键(例如,"PROJ-123")timeSpent: 字符串 - 已花费时间(JIRA 格式,例如,"2h","1d 4h","30m")可选:
comment: 字符串 - 描述已完成工作的评论started: 字符串 - 工作开始时间(ISO 日期格式,默认为现在)visibility: 对象 - 可见性设置({type: "group", value: "jira-developers"})jira_get_worklogs 参数:
必需:
issueKey: 字符串 - 问题键(例如,"PROJ-123")可选:
startedAfter: 字符串 - 过滤在此日期之后开始的工作日志(ISO 格式)startedBefore: 字符串 - 过滤在此日期之前开始的工作日志(ISO 格式)jira_update_worklog 参数:
必需:
issueKey: 字符串 - 问题键(例如,"PROJ-123")worklogId: 字符串 - 要更新的工作日志 ID可选(任意组合):
timeSpent: 字符串 - 更新已花费时间comment: 字符串 - 更新评论started: 字符串 - 更新开始时间jira_delete_worklog 参数:
必需:
issueKey: 字符串 - 问题键(例如,"PROJ-123")worklogId: 字符串 - 要删除的工作日志 ID示例:
# 添加工作日志条目
jira_add_worklog issueKey:"PROJ-123" timeSpent:"2h" comment:"修复身份验证错误"
# 获取问题的所有工作日志
jira_get_worklogs issueKey:"PROJ-123"
# 获取上周的工作日志
jira_get_worklogs issueKey:"PROJ-123" startedAfter:"2025-05-29T00:00:00.000Z"
# 更新工作日志
jira_update_worklog issueKey:"PROJ-123" worklogId:"12345" timeSpent:"3h" comment:"更新工作描述"
# 删除工作日志
jira_delete_worklog issueKey:"PROJ-123" worklogId:"12345"
jira_get_issue_comments 工具支持逐步披露,带有这些参数:
必需:
issueKey: 字符串 - 问题键(例如,"PROJ-123")基础选项:
maxComments: 数字(1-100,默认:10) - 要检索的评论最大数量orderBy: 字符串("created" 或 "updated",默认:"created") - 评论排序顺序高级选项:
includeInternal: 布尔值(默认:false) - 包括内部/受限评论authorFilter: 字符串 - 按作者姓名或电子邮件筛选评论dateRange: 对象 - 按日期范围筛选:
from: 字符串(ISO 日期) - 开始日期