议题看板

议题看板是一个软件项目管理工具,用于计划、组织和可视化功能或产品发布的工作流程。它可以用作 Kanban 或 Scrum 板。

它将议题跟踪和项目管理关联,将所有内容保持在一起,这样您就无需在不同平台之间跳转来组织工作流程。

议题看板建立在现有的 议题跟踪功能标记 之上。您的议题在垂直列表中显示为卡片,并按为其分配的 标记、里程碑指派人 进行组织。

议题看板可帮助您在极狐GitLab 中可视化管理整个过程。 您可以添加标签,然后为现有议题创建相应的列表。 准备好以后,可以将议题卡片从一个步骤拖到另一个步骤。

议题看板可以显示您的团队正在处理的议题,每个议题都被指派给了谁,以及这些议题在工作流中的哪个位置。

要让您的团队成员组织他们自己的工作流程,请使用 多个议题看板 。允许在同一个项目中创建多个议题看板。

GitLab issue board - Core

不同的极狐GitLab 许可证级别 提供不同的议题看板功能,如下表所示:

许可证级别 项目议题看板数量 群组议题看板 数量 可配置的议题看板 指派人列表
标准版 多个 1 No No
专业版 多个 多个 Yes Yes
旗舰版 多个 多个 Yes Yes

要了解更多信息,请访问下方的 极狐GitLab 议题看板的企业版功能

GitLab issue board - Premium

多个议题看板

  • 项目级的多议题看板从 13.10 版本中被转移至基础版。
  • 群组级的多议题看板在极狐GitLab 专业版中可用。

您可以给特定项目(基础版)或群组(专业版)设置多个议题看板。 这对于拥有多个团队的大型项目或当项目仓库托管多个产品的代码时非常有用。

使用菜单顶部的搜索框,您可以过滤列出的看板。

当您有十个或更多的可用看板时,菜单中还会显示 近期 部分,其中包含您最近访问过的四个看板的快捷方式。

Multiple issue boards

当您再次访问具有多个看板的项目或群组中的一个议题看板时,极狐GitLab 会自动加载您访问过的最后一个看板。

创建一个议题看板

要创建一个新的议题看板:

  1. 在议题看板页面的左上角单击带有当前板名称的下拉列表。
  2. 点击 创建新看板
  3. 输入新看板的名称并选择其范围:里程碑、标记、指派人或权重。

删除议题看板

要删除当前活动的议题看板:

  1. 在议题看板页面的左上角单击带有当前板名称的下拉列表。
  2. 点击 删除看板
  3. 点击 删除 确认。

议题看板的用例

您可以根据自己喜欢的工作流程定制极狐GitLab 议题看板。 以下是议题看板的一些常见用例。

使用单个议题看板的用例

使用 GitLab Flow,您可以讨论议题中的建议,标记它们,并使用议题看板组织它们并确定优先级。

例如,让我们考虑这个简化的开发工作流程:

  1. 您有一个存储应用程序代码库的仓库,并且您的团队在积极地贡献代码。
  2. 您的 后端 团队开始着手新的实现,得到反馈和批准,并且将其传递给 前端 团队。
  3. 前端完成后,将新功能部署到 预生产 环境进行测试。
  4. 成功后,应用被部署到 生产 环境。

如果您有 后端前端预生产生产 这些标记,以及带有每个标记清单的议题看板,您可以:

  • 可视化从开发生命周期开始到部署到生产的整个实现流程。
  • 通过垂直移动列表中的议题来确定它们的优先级。
  • 在列表之间移动议题以根据您设置的标记组织它们。
  • 通过选择一个或多个现有议题,将多个议题添加到看板的列表中。

issue card moving

多个议题看板的用例

使用多个议题看板,每个团队都可以有自己的看板来单独组织他们的工作流程。

Scrum 团队

有多个议题看板,每个团队有一个看板。现在您可以在流程中的每个部分之间移动议题。 例如:To DoDoingDone

主题组织

