管理议题

创建议题后,您可以开始使用议题。

编辑议题

重新排序列表项功能引入于 15.0 版本。

您可以编辑议题的标题和描述。

先决条件:

  • 您必须至少具有该项目的报告者角色,作为议题的作者,或被分配给议题。

要编辑问题:

  1. 在标题右侧,选择 编辑标题和描述 ()。
  2. 编辑可用字段。
  3. 选择 保存修改

批量编辑项目中的议题

当您在一个项目中时,您可以一次编辑多个议题。

先决条件:

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

同时编辑多个议题:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 在左侧边栏中,选择 议题
  3. 选择 批量编辑。屏幕右侧会出现一个侧边栏。
  4. 选中您要编辑的每个议题旁边的复选框。
  5. 从侧边栏中,编辑可用字段。
  6. 选择 全部更新

在项目中批量编辑议题时,您可以编辑以下属性:

批量编辑群组中的议题

当您在一个群组中时,您可以跨多个项目编辑多个议题。

先决条件:

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

同时编辑多个议题:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 议题
  3. 选择 批量编辑。屏幕右侧会出现一个侧边栏。
  4. 选中您要编辑的每个议题旁边的复选框。
  5. 从侧边栏中,编辑可用字段。
  6. 选择 全部更新

在群组中批量编辑议题时,您可以编辑以下属性:

移动议题

当您移动议题时,它会关闭并复制到目标项目。 原始议题没有被删除。系统注释被添加到两个议题中,显示它来源和qu’xiang。

将议题移至具有不同访问规则的项目时要小心。在移动议题之前,请确保它不包含敏感数据。

先决条件:

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

移动问题:

  1. 转到议题。
  2. 在右侧边栏上,选择 移动议题
  3. 搜索将议题移至的项目。
  4. 选择 移动

批量移动议题

从议题列表

引入于 15.6 版本。

当您在一个项目中时,您可以同时移动多个议题。 您不能移动任务或测试用例。

先决条件:

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

同时移动多个议题:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 在左侧边栏中,选择 议题
  3. 选择 批量编辑。屏幕右侧会出现一个侧边栏。
  4. 选中您要移动的每个议题旁边的复选框。
  5. 从右侧边栏中选择 移动所选
  6. 从下拉列表中选择目标项目。
  7. 选择 移动

从 Rails 控制台

您可以将所有未解决的议题从一个项目移动到另一个项目。

先决条件:

  • 您必须至少具有该项目的报告者角色。
  1. 可选(但推荐),在控制台中尝试任何更改之前创建备份。
  2. 打开 Rails 控制台。
  3. 运行以下脚本。确保将 projectadmin_usertarget_project 更改为您的值。

    project = Project.find_by_full_path('full path of the project where issues are moved from')
    issues = project.issues
    admin_user = User.find_by_username('username of admin user') # make sure user has permissions to move the issues
    target_project = Project.find_by_full_path('full path of target project where issues moved to')
    
    issues.each do |issue|
       if issue.state != "closed" && issue.moved_to.nil?
          Issues::MoveService.new(container: project, current_user: admin_user).execute(issue, target_project)
       else
          puts "issue with id: #{issue.id} and title: #{issue.title} was not moved"
       end
    end; nil
    
  4. 要退出 Rails 控制台,请输入 quit

删除任务列表项

引入于 15.9 版本。

先决条件:

  • 您必须至少具有项目的报告者角色,或者是议题的作者或指派人。

在带有任务列表项的议题描述中:

  1. 将鼠标悬停在任务列表项上并选择选项菜单()。
  2. 选择 删除

任务列表项已从议题描述中删除。 任何嵌套的任务列表项都会向上移动一个嵌套级别。

关闭议题

当您决定某个议题已解决或不再需要时,您可以关闭它。 该议题已标记为已关闭但未删除。

先决条件:

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

要关闭议题,您可以执行以下操作:

  • 在议题的顶部,选择 关闭议题
  • 议题看板中,将议题卡从其列表拖到 已关闭 列表中。

重新打开关闭的议题

先决条件:

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

要重新打开已关闭的议题,请在议题顶部选择 重启议题。 重新打开的问题与任何其他未解决的问题没有不同。

自动关闭议题

您可以通过在提交消息或合并请求描述中,使用关闭语法样式来自动关闭议题。私有化部署实例的管理员可以更改默认关闭样式

