Help us learn about your current experience with the documentation. Take the survey.

任务

  • 版本:Free, Premium, Ultimate
  • 提供:GitLab.com, GitLab Self-Managed, GitLab Dedicated

此功能的可用性由功能标志控制。 有关更多信息,请查看历史记录。

GitLab 中的任务是一种可以在 issue 中创建的规划项。 使用任务将 issues 中捕获的用户故事分解为 更小的、可追踪的项。

在规划 issue 时,您需要一种方式来捕获和分解完成它所必需的 技术要求或步骤。带有相关任务的 issue 定义更清晰, 因此您可以提供更准确的 issue 权重和完成标准。

有关最新更新,请查看 任务路线图

任务是工作项的一种类型,是 GitLab 中 默认 issue 类型 的演进方向。 有关将 issues 和 epics 迁移到工作项以及添加自定义工作项类型的路线图, 请参见 epic 6033规划方向页面

查看任务

在 issues 的 子项 部分中查看任务。

您也可以 过滤 issue 列表 以查找 Type = task

如果您从 issue 中选择任务,它会在对话框窗口中打开。 如果您选择在新浏览器标签页中打开任务,或从 issue 列表中选择任务, 任务将以全页视图打开。

创建任务

先决条件:

  • 您必须至少拥有项目的 Guest 角色,或者项目必须是公开的。

创建任务:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择 添加
  4. 选择 新任务
  5. 输入任务标题。
  6. 选择创建新任务的 项目
  7. 选择 创建任务

从任务列表项创建

先决条件:

  • 您必须至少拥有项目的 Guest 角色。
  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,将鼠标悬停在任务列表项上并选择选项菜单( ellipsis_v )。
  4. 选择 转换为任务

任务列表项将从 issue 描述中移除,并根据其内容在任务小部件中创建任务。 任何嵌套的任务列表项都会向上移动一个嵌套级别。

向 issue 添加现有任务

先决条件:

  • 您必须至少拥有项目的 Guest 角色,或者项目必须是公开的。

添加任务:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择 添加
  4. 选择 现有任务
  5. 按标题搜索任务。
  6. 选择一个或多个要添加到 issue 的任务。
  7. 选择 添加任务

编辑任务

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

编辑任务:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务。 任务窗口将打开。
  4. 可选。要编辑标题,请选择它并进行更改。
  5. 可选。要编辑描述,请选择编辑图标( pencil ),进行更改,然后 选择 保存
  6. 选择关闭图标( close )。

使用富文本编辑器

使用富文本编辑器编辑任务的描述。

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

编辑任务描述:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。
  4. 描述 旁边,选择编辑图标( pencil )。描述文本框将出现。
  5. 在文本框上方,选择 富文本
  6. 进行更改,然后选择 保存

将任务提升为 issue

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

将任务提升为 issue:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。

  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。

  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务。 任务窗口将打开。

  4. 取消链接父 issue 并提升任务:在任务窗口中,在单独的评论中使用这两个 快速操作

    /remove_parent
    /promote_to issue

任务将转换为 issue 并获得带有 /issues/ 的新 URL。 带有 /work_items/ 的先前 URL 仍然有效。

将任务转换为其他项类型

将任务转换为其他项类型,例如:

  • Issue
  • Objective(目标)
  • Key result(关键结果)

如果目标类型不支持原始类型的所有字段,更改类型可能会导致数据丢失。

先决条件:

  • 您要转换的任务不能分配有父项。

将任务转换为其他项类型:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues
  3. 在 issue 列表中,找到您的任务。
  4. 可选。如果任务已分配父 issue,请移除它。 在任务中添加带有 /remove_parent 快速操作的评论。
  5. 在右上角,选择 更多操作 ellipsis_v ),然后选择 更改类型
  6. 选择所需的项类型。
  7. 如果满足所有条件,选择 更改类型

或者,您可以在评论中使用 /type 快速操作,后跟 issueobjectivekey result

从 issue 中移除任务

先决条件:

  • 您必须至少拥有项目的 Guest 角色。

