Tasks

Version history

Known limitation:

For the latest updates, check the Tasks Roadmap.

On self-managed GitLab, by default this feature is available. To hide the feature, an administrator can disable the feature flags named work_items. On GitLab.com, this feature is available.

Use tasks to track steps needed for the issue to be closed.

When planning an issue, you need a way to capture and break down technical requirements or steps necessary to complete it. An issue with related tasks is better defined, and so you can provide a more accurate issue weight and completion criteria.

Tasks are a type of work item, a step towards default issue types in GitLab. For the roadmap of migrating issues and epics to work items and adding custom work item types, see epic 6033 or the Plan direction page.

View tasks

View tasks in issues, in the Tasks section.

You can also filter the list of issues for Type = task.

If you select a task from an issue, it opens in a dialog window. If you select a task to open in a new browser tab, or select it from the issue list, the task opens in a full-page view.

Create a task

Prerequisites:

  • You must have at least the Reporter role for the project, or the project must be public.

To create a task:

  1. In the issue description, in the Tasks section, select Add.
  2. Select New task.
  3. Enter the task title.
  4. Select Create task.

From a task list item

Introduced in GitLab 15.9.

Prerequisites:

  • You must have at least the Reporter role for the project.

In an issue description with task list items:

  1. Hover over a task list item and select the options menu ().
  2. Select Convert to task.

The task list item is removed from the issue description and a task is created in the tasks widget from its contents. Any nested task list items are moved up a nested level.

Add existing tasks to an issue

Introduced in GitLab 15.6.

Prerequisites:

  • You must have at least the Guest role for the project, or the project must be public.

To add a task:

  1. In the issue description, in the Tasks section, select Add.
  2. Select Existing task.
  3. Search tasks by title.
  4. Select one or multiple tasks to add to the issue.
  5. Select Add task.

Edit a task

Prerequisites:

  • You must have at least the Reporter role for the project.

To edit a task:

  1. In the issue description, in the Tasks section, select the task you want to edit. The task window opens.
  2. Optional. To edit the title, select it and make your changes.
  3. Optional. To edit the description, select the edit icon (), make your changes, and select Save.
  4. Select the close icon ().

Using the rich text editor

Version history
  • Rich text editing in the dialog view introduced in GitLab 15.6 with a flag named work_items_mvc. Disabled by default.
  • Rich text editing in the full page view introduced in GitLab 15.7.
On self-managed GitLab, by default the rich text feature is not available. To make it available per group, ask an administrator to enable the feature flag named work_items_mvc. On GitLab.com, this feature is not available. The feature is not ready for production use.

Use a rich text editor to edit a task’s description.

Prerequisites:

  • You must have at least the Reporter role for the project.

To edit the description of a task:

  1. In the Tasks section, select the title of the task you want to edit. The task window opens.
  2. Next to Description, select the edit icon (). The description text box appears.
  3. Above the text box, select Rich text.
  4. Make your changes, and select Save.

Promote a task to an issue

Introduced in GitLab 16.1.

Prerequisites:

  • You must have at least the Reporter role for the project.

To promote a task to an issue, use the /promote_to issue quick action.

Remove a task from an issue

Prerequisites:

  • You must have at least the Reporter role for the project.

You can remove a task from an issue. The task is not deleted, but the two are no longer connected. It’s not possible to connect them again.

To remove a task from an issue:

  1. In the issue description, in the Tasks section, next to the task you want to remove, select the options menu ().
  2. Select Remove task.

Delete a task

Prerequisites:

  • You must either:
    • Be the author of the task and have at least the Guest role for the project.
    • Have the Owner role for the project.

To delete a task:

  1. In the issue description, in the Tasks section, select the task you want to edit.
  2. In the task window, in the options menu (), select Delete task.
  3. Select OK.

Reorder tasks

Introduced in GitLab 16.0.

Prerequisites:

  • You must have at least the Reporter role for the project.

By default, tasks are ordered by creation date. To reorder them, drag them around.

Assign users to a task

Introduced in GitLab 15.4.

To show who is responsible for a task, you can assign users to it.

Users on GitLab Free can assign one user per task. Users on GitLab Premium and Ultimate can assign multiple users to a single task. See also multiple assignees for issues.

Prerequisites:

  • You must have at least the Reporter role for the project.

To change the assignee on a task:

  1. In the issue description, in the Tasks section, select the title of the task you want to edit. The task window opens.
  2. Next to Assignees, select Add assignees.
  3. From the dropdown list, select the users to add as an assignee.
  4. Select any area outside the dropdown list.

Assign labels to a task

Introduced in GitLab 15.5.

Prerequisites:

  • You must have at least the Reporter role for the project.

To add labels to a task:

  1. In the issue description, in the Tasks section, select the title of the task you want to edit. The task window opens.
  2. Next to Labels, select Add labels.
  3. From the dropdown list, select the labels to add.
  4. Select any area outside the dropdown list.

Set a start and due date

Version history

You can set a start and due date on a task.

Prerequisites:

  • You must have at least the Reporter role for the project.

You can set start and due dates on a task to show when work should begin and end.

To set a due date:

  1. In the issue description, in the Tasks section, select the title of the task you want to edit. The task window opens.
  2. If the task already has a due date next to Due date, select it. Otherwise, select Add due date.
  3. In the date picker, select the desired due date.