创建列表以按主题对议题进行排序,并在主题或组之间快速更改它们, 例如在 UX前端后端 之间。由于更改列表会相应地更新每个议题的标签,因此变化会体现在各个看板中。

团队之间的议题看板工作流

例如,假设我们有一个 UX 团队,其议题看板包含:

  • To Do
  • Doing
  • 前端

完成某事后,他们将卡片移至 前端。前端团队的看板看起来像:

  • 前端
  • Doing
  • Done

UX 团队完成的卡片在准备好后会自动出现在 前端 列中。

快速分配议题

要快速将议题分配给您的团队成员:

  1. 为每个团队成员创建指派人列表
  2. 将议题拖到团队成员列表中。

议题看板术语

议题看板 代表议题的独特视图。它可以有多个列表,每个列表由卡片代表的议题组成。

列表 是议题看板上的一列,显示与某些属性匹配的议题。 除了默认的 打开已关闭 列表外,每个附加列表都会显示与您选择的标记、指派人或里程碑相匹配的议题。在每个列表的顶部,您可以看到属于它的议题数量。列表类型包括:

  • 打开(默认):不属于其他列表之一的所有未解决的议题。始终显示为最左边的列表。
  • 已关闭(默认):所有已关闭的议题。 始终显示为最右侧的列表。
  • 标记列表:某个标记的所有未解决议题。
  • 指派人列表:分配给某个用户的所有未解决的议题。
  • 里程碑列表:某个里程碑的所有未解决的议题。

卡片 是列表中的一个框,代表一个议题。您可以将卡片从一个列表拖到另一个以更改他们的标记、指派人或里程碑。您在一个卡片上可以看到的信息包括:

  • 议题标题
  • 已关联的标记
  • 议题数量
  • 指派人

权限

具有报告者及更高角色的用户可以使用议题看板功能来创建或删除列表。 他们还可以将议题从一个列表拖到另一个列表中。

极狐GitLab 如何在列表中对议题进行排序

访问看板时,议题按顺序排列在任何列表中。您可以通过拖动议题来更改该顺序。 更改后的顺序会被保存,以便任何访问同一版块的人稍后都会看到重新排序,但有一些例外。

议题第一次出现在任何看板中时(即用户第一次加载包含该议题的看板时), 它会根据该列表中的其他议题进行排序。顺序根据标记的优先级

此时,系统会为该议题分配一个相对于列表中其他议题的相对顺序值。 在您拖动并重新排序问题时,其相对顺序值会相应更改。

此外,当该议题出现在任何看板上时,都会根据更新的相对顺序值进行排序。第一次出现议题时,它需要采用上面提到的优先级顺序。如果您的极狐GitLab 实例中的用户将议题 A 拖到议题 B 上方,则当这两个议题随后加载到同一实例中的任何看板时,顺序将保持不变。例如,可以是另外一个项目看板或群组看板。

此排序也会影响议题列表。 更改议题看板中的顺序会更改议题列表中的顺序,反之亦然。

极狐GitLab 议题看板的企业版功能

极狐GitLab 议题看板在极狐GitLab 标准版中可用,但一些高级功能仅限于更高许可证级别

可配置的议题看板

  • 在 13.8 版本中开始支持将看板范围设置为当前迭代。
  • 在 13.9 版本中移至专业版。

议题看板可以与里程碑标记、指派人、权重和当前迭代关联,它会相应地自动过滤看板中的议题。 这使您可以根据团队的需要创建独特的看板。

Create scoped board

您可以在创建时定义看板的范围或通过单击 编辑看板 按钮。 将里程碑、迭代、指派人或权重分配给议题看板后,您不能再在搜索栏中对这些进行过滤。 为此,您需要从议题看板中删除所需的范围(例如,里程碑、指派人或权重)。

如果您在板中没有编辑权限,您仍然可以通过单击 查看范围 查看配置。

专注模式

要启用或禁用专注模式,请选择右上方的 切换专注模式 按钮 ( )。在专注模式下,导航 UI 是隐藏的,让您可以专注于看板中的议题。