您可以从 issue 中移除任务。任务不会被删除,但两者不再关联。 无法再次将它们关联起来。

从 issue 中移除任务:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要移除的任务旁边的选项菜单( ellipsis_v )。
  4. 选择 移除任务

删除任务

先决条件:

  • 您必须满足以下条件之一:
    • 是任务的作者并且至少拥有项目的 Guest 角色。
    • 拥有项目的 Planner 或 Owner 角色。

删除任务:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务。
  4. 在任务窗口中,在选项菜单( ellipsis_v )中,选择 删除任务
  5. 选择 确定

重新排序任务

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

默认情况下,任务按创建日期排序。 要重新排序,请拖动它们。

更改状态

  • 版本:Premium, Ultimate
  • 提供:GitLab.com, GitLab Self-Managed, GitLab Dedicated

此功能的可用性由功能标志控制。 有关更多信息,请查看历史记录。

您可以为任务分配状态以跟踪其在工作流程中的进度。状态提供比基本的开/关状态更细粒度的跟踪,允许您使用特定的阶段,如 进行中已完成不做

有关状态的更多信息,包括如何配置自定义状态,请参见 状态

先决条件:

  • 您必须至少拥有项目的 Planner 角色,是任务的作者,或被分配到任务。

更改任务状态:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的任务进行查看。
  3. 在右侧边栏的 状态 部分,选择 编辑
  4. 从下拉列表中选择状态。

任务状态会立即更新。

您还可以使用 /status 快速操作 设置状态。

为任务分配用户

要显示谁负责任务,您可以为任务分配用户。

GitLab Free 用户每个任务可以分配一个用户。 GitLab Premium 和 Ultimate 用户可以将多个用户分配到单个任务。 另请参见 issues 的多个指派人

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

更改任务指派人:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。
  4. 指派人 旁边,选择 添加指派人
  5. 从下拉列表中选择要添加为指派人的用户。
  6. 选择下拉列表外的任何区域。

为任务分配标签

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

为任务添加 标签

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。任务窗口将打开。
  4. 标签 旁边,选择 添加标签
  5. 从下拉列表中选择要添加的标签。
  6. 选择下拉列表外的任何区域。

设置开始和截止日期

您可以在任务上设置 开始和截止日期

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

您可以在任务上设置开始和截止日期,以显示工作何时开始和结束。

设置截止日期:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。
  4. 如果任务在 截止日期 旁边已有截止日期,请选择它。否则,选择 添加截止日期
  5. 在日期选择器中,选择所需的截止日期。

设置开始日期:

  1. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。

  2. 如果任务在 开始日期 旁边已有开始日期,请选择它。否则,选择 添加开始日期

  3. 在日期选择器中,选择所需的截止日期。

    截止日期必须与开始日期相同或晚于开始日期。 如果您选择的开始日期晚于截止日期,则截止日期将更改为同一天。

将任务添加到里程碑

您可以将任务添加到 里程碑。 查看任务时,您可以看到里程碑标题。 如果您为已属于里程碑的 issue 创建任务, 新任务将继承该里程碑。

先决条件:

  • 您必须至少拥有项目的 Planner 角色。

将任务添加到里程碑:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。
  4. 里程碑 旁边,选择 添加到里程碑。 如果任务已属于里程碑,下拉列表将显示当前里程碑。
  5. 从下拉列表中选择要与任务关联的里程碑。

设置任务权重

  • 版本:Premium, Ultimate
  • 提供:GitLab.com, GitLab Self-Managed, GitLab Dedicated

先决条件:

  • 您必须至少拥有项目的 Reporter 角色。

您可以在每个任务上设置权重以显示其需要多少工作量。 此值仅在查看任务时可见。

设置任务的 issue 权重:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。
  4. 权重 旁边,选择 编辑
  5. 输入一个完整的正数。
  6. 选择 应用 或按 Enter

将任务添加到迭代

  • 版本:Premium, Ultimate

您可以将任务添加到 迭代。 仅在查看任务时,您可以看到迭代标题和周期。

