Jira 专家

jira-expert
分类写作
作者Alireza Rezvani
许可MIT
评分4.30/5
使用3.6K

Atlassian Jira 专家

在 Jira 配置、项目管理、JQL、工作流、自动化和报表方面拥有大师级专业知识。处理 Jira 的所有技术和运营层面工作。

快速上手 — 最常用操作

本技能中所有 MCP 示例均使用真实的 Atlassian Remote MCP 工具(采用 camelCase 命名,呈现为 mcp__atlassian__<toolName>)。权威工具列表位于 project-management/references/atlassian-mcp-tools.md —— 请勿随意发明工具名称;如果该列表中未列出某项功能,则无法通过 MCP 调用。

创建问题(请先调用一次 getAccessibleAtlassianResources 以获取 cloudId):

code
mcp__atlassian__createJiraIssue (cloudId, projectKey="MYPROJ", issueTypeName="Story", summary="My new story")

运行 JQL 查询(使用内置脚本将自然语言转换为 JQL,然后执行):

bash
python3 scripts/jql_query_builder.py "high priority bugs assigned to me"

→ 输出经过验证的 JQL,例如:assignee = currentUser() AND type = Bug AND status != Done


code
mcp__atlassian__searchJiraIssuesUsingJql (cloudId, jql="project = MYPROJ AND status != Done AND dueDate < now()")

创建项目:MCP 不支持此操作。请使用 Jira Web UI(项目 > 创建项目)或 REST API (POST /rest/api/3/project)。

完整工具参考请参阅 Atlassian MCP 集成。JQL 函数请参阅 JQL 函数参考。报表模板请参阅 报表模板

---

工作流

项目创建

> 项目创建不支持通过 MCP 完成 —— 请在 Jira Web UI(项目 > 创建项目)或通过 REST API (POST /rest/api/3/project) 执行步骤 2-6。创建后,使用 mcp__atlassian__getVisibleJiraProjects 验证可见性,并使用 mcp__atlassian__getJiraProjectIssueTypesMetadata 检查问题类型。

1. 确定项目类型(Scrum, Kanban, Bug Tracking 等)
2. 使用合适的模板创建项目(Web UI / REST)
3. 配置项目设置:
- 名称、键 (Key)、描述
- 项目负责人和默认经办人
- 通知方案
- 权限方案
4. 设置问题类型和工作流
5. 根据需要配置自定义字段
6. 创建初始看板/待办列表视图
7. 移交给:Scrum Master 进行团队入职引导

工作流设计

> 工作流/方案编辑不支持通过 MCP 完成 —— 请在 Jira 设置 > 问题 > 工作流 中配置。在部署前,请使用内置验证器以发现反模式。

1. 梳理流程状态(待办 $\rightarrow$ 进行中 $\rightarrow$ 已完成)
2. 定义转换 (Transitions) 和条件 (Conditions)
3. 在 Jira 中构建之前对设计进行 Lint 检查:

bash
python3 scripts/workflow_validator.py workflow.json --format json

输入:包含工作流 statestransitions 的 JSON 文件。分析输出结果:在操作 Jira 之前,先在设计中修复所有报告的反模式(如死端状态、不可达状态、缺失的转换)。
4. 添加验证器 (Validators)、后置函数 (Post-functions) 和条件;配置工作流方案(Web UI)
5. 验证:先部署到测试项目;验证所有转换、配置...
条件和后置函数在关联到生产项目前运行符合预期
6. 将工作流关联至项目
7. 使用示例问题测试工作流 —— 通过 MCP:对示例问题调用 mcp__atlassian__getTransitionsForJiraIssue 以确认预期的状态转换可见,然后调用 mcp__atlassian__transitionJiraIssue 引导其完成整个流程

JQL 查询构建

优先使用内置构建器 —— 它能将自然语言模式匹配为经过验证的 JQL:

bash
python3 scripts/jql_query_builder.py "high priority bugs assigned to me" --format json
python3 scripts/jql_query_builder.py --patterns # 列出所有支持的查询模式

使用输出结果:从 JSON 结果中提取 jql 字段(或在文本模式下提取 GENERATED JQL 块),并使用 mcp__atlassian__searchJiraIssuesUsingJql (cloudId, jql=<generated>) 执行。如果构建器报告无模式匹配,请参考下文手动编写 JQL。

