docs/zh-CN/skills/jira-integration/SKILL.md
在检索Jira工单、分析需求、更新工单状态、添加评论或转换问题时使用此技能。通过MCP或直接REST调用提供Jira API模式。
npx skillsauth add affaan-m/everything-claude-code jira-integrationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
直接从 AI 编码工作流中检索、分析和更新 Jira 工单。支持 基于 MCP(推荐)和 直接 REST API 两种方式。
安装 mcp-atlassian MCP 服务器。这将向您的 AI 代理直接暴露 Jira 工具。
要求:
uvx(来自 uv),通过您的包管理器或官方 uv 安装文档进行安装添加到您的 MCP 配置(例如,~/.claude.json → mcpServers):
{
"jira": {
"command": "uvx",
"args": ["mcp-atlassian==0.21.0"],
"env": {
"JIRA_URL": "https://YOUR_ORG.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
},
"description": "Jira issue tracking — search, create, update, comment, transition"
}
}
安全: 切勿在源代码中硬编码密钥。建议在系统环境(或密钥管理器)中设置
JIRA_URL、JIRA_EMAIL和JIRA_API_TOKEN。仅对本地未提交的配置文件使用 MCPenv块。
获取 Jira API 令牌:
如果 MCP 不可用,可通过 curl 或辅助脚本直接使用 Jira REST API v3。
所需的环境变量:
| 变量 | 描述 |
|----------|-------------|
| JIRA_URL | 您的 Jira 实例 URL(例如,https://yourorg.atlassian.net) |
| JIRA_EMAIL | 您的 Atlassian 账户邮箱 |
| JIRA_API_TOKEN | 来自 id.atlassian.com 的 API 令牌 |
将这些存储在您的 shell 环境、密钥管理器或未跟踪的本地环境文件中。不要将其提交到仓库。
对于直接 curl 示例,请通过标准输入传递 Jira 用户配置,避免凭据出现在命令行参数中。
jira_curl() {
printf 'user = "%s:%s"\n' "$JIRA_EMAIL" "$JIRA_API_TOKEN" |
curl -s -K - "$@"
}
当配置了 mcp-atlassian MCP 服务器时,以下工具可用:
| 工具 | 用途 | 示例 |
|------|---------|---------|
| jira_search | JQL 查询 | project = PROJ AND status = "In Progress" |
| jira_get_issue | 按键获取完整问题详情 | PROJ-1234 |
| jira_create_issue | 创建问题(任务、缺陷、故事、史诗) | 新建缺陷报告 |
| jira_update_issue | 更新字段(摘要、描述、经办人) | 更改经办人 |
| jira_transition_issue | 更改状态 | 移至“评审中” |
| jira_add_comment | 添加评论 | 进度更新 |
| jira_get_sprint_issues | 列出冲刺中的问题 | 活跃冲刺评审 |
| jira_create_issue_link | 链接问题(阻塞、关联) | 依赖跟踪 |
| jira_get_issue_development_info | 查看关联的 PR、分支、提交 | 开发上下文 |
提示: 在转换前始终调用
jira_get_transitions— 转换 ID 因项目工作流而异。
jira_curl \
-H "Content-Type: application/json" \
"$JIRA_URL/rest/api/3/issue/PROJ-1234" | jq '{
key: .key,
summary: .fields.summary,
status: .fields.status.name,
priority: .fields.priority.name,
type: .fields.issuetype.name,
assignee: .fields.assignee.displayName,
labels: .fields.labels,
description: .fields.description
}'
jira_curl \
-H "Content-Type: application/json" \
"$JIRA_URL/rest/api/3/issue/PROJ-1234?fields=comment" | jq '.fields.comment.comments[] | {
author: .author.displayName,
created: .created[:10],
body: .body
}'
jira_curl -X POST \
-H "Content-Type: application/json" \
-d '{
"body": {
"version": 1,
"type": "doc",
"content": [{
"type": "paragraph",
"content": [{"type": "text", "text": "Your comment here"}]
}]
}
}' \
"$JIRA_URL/rest/api/3/issue/PROJ-1234/comment"
# 1. Get available transitions
jira_curl \
"$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions" | jq '.transitions[] | {id, name: .name}'
# 2. Execute transition (replace TRANSITION_ID)
jira_curl -X POST \
-H "Content-Type: application/json" \
-d '{"transition": {"id": "TRANSITION_ID"}}' \
"$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions"
jira_curl -G \
--data-urlencode "jql=project = PROJ AND status = 'In Progress'" \
"$JIRA_URL/rest/api/3/search"
当为开发或测试自动化检索工单时,提取:
Ticket: PROJ-1234
Summary: [工单标题]
Status: [当前状态]
Priority: [高/中/低]
Test Types: 单元测试, 集成测试, 端到端测试
Requirements:
1. [需求1]
2. [需求2]
Acceptance Criteria:
- [ ] [验收标准1]
- [ ] [验收标准2]
Test Scenarios:
- Happy Path: [描述]
- Error Case: [描述]
- Edge Case: [描述]
Test Data Needed:
- [测试数据1]
- [测试数据2]
Dependencies:
- [依赖项1]
- [依赖项2]
| 工作流步骤 | Jira 更新 | |---|---| | 开始工作 | 转换为“进行中” | | 编写测试 | 评论并附上测试覆盖率摘要 | | 创建分支 | 评论并附上分支名称 | | 创建 PR/MR | 评论并附上链接,链接问题 | | 测试通过 | 评论并附上结果摘要 | | PR/MR 合并 | 转换为“完成”或“评审中” |
开始工作:
开始实现此工单。
分支:feat/PROJ-1234-feature-name
测试已实现:
已实现的自动化测试:
单元测试:
- [测试文件1] — [覆盖内容]
- [测试文件2] — [覆盖内容]
集成测试:
- [测试文件] — [覆盖的端点/流程]
所有测试在本地通过。覆盖率:XX%
PR 已创建:
Pull request created:
[PR Title](https://github.com/org/repo/pull/XXX)
Ready for review.
工作完成:
Implementation complete.
PR merged: [link]
Test results: All passing (X/Y)
Coverage: XX%
.env 添加到每个项目的 .gitignore 中| 错误 | 原因 | 修复 |
|---|---|---|
| 401 Unauthorized | API 令牌无效或已过期 | 在 id.atlassian.com 重新生成 |
| 403 Forbidden | 令牌缺少项目权限 | 检查令牌范围和项目访问权限 |
| 404 Not Found | 工单键或基础 URL 错误 | 验证 JIRA_URL 和工单键 |
| spawn uvx ENOENT | IDE 在 PATH 中找不到 uvx | 使用完整路径(例如,~/.local/bin/uvx)或在 ~/.zprofile 中设置 PATH |
| 连接超时 | 网络/VPN 问题 | 检查 VPN 连接和防火墙规则 |
development
Share durable, inspectable context and handoffs between Claude, Codex, Hermes, Cursor, OpenCode, and other agents through the local ECC Memory Vault. Use when an agent must save work state, transfer context, resume another agent's task, or search shared project knowledge.
development
Use when multiple consumers and providers must evolve an API or event schema without field drift, integration surprises, or one side silently redefining the interface.
tools
Query live GPU inventory, submit an authenticated Itô fixed-rate RFQ, inspect RFQ or procurement status, and run explicitly gated node qualification through the separately installed canonical CLI. Use when a user asks to find H100/H200 capacity, request a fixed compute rate, check Itô compute status, or validate GPU nodes.
data-ai
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents. v2.1 adds project-scoped instincts to prevent cross-project contamination.