如果提交消息或合并请求描述包含与定义的 pattern 匹配的文本,则在以下任一情况下,匹配文本中引用的所有议题都将关闭:

  • 提交被推送到项目的默认分支
  • 提交或合并请求,合并到默认分支中。

例如,如果您在合并请求描述中包含 Closes #4, #6, Related to #5

  • 合并 MR 时会自动关闭议题 #4#6
  • 议题 #5 被标记为相关议题,但它不会自动关闭。

或者,当您从议题创建合并请求时,它会继承议题的里程碑和标签。

出于性能原因,从现有仓库第一次推送时禁用自动关闭议题。

默认关闭样式

要自动关闭议题,请使用以下关键字,后跟议题引用。

可用关键字:

  • Close, Closes, Closed, Closing, close, closes, closed, closing
  • Fix, Fixes, Fixed, Fixing, fix, fixes, fixed, fixing
  • Resolve, Resolves, Resolved, Resolving, resolve, resolves, resolved, resolving
  • Implement, Implements, Implemented, Implementing, implement, implements, implemented, implementing

可用的议题引用格式:

  • 本地议题 (#123).
  • 跨项目议题 (group/project#123).
  • 议题的完整 URL (https://gitlab.example.com/group/project/issues/123).

示例:

Awesome commit message

Fix #20, Fixes #21 and Closes group/otherproject#22.
This commit is also related to #17 and fixes #18, #19
and https://gitlab.example.com/group/otherproject/issues/23.

上一个提交消息关闭了此提交推送到的项目中的#18#19#20#21,以及 group/otherproject 中的 #22#23#17 没有关闭,因为它与 pattern 不匹配。

您可以在多行提交消息或单行中使用关闭模式,使用 git commit -m 从命令行完成。

默认议题结束 pattern 正则表达式:

\b((?:[Cc]los(?:e[sd]?|ing)|\b[Ff]ix(?:e[sd]|ing)?|\b[Rr]esolv(?:e[sd]?|ing)|\b[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?: *,? +and +| *,? *)?)|([A-Z][A-Z0-9_]+-\d+))+)

禁用自动关闭议题

您可以在项目设置中按项目禁用自动议题关闭功能。

先决条件:

  • 您必须至少具有该项目的维护者角色。

要禁用自动关闭议题:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 在左侧边栏中,选择 设置 > 仓库
  3. 展开 分支默认值
  4. 选择 在默认分支上自动关闭引用的议题
  5. 选择 保存修改

引用的议题仍会显示,但不会自动关闭。

更改此设置仅适用于新的合并请求或提交。已经关闭的议题保持原样。 禁用自动关闭议题仅适用于禁用了该设置的项目中的议题,在这个项目中,合并请求和提交仍然可以关闭另一个项目的议题。

自定义议题关闭样式

先决条件:

了解如何更改安装的默认议题关闭样式

更改议题类型

先决条件:

  • 您必须是议题作者或至少具有项目的报告者角色。

要更改议题类型:

  1. 在标题右侧,选择 编辑标题和描述 ()。
  2. 编辑议题并从 议题类型 下拉列表中选择一个议题类型:

    • Issue
    • Incident
  3. 选择 保存修改.

删除议题

从垂直省略号菜单中删除议题引入于 14.6 版本

先决条件:

  • 您必须具有项目的所有者角色。

要删除议题:

  1. 在一个议题中,选择 议题操作 ()。
  2. 选择 删除议题

或者:

  1. 在一个议题中,选择 编辑标题和描述 ()。
  2. 选择 删除议题

将议题提升为史诗

您可以将议题提升到直接父组中的史诗

将议题提升为史诗:

  1. 在一个议题中,选择 议题操作 ()。
  2. 选择 提升为史诗

或者,您可以使用 /promote 快速操作

将议题升级为事件(incident)

  • 引入于 14.5 版本。
  • 在创建时将议题类型设置为事件(incident)的快速操作引入于 15.8 版本。

您可以使用 /promote_to_incident 快速操作,将议题升级为事件

向迭代添加议题

将议题添加到迭代

  1. 转到议题。
  2. 在右侧边栏的 迭代 部分,选择 编辑
  3. 从下拉列表中,选择要与此议题关联的迭代。
  4. 选择下拉列表之外的任何区域。

或者,您可以使用 /iteration 快速操作

查看指派给您的所有议题

要查看指派给您的所有议题:

  1. 在左侧边栏中,将光标放在 搜索 框中。
  2. 从下拉列表中,选择 指派给我的议题

或者:

  • 要使用键盘快捷键,请按 Shift + i
  • 在左侧边栏的右上角,选择 议题

过滤议题列表

  • 按迭代过滤功能引入于 13.6 版本。
  • 按迭代过滤功能从旗舰版移动到专业版于 13.9 版本。
  • 按类型过滤功能引入于 13.10 版本,功能标志为 vue_issues_list。默认禁用。
  • 按类型过滤功能在私有化部署版上启用于 14.10 版本。
  • 按类型过滤功能一般可用于 15.1 版本。功能标志 vue_issues_list 删除。
  • 按健康状态过滤功能引入于 15.5 版本。

要过滤议题列表:

  1. 在议题列表上方,选择 搜索或过滤结果…
  2. 在出现的下拉列表中,选择您要过滤的属性。
  3. 选择或键入用于过滤属性的运算符。可以使用以下运算符:
    • =:是
    • !=:不是
  4. 输入文本,过滤属性。您可以使用 NoneAny 过滤某些属性。
  5. 重复此过程,按多个属性进行过滤。多个属性由逻辑 AND 连接。

按 ID 过滤议题

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 在左侧边栏中,选择 计划 > 议题
  3. 搜索 框中,输入议题 ID。例如,输入过滤器 #10,仅返回议题 10。

filter issues by specific ID

复制议题引用

要引用实例中其他地方的议题,您可以使用其完整 URL 或简短引用,类似于 namespace/project-name#123,其中 namespace 是群组或用户名。

要将议题引用复制到剪贴板:

  1. 转到议题。
  2. 在右侧边栏的 引用 旁边,选择 复制引用 ()。

您现在可以将引用粘贴到另一个描述或评论中。

复制议题电子邮件地址

您可以通过发送电子邮件在议题中创建评论。 向此地址发送电子邮件会创建包含电子邮件正文的评论。

要复制议题的电子邮件地址:

  1. 转到议题。
  2. 在右侧边栏 发邮件 旁边,选择 复制引用 ()。

指派人

一个问题可以分配给一个或多个用户

指派人可以根据需要随时更改,指派人是对议题负责的人。 当一个议题被分配给某人时,它会出现在他们分配的议题列表中。

如果用户不是项目的成员,则只能将议题分配给他们,前提是他们自己创建议题或其他项目成员将议题分配给他们。

要更改议题的指派人:

  1. 转到您的议题。
  2. 在右侧边栏的 指派人 部分中,选择 编辑
  3. 从下拉列表中选择要添加为指派人的用户。
  4. 选择下拉列表之外的任何区域。

无需刷新页面即可更改指派人。

类似议题

为防止同一主题出现重复议题,系统在您创建新议题时会搜索类似议题。

先决条件:

  • GraphQL 必须启用。

当您在 新建议题 页面的标题文本框中键入时,系统会在当前项目中的所有议题中搜索标题和描述。仅返回您有权访问的议题。 标题文本框下方最多显示五个类似议题,按最近更新排序。

健康状态

为了帮助您跟踪议题状态,您可以为每个议题分配一个状态。 此状态将议题标记为按计划进行,或需要注意以按计划进行。

先决条件:

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

要编辑议题的运行状况:

  1. 转到议题。
  2. 在右侧边栏的 健康状态 部分,选择 编辑
  3. 从下拉列表中,选择要添加到此问题的状态:

    • On track (green)
    • Needs attention (amber)
    • At risk (red)

您可以在以下位置查看议题的运行状况:

  • 议题列表
  • 史诗树
  • 议题看板上的议题卡片

议题关闭后,无法编辑其运行状况,并且在重新打开议题之前 编辑 按钮将变为禁用状态。

发布议题

如果状态页面应用程序与项目相关联,您可以使用 /publish 快速操作 发布议题。

与议题相关的快速操作

您还可以使用快速操作来管理议题。

某些操作还没有相应的 UI 按钮。 您可以仅通过使用快速操作来执行以下操作:

  • 添加或删除 Zoom 会议/zoom/remove_zoom)。
  • 发布议题 (/publish)。
  • 将议题克隆到同一个或另一个项目 (/clone)。
  • 关闭一个议题并将其标记为另一个议题的副本(/duplicate)。
  • 从项目中的另一个合并请求或议题中复制标记和里程碑 (/copy_metadata)。