先决条件:

  • 您必须至少拥有项目的 Reporter 角色。

将任务添加到迭代:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。
  4. 迭代 旁边,选择 添加到迭代
  5. 从下拉列表中选择要与任务关联的迭代。

估算和跟踪花费时间

您可以估算和跟踪在任务上花费的时间。

有关更多信息,请参见 时间跟踪

防止使用"阅读更多"截断描述

如果任务描述很长,GitLab 只会显示部分内容。 要查看完整描述,您必须选择 阅读更多。 这种截断使得无需滚动冗长文本即可找到页面上的其他元素。

更改是否截断描述:

  1. 在任务上,在右上角,选择 更多操作 ellipsis_v )。
  2. 根据您的偏好切换 截断描述

此设置会被记住,并影响所有 issues、任务、epics、objectives 和 key results。

隐藏右侧边栏

任务属性在描述右侧的边栏中显示(空间允许时)。 要隐藏边栏并为描述增加空间:

  1. 在任务上,在右上角,选择 更多操作 ellipsis_v )。
  2. 选择 隐藏边栏

此设置会被记住,并影响所有 issues、任务、epics、objectives 和 key results。

再次显示边栏:

  • 重复前面的步骤并选择 显示边栏

查看任务系统备注

您可以查看与任务相关的所有系统备注。默认情况下,它们按 最早优先 排序。 您可以随时将排序顺序更改为 最新优先,此设置会在会话间保持。 除了默认的 所有活动 外,您还可以按 仅评论仅历史 过滤活动,此设置也会在会话间保持。

评论和线程

您可以在任务中添加 评论 和回复线程。

复制任务引用

要在 GitLab 的其他地方引用任务,您可以使用其完整 URL 或短引用,格式为 命名空间/项目名称#123,其中 命名空间 是组或用户名。

复制任务引用到剪贴板:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您的任务。
  4. 在右上角,选择垂直省略号( ellipsis_v ),然后选择 复制引用

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

有关任务引用的更多信息,请参见 GitLab 风格 Markdown

复制任务电子邮件地址

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

有关通过发送电子邮件创建评论和必要配置的更多信息,请参见 通过发送电子邮件回复评论

复制任务的电子邮件地址:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在右上角,选择垂直省略号( ellipsis_v ),然后选择 复制任务电子邮件地址

设置 issue 作为父项

先决条件:

  • 您必须至少拥有项目的 Guest 角色。
  • issue 和任务必须属于同一项目。

将 issue 设置为任务的父项:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您要编辑的任务标题。 任务窗口将打开。
  4. 父项 旁边,从下拉列表中选择要添加的父项。
  5. 选择下拉列表外的任何区域。

要移除任务的父项, 在 父项 旁边,选择下拉列表,然后选择 取消分配

保密任务

保密任务是仅对具有 足够权限 的项目成员可见的任务。 您可以使用保密任务来保持安全漏洞的私密性,或防止意外信息泄露。

使任务保密

默认情况下,任务是公开的。 您可以在创建或编辑任务时使其保密。

先决条件:

  • 您必须至少拥有项目的 Reporter 角色。
  • 如果任务有非保密的父 issue,并且您想使 issue 保密, 您必须首先使所有子任务保密。 保密 issue 只能有保密的子任务。

在新任务中

创建新任务时,文本区域下方有一个复选框,用于将任务标记为保密。

选中该复选框并选择 创建任务

在现有任务中

更改现有任务的保密性:

  1. 打开任务
  2. 在右上角,选择垂直省略号( ellipsis_v )。
  3. 选择 开启保密性

谁可以查看保密任务

当任务被设为保密时,只有至少拥有项目 Reporter 角色的用户才能访问该任务。 拥有 Guest 或 最小权限 角色的用户无法访问 该任务,即使他们在更改之前曾积极参与。

但是,拥有 Guest 角色 的用户可以创建保密任务,但只能查看自己创建的任务。

拥有 Guest 角色或非成员的用户如果被分配到任务,可以读取保密任务。 当 Guest 用户或非成员从保密任务中被取消分配时,他们将无法再查看它。

