triage-issue
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTriage Issue
Bug分诊
Keywords
关键词
triage bug, check duplicate, is this a duplicate, search for similar issues, create bug ticket, file a bug, report this error, triage this error, bug report, error message, similar issues, duplicate bug, who fixed this, has this been reported, search bugs, find similar bugs, create issue, file issue
Bug分诊, 检查重复项, 是否重复, 搜索类似问题, 创建Bug工单, 提交Bug, 报告错误, 分诊错误, Bug报告, 错误信息, 类似问题, 重复Bug, 谁修复了这个问题, 是否已报告, 搜索Bug, 查找类似Bug, 创建问题, 提交问题
Overview
概述
Automatically triage bug reports and error messages by searching Jira for duplicates, identifying similar past issues, and helping create well-structured bug tickets or add context to existing issues. This skill eliminates manual duplicate checking and ensures bugs are properly documented with relevant historical context.
Use this skill when: Users need to triage error messages, bug reports, or issues to determine if they're duplicates and take appropriate action.
通过在Jira中搜索重复项、识别过往类似问题,并帮助创建结构清晰的Bug工单或向现有问题补充上下文,自动分诊Bug报告和错误信息。该技能消除了手动检查重复项的工作,并确保Bug记录包含相关的历史上下文信息。
使用场景: 用户需要分诊错误信息、Bug报告或问题,以确定是否重复并采取相应操作。
Workflow
工作流程
Follow this 6-step process to effectively triage issues:
遵循以下6步流程有效分诊问题:
Step 1: Extract Key Information
步骤1:提取关键信息
Analyze the bug report or error message to identify search terms.
分析Bug报告或错误信息,确定搜索关键词。
Extract These Elements:
提取要素:
Error signature:
- Error type or exception name (e.g., "NullPointerException", "TimeoutError")
- Error code or status (e.g., "500", "404", "ERR_CONNECTION_REFUSED")
- Specific error message text (key phrases, not full stack trace)
Context:
- Component or system affected (e.g., "authentication", "payment gateway", "API")
- Environment (e.g., "production", "staging", "mobile app")
- User actions leading to error (e.g., "during login", "when uploading file")
Symptoms:
- Observable behavior (e.g., "page blank", "infinite loading", "data not saving")
- Impact (e.g., "users can't login", "payments failing")
错误特征:
- 错误类型或异常名称(例如:"NullPointerException", "TimeoutError")
- 错误代码或状态(例如:"500", "404", "ERR_CONNECTION_REFUSED")
- 特定错误信息文本(关键短语,而非完整堆栈跟踪)
上下文:
- 受影响的组件或系统(例如:"authentication", "payment gateway", "API")
- 环境(例如:"production", "staging", "mobile app")
- 导致错误的用户操作(例如:"during login", "when uploading file")
症状:
- 可观察到的行为(例如:"page blank", "infinite loading", "data not saving")
- 影响范围(例如:"users can't login", "payments failing")
Example Extractions:
提取示例:
Input: "Users getting 'Connection timeout' error when trying to login on mobile app"
Extracted:
- Error: "Connection timeout"
- Component: "login", "mobile app"
- Symptom: "can't login"
Input: "NullPointerException in PaymentProcessor.processRefund() line 245"
Extracted:
- Error: "NullPointerException"
- Component: "PaymentProcessor", "refund"
- Location: "processRefund line 245"
输入: "用户在移动应用登录时收到'Connection timeout'错误"
提取结果:
- 错误:"Connection timeout"
- 组件:"login", "mobile app"
- 症状:"无法登录"
输入: "PaymentProcessor.processRefund()第245行出现NullPointerException"
提取结果:
- 错误:"NullPointerException"
- 组件:"PaymentProcessor", "refund"
- 位置:"processRefund第245行"
Step 2: Search for Duplicates
步骤2:搜索重复项
Search Jira using extracted keywords to find similar or duplicate issues.
使用提取的关键词在Jira中搜索类似或重复的问题。
Search Strategy:
搜索策略:
Execute multiple targeted searches to catch duplicates that may use different wording:
Search 1: Error-focused
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND (text ~ "error signature" OR summary ~ "error signature") AND type = Bug ORDER BY created DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)Search 2: Component-focused
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND text ~ "component keywords" AND type = Bug ORDER BY updated DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)Search 3: Symptom-focused
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND summary ~ "symptom keywords" AND type = Bug ORDER BY priority DESC, updated DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)执行多次定向搜索,以捕获可能使用不同表述的重复项:
搜索1:聚焦错误
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND (text ~ "error signature" OR summary ~ "error signature") AND type = Bug ORDER BY created DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)搜索2:聚焦组件
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND text ~ "component keywords" AND type = Bug ORDER BY updated DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)搜索3:聚焦症状
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND summary ~ "symptom keywords" AND type = Bug ORDER BY priority DESC, updated DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)Search Tips:
搜索技巧:
Use key terms only:
- ✅ "timeout login mobile"
- ✅ "NullPointerException PaymentProcessor refund"
- ❌ "Users are getting a connection timeout error when..." (too verbose)
Search recent first:
- Order by or
created DESCto find recent similar issuesupdated DESC - Recent bugs are more likely to be relevant duplicates
Don't over-filter:
- Include resolved issues (might have been reopened or regression)
- Search across all bug statuses to find fix history
仅使用关键词:
- ✅ "timeout login mobile"
- ✅ "NullPointerException PaymentProcessor refund"
- ❌ "Users are getting a connection timeout error when..."(过于冗长)
优先搜索近期问题:
- 按或
created DESC排序,查找近期类似问题updated DESC - 近期Bug更可能是相关的重复项
不要过度过滤:
- 包含已解决的问题(可能已重新打开或出现回归)
- 搜索所有Bug状态以查找修复历史
Step 3: Analyze Search Results
步骤3:分析搜索结果
Evaluate the search results to determine if this is a duplicate or a new issue.
评估搜索结果,确定当前问题是重复项还是新问题。
Duplicate Detection:
重复项检测:
High confidence duplicate (>90%):
- Exact same error message in summary or description
- Same component + same error type
- Recent issue (< 30 days) with identical symptoms
- Action: Strongly recommend adding comment to existing issue
Likely duplicate (70-90%):
- Similar error with slight variations
- Same component but different context
- Resolved issue with same root cause
- Action: Present as possible duplicate, let user decide
Possibly related (40-70%):
- Similar symptoms but different error
- Same component area but different specific error
- Old issue (> 6 months) that might be unrelated
- Action: Mention as potentially related
Likely new issue (<40%):
- No similar issues found
- Different error signature and component
- Unique symptom or context
- Action: Recommend creating new issue
高置信度重复项(>90%):
- 摘要或描述中存在完全相同的错误信息
- 相同组件+相同错误类型
- 近期问题(<30天)且症状完全一致
- 操作建议: 强烈建议在现有问题中添加评论
可能重复项(70-90%):
- 类似错误但存在细微差异
- 相同组件但上下文不同
- 已解决的问题但根因相同
- 操作建议: 作为可能的重复项呈现,由用户决定
可能相关(40-70%):
- 症状类似但错误不同
- 相同组件领域但具体错误不同
- 旧问题(>6个月)可能不相关
- 操作建议: 提及为潜在相关问题
可能是新问题(<40%):
- 未找到类似问题
- 错误特征和组件均不同
- 症状或上下文独特
- 操作建议: 建议创建新问题
Check Fix History:
查看修复历史:
If similar resolved issues are found:
Extract relevant information:
- Who fixed it? (assignee on resolved issues)
- How was it fixed? (resolution comment or linked PRs)
- When was it fixed? (resolution date)
- Has it regressed? (any reopened issues)
Present this context to help with triage decision.
如果找到类似的已解决问题:
提取相关信息:
- 谁修复的?(已解决问题的经办人)
- 如何修复的?(解决评论或关联的PR)
- 何时修复的?(解决日期)
- 是否出现回归?(是否有重新打开的问题)
呈现此上下文以辅助分诊决策。
Step 4: Present Findings to User
步骤4:向用户呈现结果
CRITICAL: Always present findings and wait for user decision before taking any action.
关键注意事项: 始终先呈现结果,等待用户决策后再执行任何操作。
Format for Likely Duplicate:
可能重复项的呈现格式:
🔍 **Triage Results: Likely Duplicate**
I found a very similar issue already reported:
**PROJ-456** - Connection timeout during mobile login
Status: Open | Priority: High | Created: 3 days ago
Assignee: @john.doe
https://yoursite.atlassian.net/browse/PROJ-456
**Similarity:**
- Same error: "Connection timeout"
- Same component: Mobile app login
- Same symptoms: Users unable to login
**Difference:**
- Original report mentioned iOS specifically, this report doesn't specify platform
**Recommendation:** Add your details as a comment to PROJ-456
Would you like me to:
1. Add a comment to PROJ-456 with your error details
2. Create a new issue anyway (if you think this is different)
3. Show me more details about PROJ-456 first🔍 **分诊结果:可能重复**
我发现一个已上报的高度类似问题:
**PROJ-456** - 移动登录时出现连接超时
状态:打开 | 优先级:高 | 创建时间:3天前
经办人:@john.doe
链接:https://yoursite.atlassian.net/browse/PROJ-456
**相似点:**
- 相同错误:"Connection timeout"
- 相同组件:移动应用登录
- 相同症状:用户无法登录
**差异点:**
- 原报告明确提及iOS,本次报告未指定平台
**建议:** 将你的详细信息作为评论添加到PROJ-456
你希望我执行以下哪项操作:
1. 将你的错误详情添加为PROJ-456的评论
2. 无论如何创建新问题(如果你认为这是不同问题)
3. 先向我展示PROJ-456的更多详情Format for Possibly Related:
潜在相关问题的呈现格式:
🔍 **Triage Results: Possibly Related Issues Found**
I found 2 potentially related issues:
**1. PROJ-789** - Mobile app authentication failures
Status: Resolved | Fixed: 2 weeks ago | Fixed by: @jane.smith
https://yoursite.atlassian.net/browse/PROJ-789
**2. PROJ-234** - Login timeout on slow connections
Status: Open | Priority: Medium | Created: 1 month ago
https://yoursite.atlassian.net/browse/PROJ-234
**Assessment:** Your error seems related but has unique aspects
**Recommendation:** Create a new issue, but reference these related tickets
Would you like me to create a new bug ticket?🔍 **分诊结果:发现潜在相关问题**
我找到2个潜在相关问题:
**1. PROJ-789** - 移动应用认证失败
状态:已解决 | 修复时间:2周前 | 修复人:@jane.smith
链接:https://yoursite.atlassian.net/browse/PROJ-789
**2. PROJ-234** - 慢速连接下的登录超时
状态:打开 | 优先级:中 | 创建时间:1个月前
链接:https://yoursite.atlassian.net/browse/PROJ-234
**评估:** 你的错误看似相关但存在独特之处
**建议:** 创建新问题,但引用这些相关工单
是否需要我创建新的Bug工单?Format for No Duplicates:
未找到重复项的呈现格式:
🔍 **Triage Results: No Duplicates Found**
I searched Jira for:
- "Connection timeout" errors
- Mobile login issues
- Authentication failures
No similar open or recent issues found.
**Recommendation:** Create a new bug ticket
**Note:** I found 1 old resolved issue (PROJ-123 from 8 months ago) about login timeouts, but it was for web, not mobile, and was resolved as "configuration error."
Would you like me to create a new bug ticket for this issue?🔍 **分诊结果:未找到重复项**
我在Jira中搜索了以下内容:
- "Connection timeout"错误
- 移动登录问题
- 认证失败
未找到类似的未解决或近期问题。
**建议:** 创建新的Bug工单
**备注:** 我找到1个旧的已解决问题(8个月前的PROJ-123)涉及登录超时,但它是针对网页端的,且已被标记为"配置错误"解决。
是否需要我为该问题创建新的Bug工单?Step 5: Execute User Decision
步骤5:执行用户决策
Based on user's choice, either add a comment or create a new issue.
根据用户的选择,添加评论或创建新问题。
Option A: Add Comment to Existing Issue
选项A:向现有问题添加评论
If user wants to add to existing issue:
Fetch the full issue first to understand context:
getJiraIssue(
cloudId="...",
issueIdOrKey="PROJ-456"
)Then add the comment:
addCommentToJiraIssue(
cloudId="...",
issueIdOrKey="PROJ-456",
commentBody="[formatted comment - see below]"
)Comment Structure:
markdown
undefined如果用户希望添加到现有问题:
先获取完整问题信息以了解上下文:
getJiraIssue(
cloudId="...",
issueIdOrKey="PROJ-456"
)然后添加评论:
addCommentToJiraIssue(
cloudId="...",
issueIdOrKey="PROJ-456",
commentBody="[格式化评论 - 见下文]"
)评论结构:
markdown
undefinedAdditional Instance Reported
新增问题实例报告
Reporter: [User's name or context]
Date: [Current date]
Error Details:
[Paste relevant error message or stack trace]
Context:
- Environment: [e.g., Production, iOS 16.5]
- User Impact: [e.g., 50+ users affected in last hour]
- Steps to Reproduce: [if provided]
Additional Notes:
[Any unique aspects of this instance]
Added via triage automation
undefined报告人: [用户名称或上下文]
日期: [当前日期]
错误详情:
[粘贴相关错误信息或堆栈跟踪]
上下文:
- 环境:[例如:生产环境, iOS 16.5]
- 用户影响:[例如:过去1小时内50+用户受影响]
- 重现步骤:[如果提供]
补充说明:
[该实例的任何独特之处]
通过分诊自动化添加
undefinedOption B: Create New Issue
选项B:创建新问题
If user wants to create new issue:
First, check available issue types:
getJiraProjectIssueTypesMetadata(
cloudId="...",
projectIdOrKey="PROJ"
)Determine appropriate issue type:
- For bugs/errors → Use "Bug" (if available)
- For issues without errors → Use "Task" or "Issue"
- Fallback → First available non-Epic, non-Subtask type
Create the issue:
createJiraIssue(
cloudId="...",
projectKey="PROJ",
issueTypeName="Bug",
summary="[Clear, specific summary - see below]",
description="[Detailed description - see below]",
additional_fields={
"priority": {"name": "Medium"} # Adjust based on user input severity assessment
}
)Summary Format:
Use the pattern:
[Component] [Error Type] - [Brief Symptom]Examples:
- ✅ "Mobile Login: Connection timeout during authentication"
- ✅ "Payment API: NullPointerException in refund processing"
- ✅ "Dashboard: Infinite loading on reports page"
- ❌ "Error in production" (too vague)
- ❌ "Users experiencing issues" (not specific)
Description Structure:
markdown
undefined如果用户希望创建新问题:
首先,检查可用的问题类型:
getJiraProjectIssueTypesMetadata(
cloudId="...",
projectIdOrKey="PROJ"
)确定合适的问题类型:
- 针对Bug/错误 → 使用"Bug"(如果可用)
- 针对无错误的问题 → 使用"Task"或"Issue"
- 备选方案 → 第一个可用的非Epic、非子任务类型
创建问题:
createJiraIssue(
cloudId="...",
projectKey="PROJ",
issueTypeName="Bug",
summary="[清晰具体的摘要 - 见下文]",
description="[详细描述 - 见下文]",
additional_fields={
"priority": {"name": "Medium"} # 根据用户输入的严重程度调整
}
)摘要格式:
使用模式:
[组件] [错误类型] - [简要症状]示例:
- ✅ "移动登录:认证时出现连接超时"
- ✅ "支付API:退款处理中出现NullPointerException"
- ✅ "仪表盘:报表页面无限加载"
- ❌ "生产环境出现错误"(过于模糊)
- ❌ "用户遇到问题"(不够具体)
描述结构:
markdown
undefinedIssue Description
问题描述
[1-2 sentence summary of the problem]
[1-2句话总结问题]
Error Details
错误详情
[Error message or stack trace][错误信息或堆栈跟踪]Environment
环境
- Platform: [e.g., Mobile iOS, Web, API]
- Version: [if known]
- Environment: [Production/Staging/etc]
- 平台: [例如:移动iOS, 网页端, API]
- 版本: [如果已知]
- 环境: [生产/预发布等]
Steps to Reproduce
重现步骤
- [Step 1]
- [Step 2]
- [Step 3]
- [步骤1]
- [步骤2]
- [步骤3]
Expected Behavior
预期行为
[What should happen]
[应该发生的情况]
Actual Behavior
实际行为
[What actually happens]
[实际发生的情况]
User Impact
用户影响
- Frequency: [e.g., Every time, Intermittent]
- Affected Users: [e.g., All users, Mobile users only]
- Severity: [e.g., Users cannot complete checkout]
- 频率: [例如:每次都发生, 间歇性发生]
- 受影响用户: [例如:所有用户, 仅移动用户]
- 严重程度: [例如:用户无法完成结账]
Additional Context
补充上下文
[Any other relevant information]
[任何其他相关信息]
Related Issues
相关问题
[If applicable, reference similar issues found during triage]
- See also: PROJ-123 (similar but resolved)
Created via automated triage
---[如果适用,引用分诊期间找到的类似问题]
- 另见:PROJ-123(类似但已解决)
通过自动化分诊创建
---Step 6: Provide Summary
步骤6:提供操作总结
After taking action, confirm what was done.
执行操作后,向用户确认已完成的工作。
If Comment Added:
如果添加了评论:
✅ **Comment Added Successfully**
Added details to existing issue: **PROJ-456**
https://yoursite.atlassian.net/browse/PROJ-456
**What I included:**
- Your error details
- Environment context
- User impact information
**Next Steps:**
- The assignee (@john.doe) will be notified
- Monitor PROJ-456 for updates
- If this turns out to be different, we can still create a separate ticket✅ **评论添加成功**
已将详情添加到现有问题:**PROJ-456**
链接:https://yoursite.atlassian.net/browse/PROJ-456
**包含的内容:**
- 你的错误详情
- 环境上下文
- 用户影响信息
**后续步骤:**
- 经办人(@john.doe)将收到通知
- 关注PROJ-456的更新
- 如果后续确认这是不同问题,我们仍可创建单独的工单If New Issue Created:
如果创建了新问题:
✅ **New Issue Created**
**PROJ-890** - Mobile Login: Connection timeout during authentication
https://yoursite.atlassian.net/browse/PROJ-890
Type: Bug | Priority: Medium | Status: Open
**What's Included:**
- Complete error details and stack trace
- Environment and reproduction steps
- User impact assessment
- References to related issues (PROJ-123, PROJ-789)
**Next Steps:**
- Issue will be reviewed during next triage meeting
- Consider setting priority based on user impact
- Assign to appropriate team member✅ **新问题已创建**
**PROJ-890** - 移动登录:认证时出现连接超时
链接:https://yoursite.atlassian.net/browse/PROJ-890
类型:Bug | 优先级:中 | 状态:打开
**包含的内容:**
- 完整的错误详情和堆栈跟踪
- 环境和重现步骤
- 用户影响评估
- 相关问题引用(PROJ-123, PROJ-789)
**后续步骤:**
- 问题将在下次分诊会议中被评审
- 可根据用户影响调整优先级
- 分配给合适的团队成员Edge Cases & Troubleshooting
边缘情况与故障排除
Multiple Potential Duplicates
多个潜在重复项
If you find 3+ very similar issues:
🔍 **Triage Results: Multiple Possible Duplicates**
I found 3 issues that might be related:
**Most Likely Duplicate:**
**PROJ-456** - [summary] (Open, 2 days ago)
Match: 95% - Same error and component
**Also Possibly Related:**
**PROJ-234** - [summary] (Open, 1 month ago)
Match: 70% - Similar symptoms, different error
**PROJ-123** - [summary] (Resolved, 8 months ago)
Match: 60% - Related component, but was fixed
**Recommendation:**
1. Add to PROJ-456 (most similar)
2. Reference PROJ-234 in your comment (might be related)
3. Note PROJ-123 was previously fixed (possible regression)
Which issue should I add your details to? (Or create new)如果找到3个以上高度类似的问题:
🔍 **分诊结果:多个可能的重复项**
我找到3个可能相关的问题:
**最可能的重复项:**
**PROJ-456** - [摘要](打开,2天前)
匹配度:95% - 相同错误和组件
**其他潜在相关:**
**PROJ-234** - [摘要](打开,1个月前)
匹配度:70% - 症状类似,错误不同
**PROJ-123** - [摘要](已解决,8个月前)
匹配度:60% - 组件相关,但已修复
**建议:**
1. 添加到PROJ-456(最相似)
2. 在评论中引用PROJ-234(可能相关)
3. 备注PROJ-123曾被修复(可能出现回归)
我应该将你的详情添加到哪个问题?(或创建新问题)Unclear Project Context
项目上下文不明确
If user doesn't specify which project:
Which Jira project should I search for similar issues?
Available projects:
- BACKEND (Backend Services)
- MOBILE (Mobile Apps)
- WEB (Web Platform)
- INFRA (Infrastructure)
Or tell me the project key directly (e.g., BACKEND, MOBILE)如果用户未指定项目:
我应该在哪个Jira项目中搜索类似问题?
可用项目:
- BACKEND(后端服务)
- MOBILE(移动应用)
- WEB(网页平台)
- INFRA(基础设施)
或者直接告诉我项目Key(例如:BACKEND, MOBILE)Insufficient Information
信息不足
If the bug report lacks critical details:
I need more information to effectively triage this issue:
**What I have:**
- Error: "Something went wrong"
**What would help:**
- Specific error message or code
- Which part of the system (login, payment, etc.)
- What the user was trying to do
- Which environment (production, staging, mobile, web)
Can you provide any of these details?如果Bug报告缺少关键细节:
我需要更多信息才能有效分诊此问题:
**已有的信息:**
- 错误:"Something went wrong"
**需要补充的信息:**
- 具体错误信息或代码
- 系统的哪个部分(登录、支付等)
- 用户当时正在执行的操作
- 环境(生产、预发布、移动、网页)
你能提供其中任何细节吗?Resolved Regression
已解决问题的回归
If you find a resolved issue that matches:
🔍 **Triage Results: Possible Regression**
This looks like it might be a regression of a previously fixed issue:
**PROJ-567** - [Same issue description]
Status: Resolved (Fixed) | Fixed: 3 months ago | Fixed by: @jane.smith
Resolution: [Brief description of fix]
https://yoursite.atlassian.net/browse/PROJ-567
**This suggests:**
- The original fix may not have fully addressed the root cause
- OR there's been a regression in recent changes
- OR this is a different issue with similar symptoms
**Recommendation:** Create a new issue and link it to PROJ-567 as "may be related to" or "regression of"
Should I create a new issue with this context?如果找到匹配的已解决问题:
🔍 **分诊结果:可能出现回归**
这看起来可能是之前已修复问题的回归:
**PROJ-567** - [相同问题描述]
状态:已解决(已修复) | 修复时间:3个月前 | 修复人:@jane.smith
解决方案:[修复简要描述]
链接:https://yoursite.atlassian.net/browse/PROJ-567
**这表明:**
- 原修复可能未完全解决根因
- 或近期变更导致回归
- 或这是一个症状类似的不同问题
**建议:** 创建新问题,并将其链接到PROJ-567,标记为"可能相关"或"回归"
是否需要我创建包含此上下文的新问题?Custom Required Fields
自定义必填字段
If creating an issue fails due to required fields:
- Check what fields are required:
getJiraIssueTypeMetaWithFields(
cloudId="...",
projectIdOrKey="PROJ",
issueTypeId="10001"
)- Ask user for values:
This project requires additional fields to create a Bug:
- Severity: [High/Medium/Low]
- Affected Version: [Version number]
Please provide these values so I can create the issue.- Retry with additional fields:
createJiraIssue(
...existing parameters...,
additional_fields={
"priority": {"name": "High"},
"customfield_10001": {"value": "Production"}
}
)如果创建问题因必填字段缺失而失败:
- 检查必填字段:
getJiraIssueTypeMetaWithFields(
cloudId="...",
projectIdOrKey="PROJ",
issueTypeId="10001"
)- 向用户请求字段值:
该项目创建Bug需要额外字段:
- 严重程度:[高/中/低]
- 受影响版本:[版本号]
请提供这些值以便我创建问题。- 补充字段后重试:
createJiraIssue(
...现有参数...,
additional_fields={
"priority": {"name": "High"},
"customfield_10001": {"value": "Production"}
}
)Tips for Effective Triage
有效分诊技巧
For Search:
搜索方面:
Do:
✅ Use multiple search queries with different angles
✅ Include both open and resolved issues in search
✅ Search for error signatures and symptoms separately
✅ Look at recent issues first (last 30-90 days)
✅ Check for patterns (multiple reports of same thing)
Don't:
❌ Search with entire error messages (too specific)
❌ Only search open issues (miss fix history)
❌ Ignore resolved issues (miss regressions)
❌ Use too many keywords (reduces matches)
建议做法:
✅ 使用多个不同角度的搜索查询
✅ 搜索包含打开和已解决的问题
✅ 分别搜索错误特征和症状
✅ 优先查看近期问题(过去30-90天)
✅ 检查是否存在模式(同一问题的多次报告)
避免做法:
❌ 使用完整错误信息搜索(过于具体)
❌ 仅搜索打开的问题(错过修复历史)
❌ 忽略已解决的问题(错过回归)
❌ 使用过多关键词(减少匹配结果)
For Issue Creation:
问题创建方面:
Do:
✅ Write clear, specific summaries with component names
✅ Include complete error messages in code blocks
✅ Add environment and impact details
✅ Reference related issues found during search
✅ Use "Bug" issue type for actual bugs
Don't:
❌ Create vague summaries like "Error in production"
❌ Paste entire stack traces in summary (use description)
❌ Skip reproduction steps
❌ Forget to mention user impact
❌ Hard-code issue type without checking availability
建议做法:
✅ 撰写包含组件名称的清晰具体摘要
✅ 在代码块中包含完整错误信息
✅ 添加环境和影响详情
✅ 引用搜索期间找到的相关问题
✅ 对于实际Bug使用"Bug"问题类型
避免做法:
❌ 创建模糊的摘要如"生产环境出现错误"
❌ 在摘要中粘贴完整堆栈跟踪(应放在描述中)
❌ 跳过重现步骤
❌ 遗漏用户影响说明
❌ 未检查可用性就硬编码问题类型
For Duplicate Assessment:
重复项评估方面:
High Confidence Duplicates:
- Exact same error + same component + recent (< 30 days)
- Same root cause identified
Likely Different Issues:
- Different error signatures
- Different components/systems
- Significantly different contexts
When Unsure:
- Present both options to user
- Lean toward creating new issue (can be closed as duplicate later)
- Linking issues is better than hiding information
高置信度重复项:
- 完全相同的错误+相同组件+近期(<30天)
- 已确定相同根因
可能是不同问题:
- 错误特征不同
- 组件/系统不同
- 上下文差异显著
不确定时:
- 向用户呈现两种选项
- 倾向于创建新问题(后续可标记为重复)
- 链接问题比隐藏信息更好
Examples
示例
Example 1: Clear Duplicate Found
示例1:找到明确重复项
User Input:
Triage this error: "Connection timeout error when users try to login on iOS app"Process:
- Extract: "Connection timeout", "login", "iOS"
- Search: Find PROJ-456 (open, 2 days ago) with exact same error
- Analyze: 95% match - same error, component, symptom
- Present: Show PROJ-456 as duplicate, recommend adding comment
- Execute: User confirms, add comment with iOS-specific details
- Confirm: Comment added to PROJ-456
Output:
✅ Comment added to PROJ-456
Your iOS-specific error details have been added to the existing issue.
The assignee will be notified.用户输入:
分诊此错误:"iOS应用用户登录时出现Connection timeout错误"处理流程:
- 提取:"Connection timeout", "login", "iOS"
- 搜索:找到PROJ-456(打开,2天前),错误完全相同
- 分析:匹配度95% - 相同错误、组件、症状
- 呈现:显示PROJ-456为重复项,建议添加评论
- 执行:用户确认,添加包含iOS特定详情的评论
- 确认:评论已添加到PROJ-456
输出:
✅ 评论已添加到PROJ-456
你的iOS特定错误详情已添加到现有问题中。
经办人将收到通知。Example 2: New Issue with Related Context
示例2:创建包含相关上下文的新问题
User Input:
Error: NullPointerException in PaymentProcessor.processRefund() at line 245
Stack trace: [full stack trace]Process:
- Extract: "NullPointerException", "PaymentProcessor", "processRefund", "line 245"
- Search: Find PROJ-789 (resolved, 3 weeks ago) about payment errors, but different line
- Analyze: Related component but different specific error
- Present: No duplicates, found related issue, recommend new ticket
- Execute: User confirms, create new Bug with context
- Confirm: PROJ-890 created
Output:
✅ New Issue Created
PROJ-890 - Payment API: NullPointerException in refund processing
https://yoursite.atlassian.net/browse/PROJ-890
References related issue PROJ-789 for context.用户输入:
错误:PaymentProcessor.processRefund()第245行出现NullPointerException
堆栈跟踪:[完整堆栈跟踪]处理流程:
- 提取:"NullPointerException", "PaymentProcessor", "processRefund", "第245行"
- 搜索:找到PROJ-789(已解决,3周前)涉及支付错误,但行号不同
- 分析:组件相关但具体错误不同
- 呈现:未找到重复项,找到相关问题,建议创建新工单
- 执行:用户确认,创建包含上下文的新Bug
- 确认:PROJ-890已创建
输出:
✅ 新问题已创建
PROJ-890 - 支付API:退款处理中出现NullPointerException
链接:https://yoursite.atlassian.net/browse/PROJ-890
已引用相关问题PROJ-789作为上下文。Example 3: Possible Regression
示例3:可能的回归
User Input:
Users can't upload files larger than 5MB, getting "Upload failed" errorProcess:
- Extract: "Upload failed", "5MB", "file upload"
- Search: Find PROJ-234 (resolved 2 months ago) - exact same issue
- Analyze: Was fixed but now happening again
- Present: Possible regression, recommend new issue linked to old one
- Execute: Create new issue, link to PROJ-234 as "may be caused by"
- Confirm: PROJ-891 created with regression context
Output:
✅ New Issue Created (Possible Regression)
PROJ-891 - File Upload: Upload failed for files >5MB (Regression?)
https://yoursite.atlassian.net/browse/PROJ-891
This may be a regression of PROJ-234, which was resolved 2 months ago.
Issue includes reference to original fix for investigation.用户输入:
用户无法上传大于5MB的文件,收到'Upload failed'错误处理流程:
- 提取:"Upload failed", "5MB", "file upload"
- 搜索:找到PROJ-234(已解决,2个月前)- 问题完全相同
- 分析:曾被修复但再次出现
- 呈现:可能出现回归,建议创建新问题并链接到旧问题
- 执行:创建新问题,将其链接到PROJ-234标记为"可能相关"
- 确认:PROJ-891已创建并包含回归上下文
输出:
✅ 新问题已创建(可能回归)
PROJ-891 - 文件上传:大于5MB的文件上传失败(回归?)
链接:https://yoursite.atlassian.net/browse/PROJ-891
这可能是PROJ-234的回归,该问题在2个月前已解决。
问题包含原修复的引用以供调查。When NOT to Use This Skill
不适用场景
This skill is for triaging bugs and errors only. Do NOT use for:
❌ Feature requests (use spec-to-backlog)
❌ General task creation (use capture-tasks-from-meeting-notes)
❌ Searching for information (use search-company-knowledge)
❌ Generating status reports (use generate-status-report)
Use this skill specifically for:
✅ "Is this a duplicate bug?"
✅ "Triage this error message"
✅ "Has this been reported before?"
✅ "Create a bug ticket for this"
本技能仅用于分诊Bug和错误。请勿用于:
❌ 功能请求(使用spec-to-backlog)
❌ 常规任务创建(使用capture-tasks-from-meeting-notes)
❌ 信息搜索(使用search-company-knowledge)
❌ 生成状态报告(使用generate-status-report)
本技能的特定适用场景:
✅ "这是重复Bug吗?"
✅ "分诊此错误信息"
✅ "这个问题之前上报过吗?"
✅ "为此创建一个Bug工单"
Quick Reference
快速参考
Primary workflow: Extract → Search → Analyze → Present → Execute → Confirm
Search tool:
searchJiraIssuesUsingJql(cloudId, jql, fields, maxResults)Action tools:
- - Add to existing
addCommentToJiraIssue(cloudId, issueIdOrKey, commentBody) - - Create new
createJiraIssue(cloudId, projectKey, issueTypeName, summary, description)
Issue type: Always prefer "Bug" for error reports, check with
getJiraProjectIssueTypesMetadataRemember:
- Multiple searches catch more duplicates
- Present findings before acting
- Include error details and context
- Reference related issues
- Use "Bug" issue type when available
核心工作流程: 提取 → 搜索 → 分析 → 呈现 → 执行 → 确认
搜索工具:
searchJiraIssuesUsingJql(cloudId, jql, fields, maxResults)操作工具:
- - 添加到现有问题
addCommentToJiraIssue(cloudId, issueIdOrKey, commentBody) - - 创建新问题
createJiraIssue(cloudId, projectKey, issueTypeName, summary, description)
问题类型: 对于错误报告优先使用"Bug",使用确认可用性
getJiraProjectIssueTypesMetadata注意事项:
- 多次搜索可捕获更多重复项
- 先呈现结果再执行操作
- 包含错误详情和上下文
- 引用相关问题
- 尽可能使用"Bug"问题类型