- 创建议题
- 编辑议题
- 移动议题
- 关闭议题
- 更改议题类型
- 删除议题
- 将议题提升为史诗
- 向迭代添加议题
- 查看指派给您的所有议题
- 过滤议题列表
- 复制议题引用
- 复制议题电子邮件地址
- 实时侧边栏
- 指派人
- 类似议题
- 健康状态
- 发布议题
- 与议题相关的快速操作
管理议题
极狐GitLab 议题是在极狐GitLab 中就想法和计划工作进行协作的基本媒介。
创建议题
创建议题时,系统会提示您输入议题的字段。 如果您知道要分配给议题的值,则可以使用快捷操作输入它们。
您可以在 GitLab 中以多种方式创建问题:
从项目
先决条件:
- 您必须至少拥有该项目的 Guest 角色。
要创建议题:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
-
您可以:
- 在左侧边栏上,选择 议题,然后在右上角选择 新建议题。
- 在顶部栏上,选择加号 (),然后在 此项目 下,选择 新建议题。
- 完成填写字段。
- 选择 创建议题。
新创建的议题开放。
从群组
议题属于项目,但是当您在群组中时,您可以访问和创建属于群组中的项目的议题。
先决条件:
- 您必须至少具有群组中项目的 Guest 角色。
要从群组创建问题:
- 在顶部栏上,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏上,选择 议题。
- 在右上角,选择 选择要创建议题的项目。
- 选择您要为其创建议题的项目。该按钮现在反映了选定的项目。
- 选择 在
<project name>
中新建议题。 - 完成填写字段。
- 选择 创建议题。
新创建的议题开放。
您最近选择的项目将成为您下次访问的默认项目。 如果您主要为同一项目创建议题,这可以为您节省大量时间。
从另一个议题或事件
新议题与原始议题相关联,引入于 14.3 版本。 关联到 复选框引入于 14.9 版本。
您可以从现有议题创建新议题,然后可以将这两个议题标记为相关。
先决条件:
- 您必须至少具有群组中项目的 Guest 角色。
从另一个议题创建议题:
- 在现有议题中,选择垂直省略号 ()。
- 选择 新建关联议题。
- 完成填写字段。
新问题表单有一个 关联到议题 #123 复选框,其中
123
是议题来源的 ID。如果您选中此复选框,则这两个议题将变为相关联。 - 选择 创建议题。
新创建的议题开放。
从议题看板
您可以从议题看板创建新议题。
先决条件:
- 您必须至少具有项目的 Guest 角色。
要从项目议题看板创建议题:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 选择 议题 > 看板。
- 在版块列表的顶部,选择 新建议题 ()。
- 输入议题的标题。
- 选择 创建议题。
要从群组议题看板创建议题:
- 在顶部栏上,选择 主菜单 > 群组 并找到您的群组。
- 选择 议题 > 看板。
- 在版块列表的顶部,选择 新建议题 ()。
- 输入议题的标题。
- 在 项目 下,选择议题所属的群组中的项目。
- 选择 创建议题。
议题已创建并显示在看板列表中,它共享列表的特性,因此,例如列表的范围限定为标记 Frontend
,则新议题也具有此标记。
通过发送电子邮件
您可以在项目的 议题列表 页面上发送电子邮件以在项目中创建议题。
先决条件:
- 您的实例必须配置接收电子邮件。
- 议题列表中必须至少有一个议题。
- 您必须至少拥有该项目的 Guest 角色。
要将议题通过电子邮件发送到项目:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 选择 议题。
- 在页面底部,选择 通过电子邮件向该项目发送新议题。
- 要复制电子邮件地址,请选择 复制 ()。
- 从您的电子邮件客户端,向该地址发送一封电子邮件。主题用作新议题的标题,电子邮件正文成为描述。您可以使用 Markdown 和 快速操作。
成功后,创建了一个新议题,您的用户作为作者。 您可以将此地址保存为电子邮件客户端中的联系人以再次使用。
要重新生成电子邮件地址:
- 在议题列表中,选择 通过电子邮件向该项目发送新议题。
- 选择 重置此令牌。
使用带有预填值的 URL
要直接链接到带有预填充字段的新议题页面,请在 URL 中使用查询字符串参数。您可以在外部 HTML 页面中嵌入 URL 以使用预填充的某些字段创建议题。
字段 | URL 参数 | 备注 |
---|---|---|
标题 | issue[title]
| 必须是 URL 编码。 |
议题类型 | issue[issue_type]
|
incident 或 issue 。
|
描述模板 | issuable_template
| 必须是 URL 编码。 |
描述 | issue[description]
| 必须是 URL 编码。如果与 issuable_template 或默认议题模板结合使用,则 issue[description] 值附加到模板中。
|
私密 | issue[confidential]
| 如果为 true ,则议题被标记为机密。
|
关联到 | add_related_issue
| 议题的数字 ID。如果存在,议题表单显示 关联到… 复选框 ,可以选择性地将新议题链接到指定的现有议题。 |
调整这些示例以形成带有预填充字段的新议题 URL。 在项目中创建议题:
-
带有预填充的标题和描述:
https://gitlab.com/gitlab-org/gitlab/-/issues/new?issue[title]=Whoa%2C%20we%27re%20half-way%20there&issue[description]=Whoa%2C%20livin%27%20in%20a%20URL
-
使用预填充的标题和描述模板:
https://gitlab.com/gitlab-org/gitlab/-/issues/new?issue[title]=Validate%20new%20concept&issuable_template=Feature%20Proposal%20-%20basic
-
带有预填充的标题、描述并标记为机密:
https://gitlab.com/gitlab-org/gitlab/-/issues/new?issue[title]=Validate%20new%20concept&issue[description]=Research%20idea&issue[confidential]=true
使用服务台
要提供电子邮件支持,请为您的项目启用服务台。
现在,当您的客户发送新电子邮件时,可以在适当的项目中创建新议题并从那里跟进。
新建议题表单中的字段
迭代字段引入于 15.6 版本。
创建新议题时,您可以填写以下字段:
- 标题
- 类型:issue(默认)或 incident
- 描述模板:覆盖描述文本框中的任何内容
- 描述:您可以使用 Markdown 和 快速操作
- 使问题具有机密性的复选框
- 指派人
- 权重
- 史诗
- 截止日期
- 里程碑
- 标记
- 迭代
编辑议题
重新排序列表项功能引入于 15.0 版本。
您可以编辑议题的标题和描述。
先决条件:
- 您必须至少具有该项目的报告者角色,作为议题的作者,或被分配给议题。
要编辑问题:
- 在标题右侧,选择 编辑标题和描述 ()。
- 编辑可用字段。
- 选择 保存修改。
重新排序议题描述中的列表项
引入于 15.0 版本。
当您查看描述中包含列表的议题时,您还可以对列表项重新排序。
先决条件:
要重新排序列表项,在查看问题时:
- 将鼠标悬停在列表项行上,使拖动图标 () 可见。
- 单击并按住拖动图标。
- 将该行拖到列表中的新位置。
- 释放拖动图标。
批量编辑项目中的议题
当您在一个项目中时,您可以一次编辑多个议题。
先决条件:
- 您必须至少具有该项目的报告者角色。
同时编辑多个议题:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏上,选择 议题。
- 选择 编辑议题。屏幕右侧会出现一个侧边栏。
- 选中您要编辑的每个议题旁边的复选框。
- 从侧边栏中,编辑可用字段。
- 选择 全部更新。
在项目中批量编辑议题时,您可以编辑以下属性:
批量编辑群组中的议题
当您在一个群组中时,您可以跨多个项目编辑多个议题。
先决条件:
- 您必须至少具有该项目的报告者角色。
同时编辑多个议题:
- 在顶部栏上,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏上,选择 议题。
- 选择 编辑议题。屏幕右侧会出现一个侧边栏。
- 选中您要编辑的每个议题旁边的复选框。
- 从侧边栏中,编辑可用字段。
- 选择 全部更新。
在群组中批量编辑议题时,您可以编辑以下属性:
移动议题
当您移动议题时,它会关闭并复制到目标项目。 原始议题没有被删除。系统注释被添加到两个议题中,显示它来源和qu’xiang。
将议题移至具有不同访问规则的项目时要小心。在移动议题之前,请确保它不包含敏感数据。
先决条件:
- 您必须至少具有该项目的报告者角色。
移动问题:
- 转到议题。
- 在右侧边栏上,选择 移动议题。
- 搜索将议题移至的项目。
- 选择 移动。
批量移动议题
从议题列表
引入于 15.6 版本。
当您在一个项目中时,您可以同时移动多个议题。 您不能移动任务或测试用例。
先决条件:
- 您必须至少具有该项目的报告者角色。
同时移动多个议题:
- 在顶部栏中,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 议题。
- 选择 编辑议题。屏幕右侧会出现一个侧边栏。
- 选中您要移动的每个议题旁边的复选框。
- 从右侧边栏中选择 移动所选。
- 从下拉列表中选择目标项目。
- 选择 移动。
从 Rails 控制台
您可以将所有未解决的议题从一个项目移动到另一个项目。
先决条件:
- 您必须至少具有该项目的报告者角色。
- 可选(但推荐),在控制台中尝试任何更改之前创建备份。
- 打开 Rails 控制台。
-
运行以下脚本。确保将
project
、admin_user
和target_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(project: 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
- 要退出 Rails 控制台,请输入
quit
。
关闭议题
当您决定某个议题已解决或不再需要时,您可以关闭它。 该议题已标记为已关闭但未删除。
先决条件:
- 您必须至少具有该项目的报告者角色。
要关闭议题,您可以执行以下操作:
- 在议题的顶部,选择 关闭议题。
- 在议题看板中,将议题卡从其列表拖到 已关闭 列表中。
重新打开关闭的议题
先决条件:
- 您必须至少具有该项目的报告者角色。
要重新打开已关闭的议题,请在议题顶部选择 重启议题。 重新打开的问题与任何其他未解决的问题没有不同。
自动关闭议题
您可以通过在提交消息或 MR 描述中使用某些词来自动关闭议题。
如果提交消息或合并请求描述包含与定义的 pattern 匹配的文本,则在以下任一情况下,匹配文本中引用的所有议题都将关闭:
- 提交被推送到项目的默认分支。
- 提交或合并请求,合并到默认分支中。
例如,如果您在合并请求描述中包含 Closes #4, #6, Related to #5
:
- 合并 MR 时会自动关闭议题
#4
和#6
。 - 议题
#5
被标记为相关议题,但它不会自动关闭。
或者,当您从议题创建合并请求时,它会继承议题的里程碑和标签。
出于性能原因,从现有仓库第一次推送时禁用自动关闭议题。
默认关闭 pattern
要自动关闭议题,请使用以下关键字,后跟议题引用。
可用关键字:
- 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+))+)
禁用自动关闭议题
您可以在项目设置中按项目禁用自动议题关闭功能。
先决条件:
- 您必须至少具有该项目的维护者角色。
要禁用自动关闭议题:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏上,选择 设置 > 仓库。
- 展开 默认分支。
- 选择 在默认分支上自动关闭引用的议题。
- 选择 保存修改。
引用的议题仍会显示,但不会自动关闭。
更改此设置仅适用于新的合并请求或提交。已经关闭的议题保持原样。 禁用自动关闭议题仅适用于禁用了该设置的项目中的议题,在这个项目中,合并请求和提交仍然可以关闭另一个项目的议题。
更改议题类型
先决条件:
- 您必须是议题作者或至少具有项目的报告者角色。
要更改议题类型:
- 在标题右侧,选择 编辑标题和描述 ()。
-
编辑议题并从 议题类型 下拉列表中选择一个议题类型:
- Issue
- Incident
- 选择 保存修改.
删除议题
从垂直省略号菜单中删除议题引入于 14.6 版本
先决条件:
- 您必须具有项目的所有者角色。
要删除议题:
- 在一个议题中,选择垂直省略号 ()。
- 选择 删除议题。
或者:
- 在一个议题中,选择 编辑标题和描述 ()。
- 选择 删除议题。
将议题提升为史诗
您可以将议题提升到直接父组中的史诗。
将议题提升为史诗:
- 在一个议题中,选择垂直省略号 ()。
- 选择 提升为史诗。
或者,您可以使用 /promote
快速操作。
向迭代添加议题
将议题添加到迭代:
- 转到议题。
- 在右侧边栏的 迭代 部分,选择 编辑。
- 从下拉列表中,选择要与此议题关联的迭代。
- 选择下拉列表之外的任何区域。
或者,您可以使用 /iteration
快速操作。
查看指派给您的所有议题
要查看指派给您的所有议题:
- 在顶部栏上,将光标放在 搜索 框中。
- 从下拉列表中,选择 指派给我的议题。
或者:
- 要使用键盘快捷键,请按 Shift + i。
- 在顶部栏的右上角,选择 议题。
过滤议题列表
- 按迭代过滤功能引入于 13.6 版本。
- 按迭代过滤功能从旗舰版移动到专业版于 13.9 版本。
- 按类型过滤功能引入于 13.10 版本,功能标志为
vue_issues_list
。默认禁用。- 按类型过滤功能在私有化部署版上启用于 14.10 版本。
- 按类型过滤功能一般可用于 15.1 版本。功能标志
vue_issues_list
删除。- 按健康状态过滤功能引入于 15.5 版本。
要过滤议题列表:
- 在议题列表上方,选择 搜索或过滤结果…。
- 在出现的下拉列表中,选择您要过滤的属性。
- 选择或键入用于过滤属性的运算符。可以使用以下运算符:
-
=
:是 -
!=
:不是
-
- 输入文本,过滤属性。您可以使用 None 或 Any 过滤某些属性。
- 重复此过程,按多个属性进行过滤。多个属性由逻辑
AND
连接。
按 ID 过滤议题
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 议题 > 列表。
- 在 搜索 框中,输入议题 ID。例如,输入过滤器
#10
,仅返回议题 10。
复制议题引用
要引用实例中其他地方的议题,您可以使用其完整 URL 或简短引用,类似于 namespace/project-name#123
,其中 namespace
是群组或用户名。
要将议题引用复制到剪贴板:
- 转到议题。
- 在右侧边栏的 引用 旁边,选择 复制引用 ()。
您现在可以将引用粘贴到另一个描述或评论中。
复制议题电子邮件地址
您可以通过发送电子邮件在议题中创建评论。 向此地址发送电子邮件会创建包含电子邮件正文的评论。
要复制议题的电子邮件地址:
- 转到议题。
- 在右侧边栏 发邮件 旁边,选择 复制引用 ()。
实时侧边栏
- 引入于 13.3 版本。默认禁用。
- 启用于自助管理版于 14.5 版本。
- 普遍可用于 14.9 版本。功能
real_time_issue_sidebar
和broadcast_issue_updates
已移除。
右侧边栏的某些部分实时更新。 当您查看议题并且有人更改了其中一个值时,您无需刷新页面即可看到更改。
以下部分实时更新:
- 指派人
- 标记(如果启用)
指派人
一个问题可以分配给一个或多个用户。
指派人可以根据需要随时更改,指派人是对议题负责的人。 当一个议题被分配给某人时,它会出现在他们分配的议题列表中。
如果用户不是项目的成员,则只能将议题分配给他们,前提是他们自己创建议题或其他项目成员将议题分配给他们。
要更改议题的指派人:
- 转到您的议题。
- 在右侧边栏的 指派人 部分中,选择 编辑。
- 从下拉列表中选择要添加为指派人的用户。
- 选择下拉列表之外的任何区域。
类似议题
为防止同一主题出现重复议题,系统在您创建新议题时会搜索类似议题。
先决条件:
- GraphQL 必须启用。
当您在 新建议题 页面的标题文本框中键入时,系统会在当前项目中的所有议题中搜索标题和描述。仅返回您有权访问的议题。 标题文本框下方最多显示五个类似议题,按最近更新排序。
健康状态
为了帮助您跟踪议题状态,您可以为每个议题分配一个状态。 此状态将议题标记为按计划进行,或需要注意以按计划进行。
先决条件:
- 您必须至少具有该项目的报告者角色。
要编辑议题的运行状况:
- 转到议题。
- 在右侧边栏的 健康状态 部分,选择 编辑。
-
从下拉列表中,选择要添加到此问题的状态:
- On track (green)
- Needs attention (amber)
- At risk (red)
您可以在以下位置查看议题的运行状况:
- 议题列表
- 史诗树
- 议题看板上的议题卡片
议题关闭后,无法编辑其运行状况,并且在重新打开议题之前 编辑 按钮将变为禁用状态。
发布议题
如果状态页面应用程序与项目相关联,您可以使用 /publish
快速操作 发布议题。
与议题相关的快速操作
您还可以使用快速操作来管理议题。
某些操作还没有相应的 UI 按钮。 您可以仅通过使用快速操作来执行以下操作:
-
添加或删除 Zoom 会议(
/zoom
和/remove_zoom
)。 -
发布议题 (
/publish
)。 - 将议题克隆到同一个或另一个项目 (
/clone
)。 - 关闭一个议题并将其标记为另一个议题的副本(
/duplicate
)。 - 从项目中的另一个合并请求或议题中复制标记和里程碑 (
/copy_metadata
)。