基本结构字段 运算符 值

常用运算符

  • =, != : 等于,不等于

  • ~, !~ : 包含,不包含

  • >, <, >=, <= : 比较

  • in, not in : 列表成员

  • is empty, is not empty : 为空,不为空

  • was, was in, was not : 曾经是,曾经在...中,曾经不是

  • changed : 已更改

强大的 JQL 示例

查找逾期问题:

jql
dueDate < now() AND status != Done

Sprint 燃尽问题:

jql
sprint = 23 AND status changed TO "Done" DURING (startOfSprint(), endOfSprint())

查找陈旧问题:

jql
updated < -30d AND status != Done

跨项目 Epic 跟踪:

jql
"Epic Link" = PROJ-123 ORDER BY rank

速率计算:

jql
sprint in closedSprints() AND resolution = Done

团队容量:

jql
assignee in (user1, user2) AND sprint in openSprints()

仪表板创建

1. 创建新仪表板(个人或共享) 2. 添加相关小工具: - 过滤器结果(基于 JQL) - Sprint 燃尽图 - 速率图 - 创建数 vs 解决数 - 饼图(状态分布) 3. 调整布局以提高可读性 4. 配置自动刷新 5. 与相关团队共享 6. 移交给:高级 PM 或 Scrum Master 使用

自动化规则

1. 定义触发器(问题创建、字段更改、定时触发) 2. 添加条件(如果适用) 3. 定义操作: - 更新字段 - 发送通知 - 创建子任务 - 转换问题状态 - 发布评论 4. 使用示例数据测试自动化 5. 启用并监控

高级功能

自定义字段

创建时机
  • 跟踪标准字段中不存在的数据
  • 捕获特定流程的信息
  • 实现高级报告

字段类型:文本、数字、日期、选择(单选/多选/级联)、用户选择器

配置步骤
1. 创建自定义字段
2. 配置字段上下文(适用项目/问题类型)
3. 添加到相应的界面(Screens)
4. 根据需要更新搜索模板

问题链接

链接类型
  • 阻塞 / 被阻塞 (Blocks / Is blocked by)
  • 相关 (Relates to)
  • 重复 / 被重复 (Duplicates / Is duplicated by)
  • 克隆 / 被克隆 (Clones / Is cloned by)
  • Epic-Story 关系

最佳实践

  • 使用 Epic 链接进行功能分组

  • 使用阻塞链接显示依赖关系

  • 在评论中记录链接原因

权限与安全

权限方案

  • 浏览项目

  • 创建/编辑/删除问题

  • 管理项目

  • 管理 Sprint

安全级别

  • 定义机密问题的可见性

  • 控制对敏感数据的访问

  • 审计安全更改

批量操作

批量更改: 1. 使用 JQL 查找目标问题 2. 选择批量更改操作 3. 选择要更新的字段 4. 验证: 在执行前预览所有更改;确认 JQL 过滤器仅匹配目标问题 —— 批量编辑难以撤销。 5. 执行并确认 6. 监控后台任务

批量状态流转 (Bulk Transitions)

  • 将多个问题在工作流中移动

  • 适用于 Sprint 清理

  • 需要相应的权限

  • 验证:在大规模应用前,运行 JQL 过滤器并分小批次审核结果

JQL 函数参考

> 提示:将常用查询保存为命名过滤器,而非临时运行复杂的 JQL。性能指南请参阅 最佳实践

日期startOfDay(), endOfDay(), startOfWeek(), endOfWeek(), startOfMonth(), endOfMonth(), startOfYear(), endOfYear()

SprintopenSprints(), closedSprints(), futureSprints()

用户currentUser(), membersOf("group")

高级issueHistory(), linkedIssues(), issuesWithFixVersions()

报告模板

> 提示:这些 JQL 代码片段可以保存为共享过滤器,或直接接入仪表板小部件(见 仪表板创建)。

| 报告 | JQL |
|---|---|
| Sprint 报告 | project = PROJ AND sprint = 23 |
| 团队速率 | assignee in (team) AND sprint in closedSprints() AND resolution = Done |
| Bug 趋势 | type = Bug AND created >= -30d |
| 阻碍项分析 | priority = Blocker AND status != Done |

决策框架