对于没有足够权限的用户,保密任务在搜索结果中被隐藏。

保密任务指示器

保密任务在几个方面与普通任务视觉上不同。 在列出任务的地方,您可以看到保密任务旁边有保密( eye-slash )图标。

如果您没有 足够的权限, 您根本看不到保密任务。

同样,在任务内部,您可以在面包屑旁边看到保密( eye-slash )图标。

从普通到保密以及反之的每次更改,都会在任务的评论中通过系统备注指示,例如:

  • eye-slash Jo Garcia 5 分钟前将 issue 设为保密
  • eye Jo Garcia 刚刚将 issue 设为对所有人可见

锁定讨论

  • 状态:Beta

此功能的可用性由功能标志控制。 有关更多信息,请查看历史记录。 此功能可用于测试,但尚未准备好用于生产环境。

您可以防止在任务中进行公开评论。 当您这样做时,只有项目成员可以添加和编辑评论。

先决条件:

  • 您必须至少拥有 Reporter 角色。

锁定任务:

  1. 在右上角,选择垂直省略号( ellipsis_v )。
  2. 选择 锁定讨论

系统备注将添加到页面详细信息中。

如果任务在讨论锁定时被关闭,那么在讨论解锁之前您无法重新打开它。

两列布局

  • 状态:Beta

此功能的可用性由功能标志控制。 有关更多信息,请查看历史记录。 此功能可用于测试,但尚未准备好用于生产环境。

启用后,任务使用两列布局,类似于 issues。 描述和线程在左侧,属性(如标签或指派人)在右侧。

此功能处于 beta 阶段。 如果您发现错误,请在反馈 issue 中评论

任务两列视图

任务中的关联项

关联项是双向关系,并在表情反应下方的区块中显示。您可以在同一项目中将 objective、key result 或任务相互关联。

只有当用户可以同时查看两个项目时,关系才会在 UI 中显示。

添加关联项

先决条件:

  • 您必须至少拥有项目的 Guest 角色。

将项关联到任务:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您的任务。
  4. 在任务的 关联项 部分, 选择 添加
  5. 选择两个项之间的关系。可以是:
    • 关联到
    • 阻塞
    • 被阻塞
  6. 输入项的搜索文本、URL 或其引用 ID。
  7. 当您添加完所有要关联的项后,选择搜索框下方的 添加

添加完所有关联项后,您可以看到它们被分类,以便更好地可视化理解其关系。

关联项区块

移除关联项

先决条件:

  • 您必须至少拥有项目的 Guest 角色。
  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 选择 规划 > Issues,然后选择您的 issue 进行查看。
  3. 在 issue 描述中,在 子项 部分,选择您的任务。
  4. 在任务的 关联项 部分,在每个项旁边,选择垂直 省略号( ellipsis_v )然后选择 移除

由于是双向关系,关系不再出现在任一项中。

添加合并请求并自动关闭任务

您可以设置任务在合并请求合并时关闭。

先决条件:

  • 您必须至少拥有包含合并请求的项目的 Developer 角色。
  • 您必须至少拥有包含任务的项目 Reporter 角色。
  1. 编辑您的合并请求。
  2. 描述 框中,找到并添加任务。
    • 使用您用于将合并请求添加到 issue 的 关闭模式
    • 如果您的任务与合并请求在同一项目中,您可以通过键入 # 后跟任务 ID 或标题来搜索您的任务。
    • 如果您的任务在不同的项目中,打开任务时,从浏览器复制 URL 或 通过在右上角选择垂直省略号( ellipsis_v )然后 复制引用 来复制任务引用。

合并请求现在将在主体中,在 开发 部分可见。

您必须使用确切的关闭模式将合并请求添加到任务。其他文本不起作用。

如果您的项目设置中启用了 自动关闭 issue,那么当以下任一情况发生时,任务将自动关闭:

  • 添加的合并请求被合并。
  • 提交带有关闭模式的任务的提交被提交到项目的默认分支。

相关主题