需求管理

  • Tier: 旗舰版
  • Offering: JihuLab.com, 私有化部署

通过需求,您可以设置标准来检查您的产品。它们可以基于用户、利益相关者、系统、软件或其他您认为重要的内容。

需求是极狐GitLab 中的一个产物,描述了您的产品的特定行为。需求是长期存在的,除非手动清除,否则不会消失。

如果行业标准要求您的应用程序具有某个功能或行为,您可以创建一个需求来反映这一点。当某个功能不再必要时,您可以存档相关的需求

需求列表视图

创建需求#

History
    • 在极狐GitLab 17.7 中,将最低用户角色从报告者更改为计划者。

每个项目中都可以访问需求的分页列表,您可以在其中创建新的需求。

先决条件:

  • 您必须至少拥有报告者角色。

要创建需求:

  1. 在项目中,转到 计划 > 需求
  2. 选择 新需求
  3. 输入标题和描述,然后选择 新需求

需求创建视图

您可以在列表顶部看到新创建的需求,需求列表按创建日期降序排列。

查看需求#

您可以通过从列表中选择来查看需求。

需求视图

要在查看需求时编辑它,请选择需求标题旁边的 编辑 图标 (

)。

编辑需求#

History
    • 在极狐GitLab 16.11 中发生了变更:作者和受托人可以编辑需求,即使他们没有报告者角色。
    • 在极狐GitLab 17.7 中,将最低用户角色从报告者更改为计划者。

您可以从需求列表页面编辑需求。

先决条件:

  • 您必须至少拥有报告者角色或是需求的作者或受托人。

要编辑需求:

  1. 从需求列表中,选择 编辑 图标 ()。
  2. 在文本输入字段中更新标题和描述。您还可以使用 满意 复选框在编辑表单中标记需求为已满足。
  3. 选择 保存更改

存档需求#

History
    • 在极狐GitLab 16.11 中发生了变更:作者和受托人可以编辑需求,即使他们没有报告者角色。
    • 在极狐GitLab 17.7 中,将最低用户角色从报告者更改为计划者。

您可以在 打开 标签中存档一个打开的需求。

先决条件:

  • 您必须至少拥有报告者角色或是需求的作者或受托人。

要存档需求,选择 存档 (

)。

需求一旦被存档,就不再出现在 打开 标签中。

重新打开需求#

History
    • 在极狐GitLab 16.11 中发生了变更:作者和受托人可以编辑需求,即使他们没有报告者角色。
    • 在极狐GitLab 17.7 中,将最低用户角色从报告者更改为计划者。

您可以在 已存档 标签中查看已存档的需求列表。

先决条件:

  • 您必须至少拥有报告者角色或是需求的作者或受托人。

已存档的需求列表

要重新打开已存档的需求,请选择 重新打开

需求一旦被重新打开,就不再出现在 已存档 标签中。

搜索需求#

您可以根据以下标准从需求列表页面搜索需求:

  • 标题
  • 作者的用户名
  • 状态(已满足、失败或缺失)

要搜索需求:

  1. 在项目中,转到 计划 > 需求 > 列表
  2. 选择 搜索或过滤结果 字段。下拉列表出现。
  3. 从下拉列表中选择需求作者或状态,或输入纯文本以按需求标题搜索。
  4. 按下键盘上的 Enter 键以过滤列表。

您还可以按以下方式对需求列表进行排序:

  • 创建日期
  • 更新日期

允许需求从 CI 作业中满足#

极狐GitLab 现在支持需求测试报告。 您可以向您的 CI 流水线添加一个作业,当触发时,标记所有现有需求为已满足(您可以在编辑表单中手动满足需求编辑需求)。

将手动作业添加到 CI#

要配置您的 CI,在手动作业触发时标记需求为已满足,请将以下代码添加到您的 .gitlab-ci.yml 文件中。

yaml
1requirements_confirmation: 2 when: manual 3 allow_failure: false 4 script: 5 - mkdir tmp 6 - echo "{\"*\":\"passed\"}" > tmp/requirements.json 7 artifacts: 8 reports: 9 requirements: tmp/requirements.json

此定义向 CI 流水线添加了一个手动触发的作业 (when: manual)。它是阻塞的 (allow_failure: false),但是由您决定使用何种条件来触发 CI 作业。此外,您可以使用任何现有的 CI 作业来标记所有需求为已满足,只要 requirements.json 产物是由 CI 作业生成并上传的。

当您手动触发此作业时,包含 {"*":"passed"}requirements.json 文件作为产物上传到服务器。在服务器端,需求报告检查 "all passed" 记录 ({"*":"passed"}),成功时标记所有现有打开的需求为已满足。

指定个别需求#

可以指定个别需求及其状态。