何时升级至 Atlassian 管理员

  • 需要新的项目权限方案

  • 需要跨组织的自定义工作流方案

  • 用户配置或注销

  • 许可或计费问题

  • 系统级配置更改

何时与 Scrum Master 协作

  • Sprint 看板配置

  • Backlog 优先级视图

  • 团队特定过滤器

  • Sprint 报告需求

何时与高级 PM 协作

  • 组合 (Portfolio) 级别报告

  • 跨项目仪表板

  • 高层可见性需求

  • 多项目依赖关系

交接协议

来自高级 PM

  • 项目结构要求

  • 工作流和字段需求

  • 报告要求

  • 集成需求

交给高级 PM

  • 跨项目指标

  • 问题趋势和模式

  • 工作流瓶颈

  • 数据质量洞察

来自 Scrum Master

  • Sprint 看板配置请求

  • 工作流优化需求

  • Backlog 过滤要求

  • 速率跟踪设置

交给 Scrum Master

  • 已配置的 Sprint 看板

  • 速率报告

  • 燃尽图

  • 团队容量视图

最佳实践

数据质量

  • 通过字段验证规则强制执行必填字段

  • 根据项目类型使用一致的问题键命名约定

  • 定期清理陈旧/孤立的问题

性能

  • 避免在 JQL 中使用前导通配符(在大文本字段上使用 ~ 成本很高)

  • 使用保存的过滤器,而非临时运行复杂的 JQL

  • 限制仪表板小部件数量以减少页面加载时间

  • 归档已完成的项目而非删除,以保留历史记录

治理

  • 记录自定义工作流状态和流转的理由

  • 在更改权限/工作流方案前进行版本控制

  • 组织范围的方案更新需经过变更管理审核

  • 在用户角色变更后运行权限审计

Atlassian MCP 集成

主要工具:Atlassian Remote MCP 服务器(捆绑 .mcp.json,服务器键为 atlassian)。工具以 mcp__atlassian__<toolName> 形式呈现。标准工具列表project-management/references/atlassian-mcp-tools.md。切勿随意发明工具名称 —— 如果一项功能...
如果不在该列表中,请路由至 Web UI 或 REST API。

关键操作及调用示例(先通过 mcp__atlassian__getAccessibleAtlassianResources 获取一次 cloudId):

创建问题(先通过 getJiraIssueTypeMetaWithFields 检查必填字段):

code
mcp__atlassian__createJiraIssue (cloudId, projectKey="MYPROJ", issueTypeName="Story", summary="My new story")

执行 JQL 查询:

code
mcp__atlassian__searchJiraIssuesUsingJql (cloudId, jql="project = MYPROJ AND status != Done AND dueDate < now()")

更新问题字段:

code
mcp__atlassian__editJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", fields=<payload — 通过工具 schema 查看>)

转换问题状态(状态变更需通过 transition 完成,而非直接编辑字段):

code
mcp__atlassian__getTransitionsForJiraIssue (cloudId, issueIdOrKey="MYPROJ-42")
mcp__atlassian__transitionJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", transition=<上一步调用获取的 id>)

添加评论 / 记录工时 / 关联问题:

code
mcp__atlassian__addCommentToJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", body="...")
mcp__atlassian__addWorklogToJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", timeSpent=<通过工具 schema 查看>)
mcp__atlassian__createIssueLink (cloudId, link type from mcp__atlassian__getIssueLinkTypes)

MCP 不支持的操作 — 请使用 Web UI 或 REST API:

  • 创建项目 $\rightarrow$ Jira UI 项目 > 创建项目POST /rest/api/3/project

  • 创建 Sprint 或配置看板 $\rightarrow$ Jira Software UI 或 POST /rest/agile/1.0/sprint

  • 创建/共享过滤器 $\rightarrow$ Jira UI 过滤器 > 另存为POST /rest/api/3/filter

  • 自定义字段、界面、工作流/权限方案 $\rightarrow$ Jira 管理员 UI

集成点

  • 为高级产品经理 (Senior PM) 提取汇报指标

  • 为 Scrum Master 配置 Sprint 看板

  • 为 Confluence 专家创建文档页面

  • 为模板创建者支持模板构建

相关技能

  • Confluence Expert (project-management/confluence-expert/) — 文档补充 Jira 工作流
  • Atlassian Admin (project-management/atlassian-admin/) — Jira 项目的权限与用户管理