JIRA
Jira
与 Jira 进行自然语言交互。支持多种后端。
后端检测
首先运行此检查以确定使用哪个后端:
1. Check if jira CLI is available:
→ Run: which jira
→ If found: USE CLI BACKEND
2. If no CLI, check for Atlassian MCP:
→ Look for mcp__atlassian__* tools
→ If available: USE MCP BACKEND
3. If neither available:
→ GUIDE USER TO SETUP
| 后端 | 使用时机 | 参考 |
|---|---|---|
| CLI | jira命令可用 | references/commands.md |
| MCP | Atlassian MCP 工具可用 | references/mcp.md |
| 无 | 两者皆不可用 | CLI 安装指南 |
快速参考 (CLI)
如果使用 MCP 后端,请跳过此部分。
| 意图 | 命令 |
|---|---|
| 查看问题 | jira issue view ISSUE-KEY |
| 列出我的事项 | jira issue list -a$(jira me) |
| 我正在进行中的事项 | jira issue list -a$(jira me) -s"进行中" |
| 创建事项 | jira issue create -t类型 -s"摘要" -b"描述" |
| 移动/转换状态 | jira issue move 事项键值 "状态" |
| 分配给我 | jira issue assign 事项键值 $(jira me) |
| 取消分配 | jira issue assign 事项键值 x |
| 添加评论 | jira issue comment add 事项键值 -b"评论内容" |
| 在浏览器中打开 | jira open 事项键值 |
| 当前迭代 | jira sprint list --state active |
| 我是谁 | jira me |
快速参考 (MCP)
如果使用 CLI 后端,请跳过此部分。
| 意图 | MCP 工具 |
|---|---|
| 搜索问题 | mcp__atlassian__searchJiraIssuesUsingJql |
| 查看问题 | mcp__atlassian__getJiraIssue |
| 创建问题 | mcp__atlassian__createJiraIssue |
| 更新问题 | mcp__atlassian__editJiraIssue |
| 获取状态转换 | mcp__atlassian__getTransitionsForJiraIssue |
| 状态转换 | mcp__atlassian__transitionJiraIssue |
| 添加评论 | mcp__atlassian__addCommentToJiraIssue |
| 用户查找 | mcp__atlassian__lookupJiraAccountId |
| 列出项目 | mcp__atlassian__getVisibleJiraProjects |
查看references/mcp.md以获取完整的 MCP 模式。
触发器
- "创建一个Jira工单"
- "显示PROJ-123"
- "列出我的工单"
- "将工单移至已完成"
- "当前冲刺中有哪些内容"
问题键检测
问题键遵循以下模式:[A-Z]+-[0-9]+(例如,PROJ-123, ABC-1)。
当用户在对话中提到问题键时:
- 命令行界面:
jira issue view 键名或jira open 键名 - 模型上下文协议:
mcp__atlassian__jira_get_issue并附带键名
工作流程
创建工单:
- 如果用户提及代码/工单/拉取请求,则研究上下文
- 起草工单内容
- 与用户一起审核
- 使用适当的后端创建
更新工单:
- 先获取问题详情
- 检查状态(注意处理中的工单)
- 显示当前与提议的更改
- 更新前获取批准
- 添加注释说明更改
任何操作之前
问自己:
-
当前状态是什么?— 务必先获取问题详情。不要假设状态、负责人或字段与用户认为的一致。
-
还有谁受影响?— 检查关注者、关联问题、父史诗。一个“简单的编辑”可能会通知10个人。
-
这是可逆的吗?— 状态转换可能有单向门。某些工作流需要中间状态。描述编辑无法撤销。
-
我有正确的标识符吗?— 问题键、转换ID、账户ID。显示名称不适用于分配(MCP)。
绝对不要
-
绝对不要在未获取当前状态的情况下进行转换— 工作流可能需要中间状态。如果必须经过"进行中"状态,直接从"待办"→"完成"可能会静默失败。
-
切勿使用显示名称进行分配 (MCP)— 只有账户ID有效。务必先调用
lookupJiraAccountId否则分配会静默失败。 -
切勿在不显示原文的情况下编辑描述— Jira没有撤销功能。用户必须看到他们正在替换的内容。
-
切勿在未提供所有必填字段的情况下使用
--no-input参数 (CLI)— 会静默失败并返回晦涩的错误信息。务必先检查项目的必填字段。 -
切勿假设状态转换名称是通用的— "完成"、"已关闭"、"已完成"等名称因项目而异。务必先获取可用的状态转换。
-
切勿未经明确批准进行批量修改— 每次工单变更都会通知关注者。10次编辑 = 10次通知风暴。
安全准则
- 执行前始终显示将要运行的命令/工具调用
- 修改工单前务必获得批准
- 编辑时保留原始信息
- 应用后进行更新验证
- 始终清晰地呈现认证问题,以便用户能够解决
后端不可用
如果CLI和MCP都不可用,则引导用户:
To use Jira, you need one of:
1. **jira CLI** (recommended):
https://github.com/ankitpokhrel/jira-cli
Install: brew install ankitpokhrel/jira-cli/jira-cli
Setup: jira init
2. **Atlassian MCP**:
Configure in your MCP settings with Atlassian credentials.
深度探索
在以下情况下加载参考:
- 创建包含复杂字段或多行内容的问题
- 构建超出简单筛选器的JQL查询
- 排查错误或认证问题
- 处理状态转换、链接或冲刺
不要在以下情况下加载参考:
- 简单的查看/列表操作(上述快速参考已足够)
- 基本状态检查(
jira issue view KEY) - 在浏览器中打开问题
| 任务 | 加载参考? |
|---|---|
| 查看单个问题 | 否 |
| 列出我的工单 | 否 |
| 创建时附带描述 | 是— CLI 需要/tmp模式 |
| 状态流转问题 | 是— 需要状态流转 ID 工作流 |
| JQL 搜索 | 是— 用于复杂查询 |
| 关联工单 | 是— MCP 限制,需要脚本 |
参考:
- CLI 模式:
references/commands.md - MCP 模式:
references/mcp.md


微信扫一扫,打赏作者吧~