SuperAPI AI 工具集

jira-safe

办公与效率

查看项目

更新于 10-15 07:43

技能介绍

用途

Jira SAFe 技能用于在 Jira Cloud 中实施 SAFe(Scaled Agile Framework)方法论,帮助团队按照正确的层级结构创建和管理工作项。它适用于以下场景:

  • 创建带有业务成果和验收标准的 Epic
  • 按 SAFe 格式(“As a... I want... So that...”)编写用户故事
  • 将 Feature 拆解为带有验收标准的 Story
  • 在 Story 下创建 Subtask
  • 按正确层级链接工作项(Epic → Feature → Story → Subtask)

主要能力

SAFe 层级

技能遵循以下层级结构:

Portfolio Level:
└── Epic (Strategic Initiative)
    └── Feature (Benefit Hypothesis)
        └── Story (User Value)
            └── Subtask (Technical Work)

项目类型检测

技能强调必须首先检测项目类型,因为 Next-Gen(团队管理)与 Classic(公司管理)项目存在关键差异:

方面 Classic(公司管理) Next-Gen(团队管理)
Epic Link customfield_10014 parent: { key: 'EPIC-KEY' }
Epic Name customfield_10011 不可用
子任务类型 'Sub-task' 'Subtask'
项目风格 classic next-gen, simplified: true

检测代码示例:

const projectInfo = await fetch(`${JIRA_URL}/rest/api/3/project/${PROJECT_KEY}`, { headers });
const project = await projectInfo.json();
const isNextGen = project.style === 'next-gen' || project.simplified === true;

模板

技能提供 Epic、Story、Subtask 的模板。

Epic 模板(Next-Gen) 包含业务成果、成功指标、范围等部分,并使用 labels 进行分类(Next-Gen 不使用 customfield_10011)。

Story 模板(SAFe 格式,Next-Gen) 包含用户故事、验收标准(Given-When-Then 场景)、完成定义(Definition of Done),并通过 parent 字段链接到 Epic。

Subtask 模板(Next-Gen) 使用 issuetype 名称 'Subtask'(无连字符),并通过 parent 字段链接到 Story。

API 实现

技能提供以下 API 操作示例:

  • 创建 Epic 及其下 Story(Next-Gen)
  • 创建 Story 及其下 Subtask(Next-Gen)
  • 查找 Epic Link 字段 ID
  • 批量删除问题

所有示例均包含速率限制和错误处理。

使用方式

技能通过 Jira REST API v3 与 Jira Cloud 交互。使用前需要配置认证信息(EMAIL、TOKEN、JIRA_URL)。代码示例使用 fetch 发起请求,并设置 Authorization、Content-Type 和 Accept 头。

创建 Epic 及其下 Story 的流程:先创建 Epic,再遍历 Story 定义,使用 parent 字段链接到创建的 Epic,每次创建后加入短暂延迟以进行速率限制。

创建 Story 及其下 Subtask 的流程:先创建 Story 并链接到指定 Epic,再遍历 Subtask 摘要,使用 parent 字段链接到创建的 Story。

适用场景

  • 需要在 Jira 中规范实施 SAFe 层级的敏捷团队
  • 编写符合 INVEST 原则的用户故事
  • 建立 Given-When-Then 格式的验收标准
  • 在 Next-Gen 或 Classic 项目中正确链接工作项
  • 通过 API 批量创建或删除 Jira 工作项

限制

  • 技能主要针对 Jira Cloud,未提供其他 Jira 部署方式的说明
  • Next-Gen 项目不支持 Epic Name 字段,需使用 labels 替代
  • 子任务类型名称因项目类型而异(Subtask vs Sub-task)
  • 代码示例中的字段 ID(如 customfield_10014、customfield_10011、customfield_10016、customfield_10007)为典型值,实际可能因 Jira 实例而异,需通过 API 查找确认
  • 未提供关于收费、价格或平台支持的额外信息