创建问题 create-issue

自动化地在GitHub或Jira中创建问题,根据问题类型和严重程度自动选择合适的模板和优先级。

DevOps 0 次安装 0 次浏览 更新于 3/2/2026

以下是内容的中文翻译,保持原有格式不变:


name: 创建问题 description: 在GitHub或Jira中创建问题。自动检测是否启用了GitHub问题;如果是,则创建GitHub问题,否则创建Jira问题。 allowed-tools: Bash(gh:), Bash(jira:), Bash(git:*), 读取,写入

创建问题

在适当的跟踪器(GitHub问题或Jira)中创建问题。

步骤1:检测问题跟踪器

  1. 获取仓库名称basename $(git rev-parse --show-toplevel)

  2. 检查是否启用了GitHub问题

    gh repo view --json hasIssuesEnabled --jq '.hasIssuesEnabled'
    
    • 如果是true → 创建GitHub问题
    • 如果是false → 创建Jira问题
  3. 确定问题类型:任务、错误或故事

  4. 检查用户请求中的指派人

  5. 根据严重程度确定优先级/标签


GitHub问题

如果启用了GitHub问题,使用gh issue create

步骤2a:将问题正文写入issue-body.md

根据问题类型使用适当的模板(见下面的模板部分)。

**注意:**此文件将在命令运行后被删除。

步骤2b:运行gh命令

gh issue create \
  --title "<摘要>" \
  --body-file issue-body.md \
  --label "<标签>" && rm issue-body.md

如果用户指定了指派人,添加--assignee "<用户名>"

**注意:**不需要仓库名称前缀 - GitHub问题已经限定在仓库范围内。


Jira问题

如果禁用了GitHub问题,使用jira issue create

步骤2a:将问题正文写入issue-body.md

根据问题类型使用适当的模板(见下面的模板部分)。

**注意:**此文件将在命令运行后被删除。

步骤2b:运行jira命令

jira issue create --no-input \
  --type "<类型>" \
  --priority "<优先级>" \
  --label "<标签>" \
  --summary "[<仓库名称>] <摘要>" \
  --template issue-body.md && rm issue-body.md

如果用户指定了指派人,添加--assignee "<用户名>"


模板

根据问题类型选择适当的模板:

模板:任务

## 做什么

提供任务的清晰和简洁的描述。

## 包含在内

- 定义此任务包含的内容

## 不包含在内

- 澄清不涉及的内容

## 安全和合规性

- 如果没有安全/合规性影响,写:"没有直接的安全或合规性影响。"
- 如果有影响,具体说明违反了哪个控制/要求以及实际风险

## 测试细节

- 概述测试策略

## 技术细节

包括任何剩余的细节,如代码片段、文件位置或工具建议。

模板:错误

## 描述

错误简洁的描述。

## 环境

- **环境:**(例如,测试,生产)
- **应用版本:**
- **浏览器/操作系统:**
- **受影响的组件:**

## 实际行为

详细描述实际发生的事情。包括任何错误消息、日志或屏幕截图。

## 预期行为

详细解释应该发生的事情。

## 重现步骤

1. 第一步
2. 第二步
3. 第三步

**可重现性:**(总是,有时,很少)

## 影响与严重性

- **影响:**描述对用户或业务运营的影响
- **严重性:**(关键,主要,次要)

## 故障排除与变通方法

- 已经采取的步骤来诊断或修复问题
- 如果有的话,提供临时的变通方法

## 附加信息

- 屏幕截图、视频或附加日志
- 相关的错误或工单
- 潜在的修复或调查区域(可选)

模板:故事

## 谁

- **用户组:**谁将使用或从这个功能中受益(最终用户,管理员,编辑等)
- **利益相关者:**相关的内部团队或客户细分

## 做什么

- **意图:**描述故事的目标;专注于需要实现什么,而不是技术实现
- **范围:**概述高级功能,不涉及UI具体细节或库细节

## 为什么

- **商业价值:**解释这个功能如何改善UX,增加留存,或缩短问题解决的旅程
- **指标/KPI:**将故事与相关的性能指标连接起来
- **非功能需求:**包括性能,安全,合规等其他质量要求

## 高级描述与设计

- **概览:**提供功能的简要叙述
- **Figma/设计链接:**[插入链接]包含所有相关的设计注释
- **设计要求:**UI/UX必须适应所有屏幕尺寸,包括非常小的设备。包括支持多语言的两行文本按钮设计

## 后端API与合同变更

- **API变更:**描述任何所需的变更或新端点
- **集成:**指定前端集成的方法
- **性能与安全:**突出任何潜在的性能问题或安全考虑

## 前端考虑

- **平台特定说明:**列出不同平台的任何特定要求
- **错误与成功路径:**清楚定义成功和错误流程

## 基础设施与合规性

- **影响评估:**评估对基础设施或安全合规标准的影响
- **性能与成本:**突出任何潜在的性能或成本影响

## 仪表板与资产管理

- **仪表板影响:**评估任何配置变更或新仪表板要求
- **资产需求:**确保所有资产(图像,文本,翻译)可用

## 依赖关系与风险

- **依赖关系:**列出任何相关的故事,外部依赖关系或系统
- **阻碍:**识别可能影响进度的潜在阻碍
- **风险:**概述可能影响功能交付的风险
- **缓解策略:**描述最小化或管理这些风险的行动

## 技术文档

- **文档链接:**包括相关技术文档或架构图的链接
- **额外上下文:**提供任何额外的技术注释,这些注释可以帮助实现

## 环境与发布说明

- **环境考虑:**注意任何特定环境的细节
- **发布计划:**详细说明功能标志,回滚计划或特殊部署说明

## 测试策略

- **测试要求:**定义超出接受标准的测试要求
- **测试场景:**概述关键测试案例和场景

## 接受标准

- 起草涵盖所有成功场景和所有错误路径的详细接受标准
- 由于动态因素导致的变化
- 确保标准是可测量的,不留下任何歧义的空间

## 发布后监控

- **监控指标:**指定发布后要监控的指标或日志
- **反馈机制:**概述如何在部署后收集用户反馈和性能数据

优先级映射(仅限Jira)

严重程度 Jira优先级
严重 阻塞
严重
中等 主要
次要
信息 次要

重要规则

  • GitHub问题:
    • 使用gh issue create--body-file
    • 不需要仓库名称前缀(问题已限定在仓库范围内)
    • 标签是简单的字符串(例如,bugenhancementdocumentation
  • Jira问题:
    • 总是用仓库名称作为摘要前缀:[仓库名称] 简短描述
    • 总是使用--no-input标志以防止交互式提示
    • 不要指定项目(-p--project)- 使用用户配置中的默认值
    • 设置15秒超时 - 如果它挂起,命令格式错误
  • 两者:
    • 使用Markdown格式
    • 使用##用于主要标题,-用于项目符号
    • 使用反引号用于内联代码
    • 对于不适用的部分,写"N/A"或"无特别说明"
    • 创建问题后删除临时文件(issue-body.md