如果存在以下需求:

  • REQ-1 (IID 为 1
  • REQ-2 (IID 为 2
  • REQ-3 (IID 为 3

可以指定第一个需求通过,第二个失败。有效值为 "passed" 和 "failed"。通过省略需求 IID(在此情况下为 REQ-3 的 IID 3),没有结果被记录。

yaml
1requirements_confirmation: 2 when: manual 3 allow_failure: false 4 script: 5 - mkdir tmp 6 - echo "{\"1\":\"passed\", \"2\":\"failed\"}" > tmp/requirements.json 7 artifacts: 8 reports: 9 requirements: tmp/requirements.json

有条件地将手动作业添加到 CI#

要配置您的 CI 仅在有一些打开的需求时包括手动作业,请添加一个规则,检查 CI_HAS_OPEN_REQUIREMENTS CI/CD 变量。

yaml
1requirements_confirmation: 2 rules: 3 - if: '$CI_HAS_OPEN_REQUIREMENTS == "true"' 4 when: manual 5 - when: never 6 allow_failure: false 7 script: 8 - mkdir tmp 9 - echo "{\"*\":\"passed\"}" > tmp/requirements.json 10 artifacts: 11 reports: 12 requirements: tmp/requirements.json

因为需求和测试用例正在迁移到工作项,如果您在项目中启用了工作项,必须在上述配置中将 requirements 替换为 requirements_v2

yaml
requirements_v2: tmp/requirements.json

从 CSV 文件导入需求#

History
    • 在极狐GitLab 17.7 中,将最低用户角色从报告者更改为计划者。

您必须至少拥有报告者角色。

您可以通过上传一个包含 titledescription 列的 CSV 文件来将需求导入项目。

导入后,上传 CSV 文件的用户被设置为导入需求的作者。

导入文件#

在导入文件之前:

  • 考虑导入仅包含少量需求的测试文件。没有办法在不使用极狐GitLab API 的情况下撤销大量导入。
  • 确保您的 CSV 文件符合文件格式要求。

要导入需求:

  1. 在项目中,转到 计划 > 需求
    • 对于有需求的项目,在页面右上角,选择垂直省略号 (),然后选择 导入需求 ()。
    • 对于没有需求的项目,在页面中间选择 导入 CSV
  2. 选择文件并选择 导入需求

文件在后台处理中,导入完成后会向您发送通知电子邮件。

导入的 CSV 文件格式#

从 CSV 文件导入需求时,必须以特定方式进行格式化:

  • 标题行: CSV 文件必须包含以下标题:titledescription。标题不区分大小写。
  • 列:titledescription 外的列数据不会被导入。
  • 分隔符: 从标题行中自动检测列分隔符。支持的分隔符字符包括:逗号 (,)、分号 (;) 和制表符 (\t)。行分隔符可以是 CRLFLF
  • 双引号字符: 双引号 (") 字符用于引用字段,以便在字段中使用列分隔符(参见下面的示例 CSV 数据第三行)。要在引用字段中插入双引号 ("),请连续使用两个双引号字符 ("")。
  • 数据行: 在标题行下,后续行必须遵循相同的列顺序。标题文本是必需的,而描述是可选的,可以留空。

示例 CSV 数据:

plaintext
title,description My Requirement Title,My Requirement Description Another Title,"A description, with a comma" "One More Title","One More Description"

文件大小#

大小限制取决于极狐GitLab 实例的最大附件大小配置值。

对于 JihuLab.com,设置为 10 MB。

导出需求到 CSV 文件#

History
    • 在极狐GitLab 17.7 中,将最低用户角色从报告者更改为计划者。

您可以将极狐GitLab 需求导出为作为附件发送到您的默认通知电子邮件的 CSV 文件。

通过导出需求,您和您的团队可以将它们导入到其他工具中或与您的客户共享。导出需求可以帮助与更高层次的系统进行协作,以及审计和法规合规任务。

先决条件:

  • 您必须至少拥有报告者角色。

要导出需求:

  1. 在项目中,转到 计划 > 需求

  2. 在页面右上角,选择垂直省略号 (

    ),然后选择 导出为 CSV ()。

    确认模态出现。

  3. 高级导出选项 下,选择要导出的字段。

    默认情况下选择所有字段。要排除某个字段不被导出,请清除旁边的复选框。

  4. 选择 导出需求。导出的 CSV 文件会发送到与您的用户关联的电子邮件地址。

导出的 CSV 文件格式#

您可以在电子表格编辑器中预览导出的 CSV 文件,例如 Microsoft Excel、OpenOffice Calc 或 Google Sheets。

导出的 CSV 文件包含以下标题:

  • 需求 ID
  • 标题
  • 描述
  • 作者
  • 作者用户名
  • 创建于 (UTC)
  • 状态
  • 状态更新于 (UTC)