To set a start date:

  1. In the issue description, in the Tasks section, select the title of the task you want to edit. The task window opens.
  2. If the task already has a start date next to Start date, select it. Otherwise, select Add start date.
  3. In the date picker, select the desired due date.

    The due date must be the same or later than the start date. If you select a start date to be later than the due date, the due date is then changed to the same day.

Add a task to a milestone

Version history

You can add a task to a milestone. You can see the milestone title when you view a task. If you create a task for an issue that already belongs to a milestone, the new task inherits the milestone.

Prerequisites:

  • You must have at least the Reporter role for the project.

To add a task to a milestone:

  1. In the issue description, in the Tasks section, select the title of the task you want to edit. The task window opens.
  2. Next to Milestone, select Add to milestone. If a task already belongs to a milestone, the dropdown list shows the current milestone.
  3. From the dropdown list, select the milestone to be associated with the task.

Set task weight

Introduced in GitLab 15.3.

Prerequisites:

  • You must have at least the Reporter role for the project.

You can set weight on each task to show how much work it needs. This value is visible only when you view a task.

To set issue weight of a task:

  1. In the issue description, in the Tasks section, select the title of the task you want to edit. The task window opens.
  2. Next to Weight, enter a whole, positive number.
  3. Select the close icon ().

Add a task to an iteration

Version history
On self-managed GitLab, by default this feature is available. To hide the feature, an administrator can disable the feature flag named work_items_mvc. On GitLab.com, this feature is available.

You can add a task to an iteration. You can see the iteration title and period only when you view a task.

Prerequisites:

  • You must have at least the Reporter role for the project.

To add a task to an iteration:

  1. In the issue description, in the Tasks section, select the title of the task you want to edit. The task window opens.
  2. Next to Iteration, select Add to iteration.
  3. From the dropdown list, select the iteration to be associated with the task.

View task system notes

Version history

You can view all the system notes related to the task. By default they are sorted by Oldest first. You can always change the sorting order to Newest first, which is remembered across sessions. You can also filter activity by Comments only and History only in addition to the default All activity which is remembered across sessions.

Comments and threads

You can add comments and reply to threads in tasks.

Copy task reference

Introduced in GitLab 16.1.

To refer to a task elsewhere in GitLab, you can use its full URL or a short reference, which looks like namespace/project-name#123, where namespace is either a group or a username.

To copy the task reference to your clipboard:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Plan > Issues, then select your task to view it.
  3. In the top right corner, select the vertical ellipsis (), then select Copy Reference.

You can now paste the reference into another description or comment.

For more information about task references, see GitLab-Flavored Markdown.

Copy task email address

Introduced in GitLab 16.1.

You can create a comment in a task by sending an email. Sending an email to this address creates a comment that contains the email body.

For more information about creating comments by sending an email and the necessary configuration, see Reply to a comment by sending email.

To copy the task’s email address:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Plan > Issues, then select your issue to view it.
  3. In the top right corner, select the vertical ellipsis (), then select Copy task email address.

Confidential tasks

Introduced in GitLab 15.3.

Confidential tasks are tasks visible only to members of a project with sufficient permissions. You can use confidential tasks to keep security vulnerabilities private or prevent surprises from leaking out.

Make a task confidential

By default, tasks are public. You can make a task confidential when you create or edit it.

Prerequisites:

  • You must have at least the Reporter role for the project.
  • If the task has a parent issue which is non-confidential, and you want to make the issue confidential, you must first make all the child tasks confidential. A confidential issue can have only confidential children.

In a new task

When you create a new task, a checkbox right below the text area is available to mark the task as confidential.

Check that box and select Create task.

In an existing task

To change the confidentiality of an existing task:

  1. Open the task.
  2. In the top right corner, select the vertical ellipsis ().
  3. Select Turn on confidentiality.

Who can see confidential tasks

When a task is made confidential, only users with at least the Reporter role for the project have access to the task. Users with Guest or Minimal roles can’t access the task even if they were actively participating before the change.

However, a user with the Guest role can create confidential tasks, but can only view the ones that they created themselves.

Users with the Guest role or non-members can read the confidential task if they are assigned to the task. When a Guest user or non-member is unassigned from a confidential task, they can no longer view it.

Confidential tasks are hidden in search results for users without the necessary permissions.

Confidential task indicators

Confidential tasks are visually different from regular tasks in a few ways. Wherever tasks are listed, you can see the confidential () icon next to the tasks that are marked as confidential.

If you don’t have enough permissions, you cannot see confidential tasks at all.

Likewise, while inside the task, you can see the confidential () icon right next to the breadcrumbs.

Every change from regular to confidential and vice versa, is indicated by a system note in the task’s comments, for example:

  • Jo Garcia made the issue confidential 5 minutes ago
  • Jo Garcia made the issue visible to everyone just now

Two-column layout

Introduced in GitLab 16.2 with a flag named work_items_mvc_2. Disabled by default.

On self-managed GitLab, by default this feature is not available. To make it available, an administrator can enable the feature flag named work_items_mvc_2. On GitLab.com, this feature is not available. This feature is not ready for production use.

When enabled, tasks use a two-column layout, similar to issues. The description and threads are on the left, and attributes, such as labels or assignees, on the right.

Task two column view