议题权重总和

在 13.9 中移至专业版。

每个列表的顶部会显示属于该列表的议题的议题权重总和。 这在使用看板进行生产力分配时非常有用,尤其是与 指派人列表 结合使用时。

issue board summed weights

群组议题看板

可在群组导航访问,群组议题看板提供与项目级看板相同的功能。 它可以显示属于该群组及其子群组的所有项目的议题。

极狐GitLab 基础版上的用户可以使用单个群组议题看板。

指派人列表

就像在显示所选标记的所有议题的常规列表中一样,您可以添加一个指派人列表来显示分配给某个用户的所有议题。 您可以拥有一个同时包含标记列表和指派人列表的看板。要添加指派人列表:

  1. 选择 创建列表
  2. 选择 指派人
  3. 在下拉列表中,选择一个用户。
  4. 选择 添加到看板

现在添加了指派人列表,您可以通过拖动议题,向指派人列表或从指派人列表中向该用户分配议题或取消分配议题。要删除指派人列表,就像使用标记列表一样,请单击垃圾桶图标。

Assignee lists

里程碑列表

您还可以创建里程碑列表,即按指定里程碑过滤议题的列表,让您在议题看板上有更多的自由和可见性。要添加里程碑列表:

  1. 选择 创建列表
  2. 选择 里程碑
  3. 在下拉菜单中,选择一个里程碑。
  4. 选择 添加到看板

与指派人列表一样,您可以拖动议题进出一个里程碑列表来修改议题的里程碑。与其他列表类型一样,单击垃圾桶图标可删除列表。

Milestone lists

迭代列表

  • 引入于 13.11 版本,功能标志名为 iteration_board_lists。默认禁用
  • 普遍适用于 14.6 版本。功能标志 iteration_board_lists 被移除。

您还可以创建迭代列表。 这些列表按指定的迭代过滤议题。

要添加迭代列表:

  1. 选择 创建列表
  2. 选择 迭代
  3. 在下拉列表中,选择一个迭代。
  4. 选择 添加到看板

与里程碑列表一样,您可以在迭代列表间拖动议题,来修改议题的迭代。

Iteration lists

在泳道中对议题进行分组

  • 专业版 13.6 中引入按史诗分组功能。
  • 在极狐GitLab 13.8 中引入在议题侧边栏中编辑议题功能。
  • 在极狐GitLab 13.9 中引入在议题侧边栏中编辑迭代功能。

使用泳道,您可以可视化按史诗分组的议题。 您的议题看板保留了所有其他功能,但具有不同的议题可视化组织。 此功能在项目和群组级别均可用。

要在议题看板中按史诗对议题进行分组:

  1. 选择 分组方式 下拉按钮。
  2. 选择 史诗

Epics Swimlanes

要在不离开此视图的情况下编辑问题,请选择议题卡(而不是其标题),右侧会出现一个侧边栏。 在那里您可以查看和编辑议题的:

  • 标题
  • 指派人
  • 史诗
  • 里程碑
  • 时间跟踪值(仅查看)
  • 到期日
  • 标记
  • 权重
  • 通知设置

您还可以拖动议题来更改它们的位置和史诗分配:

  • 要对议题重新排序,请将其拖到列表中的新位置。
  • 要将议题分配给另一个史诗,请将其拖动到史诗的水平通道。
  • 要从史诗中取消分配议题,请将其拖到 未分配史诗的议题 通道。
  • 要同时将议题移动到另一个史诗 另一个列表,请对角线拖动议题。

Drag issues between swimlanes

进行中限制

  • 在 13.9 中被转移至专业版

您可以为议题看板上的每个议题列表设置 进行中 (Work In Progress 或 WIP) 限制。 设置限制后,列表的标题会显示列表中的议题数量和议题的软限制。 您不能对默认列表(打开已关闭)设置 WIP 限制。

例子:

  • 当您有一个包含 4 个议题且限制为 5 个议题的列表时,标题会显示 4/5。 如果超出限制时,当前的议题数量将以红色显示。

  • 您有一个包含 5 个问题的列表,限制为 5 个。 当您将另一个议题移至该列表时, 列表的标题显示 6/5,其中 6 显示为红色。

要为列表设置 WIP 限制:

  1. 导航到您所属的项目或群组看板。
  2. 单击列表标题中的设置图标。
  3. 进行中限制 旁边,单击 编辑
  4. 输入最大议题数。
  5. 回车保存。

受阻的议题

  • 在 12.8 版本中引入
  • 在 13.10 版本中支持在被阻止图标上悬停时查看阻止议题

如果某个议题被另一个议题阻止,则其标题旁边会出现一个图标以指示其被阻止状态。

当您将鼠标悬停在被阻止的图标 ( ) 上时,会显示详细信息弹出窗口。

Blocked issues

您在议题看板上可以执行的操作

如果您无法执行上述某些操作,请确保您拥有正确的权限

编辑议题

编辑标题、迭代和机密性功能引入于 14.1 版本。

您可以在不离开板视图的情况下编辑议题。 要打开右侧边栏,请选择议题卡(而不是其标题)。

您可以在右侧边栏中编辑以下议题属性:

  • 指派人
  • 机密性
  • 史诗
  • 里程碑
  • 时间跟踪值(仅查看)
  • 到期日
  • 标签
  • 权重
  • 通知设置
  • 标题
  • 迭代

创建新列表

通过单击议题看板右上角的 创建列表 按钮创建一个新列表。

creating a new list in an issue board

然后,选择新列表所基于的标记、用户或里程碑。新列表将插入到列表的末尾,在 已关闭 列表之前。要移动和重新排序列表,请拖动它们。

删除列表

删除列表对议题和标记没有任何影响,因为它只是删除了列表视图。 如果需要,您可以随时再次创建它。

要从议题看板中删除列表:

  1. 在要删除的列表顶部,选择 列表设置 图标 ( )。 列表设置边栏将在右侧打开。
  2. 选择 删除列表。 出现确认对话框。
  3. 选择 确定

向一个列表添加议题

添加问题 按钮在 13.11 版本中已被删除。

如果您的看板范围限定为一个或多个属性,请转到您要添加的议题并应用与您的看板范围相同的属性。

例如,要将议题添加到范围为 Doing 标记的列表中,请在群组议题看板中:

  1. 转到群组或子群组或项目之一中的议题。
  2. 添加 Doing 标记。

该议题现在应该显示在您的议题看板上的 Doing 列表中。

从列表中删除议题

从看板中删除 按钮在 13.10 版本中已被删除。

当议题不再属于列表时,您可以将其删除。 这些步骤取决于列表的范围:

  1. 要打开右侧边栏,请选择议题卡。
  2. 删除将议题保留在列表中的内容。 如果是标记列表,请移除标记。 如果是 指派人列表,请取消分配用户。

过滤议题

您可以使用议题看板顶部的过滤器仅显示想要的结果。它类似于议题跟踪器中使用的过滤。

您可以按以下条件过滤:

  • 指派人
  • 作者
  • 史诗
  • 迭代
  • 标记
  • 里程碑
  • 我的反应
  • 发布
  • 类型 (issue/incident)
  • 权重

在群组看板中过滤议题

群组 版块中过滤议题时,请记住:

  • 里程碑:您可以按属于该群组及其子群组的里程碑进行过滤。
  • 标记:您只能按属于该群组的标记进行过滤,而不能按其子群组进行过滤。

当您使用右侧边栏单独编辑议题时,您还可以从议题来自的 项目 中选择里程碑和标记。

拖动议题和列表

您可以通过拖动来移动议题和列表。

先决条件:

  • 至少拥有报告者权限访问极狐GitLab 中的项目。

要移动议题,请选择议题卡并将其拖到其当前列表中的另一个位置或其他列表中。在有关列表间拖动议题的文档中了解可能的影响。

要移动列表,请选择其顶部栏,然后水平拖动它。 您无法移动 开放中已关闭 列表,但您可以在编辑议题看板时隐藏它们。

将议题移到列表顶部

引入于 15.4 版本。

您可以使用菜单快捷方式将议题移至列表顶部。

即使过滤器隐藏了其他议题,您的议题也会移至列表顶部。

先决条件:

  • 您必须至少具有项目的报告者角色。

要将议题移到列表的顶部:

  1. 在议题看板中,将鼠标悬停在要移动的议题的卡片上。
  2. 选择垂直省略号 ( ),然后 移动至列表顶部

将议题移到列表底部

引入于 15.4 版本。

您可以使用菜单快捷方式将议题移至列表底部。

即使过滤器隐藏了其他议题,您的议题也会移至列表底部。

先决条件:

  • 您必须至少具有项目的报告者角色。

要将议题移到列表的底部:

  1. 在议题看板中,将鼠标悬停在要移动的议题的卡片上。
  2. 选择垂直省略号 ( ),然后 移动至列表底部

在列表间拖动议题

要将议题移动到另一个列表,请选择议题卡并将其拖到该列表上。

在列表之间拖动议题时,结果会因源列表和目标列表而异。

  到 开放中 到 已关闭 到标记 B 列表 到指派人 Bob 列表
从 开放中 - 关闭议题 添加标记 B 分配给 Bob
从 已关闭 重新打开议题 - 重新打开议题并添加标记 B 重新打开议题并分配给 Bob
从标记 A 列表 删除标记 A 关闭议题 删除标记 A 并添加标记 B 分配给 Bob
从指派人 Alice 列表 取消分配给 Alice 关闭议题 添加标记 B 取消分配给 Alice 并分配给 Bob

多选议题卡

  • 放置在功能标志后面,在 14.0 版本中默认禁用。
  • 不推荐用于生产用途。
  • 要在极狐GitLab 私有化部署实例中使用,请要求管理员启用它

您可能无法使用此开发中的功能。启用仍在开发中的功能时可能存在风险。 有关更多详细信息,请参阅此功能的版本历史记录。

您可以选择多个议题卡,然后将该组拖到列表中的另一个位置,或另一个列表。 这样可以更快地一次重新排序多个议题。

选择和移动多张卡片:

  1. 在 Windows 或 Linux 上使用 Control+Click 或在 MacOS 上使用 Command+Click 选择每张卡片。
  2. 将其中一张选定的卡片拖到另一个位置或列表,所有选定的卡片都将被移动。

Multi-select Issue Cards

小窍门

要记住的几件事:

  • 在列表之间移动议题会从它来自的列表中删除标记,并从它转到的列表中添加标记。
  • 如果一个议题有多个标记,它可以存在于多个列表中。
  • 如果议题被标记,列表会自动填充议题。
  • 单击卡片内的议题标题会将您带到该议题。
  • 单击卡片内的标记可快速过滤整个议题看板,并仅显示所有具有该标记的列表中的议题。
  • 出于性能和可见性原因,每个列表默认显示前 20 个议题。如果您有超过 20 个议题,请向下滚动并显示后续的 20 个。

故障排除

当按作者或指派人过滤时,群组议题看板上出现 There was a problem fetching users

如果在群组议题看板上按作者或指派人过滤时,出现 There was a problem fetching users 错误的提示,请确保您已被添加为当前群组的成员。 在议题看板上按作者或指派人过滤时,非成员无权列出群组成员。

要修复此错误,您应该在顶级群组,为所有用户至少添加访客角色。

使用 Rails 控制台修复议题看板不加载和超时

如果您在 UI 中看到议题看板未加载和超时,请使用 Rails 控制台调用 Issue Rebalancing 服务来修复它:

  1. 启动 Rails 控制台会话
  2. 运行这些命令:

    p = Project.find_by_full_path('<username-or-group>/<project-name>')
    
    Issues::RelativePositionRebalancingService.new(p.root_namespace.all_projects).execute
    
  3. 要退出 Rails 控制台,请输入 quit