Iterations

Version history
  • Introduced in GitLab Starter 13.1.
  • It was deployed behind a feature flag, disabled by default.
  • Became enabled by default on GitLab 13.2.
  • It’s enabled on GitLab.com.
  • It’s able to be enabled or disabled per-group.
  • It’s recommended for production use.
  • For GitLab self-managed instances, GitLab administrators can opt to disable it.

Iterations are a way to track issues over a period of time. This allows teams to track velocity and volatility metrics. Iterations can be used with milestones for tracking over different time periods.

For example, you can use:

  • Milestones for Program Increments, which span 8-12 weeks.
  • Iterations for Sprints, which span 2 weeks.

In GitLab, iterations are similar to milestones, with a few differences:

  • Iterations are only available to groups.
  • A group can only have one active iteration at a time.
  • Iterations require both a start and an end date.
  • Iteration date ranges cannot overlap.

View the iterations list

To view the iterations list, in a group, go to Issues > Iterations. From there you can create a new iteration or click an iteration to get a more detailed view.

Create an iteration

Note: You need Developer permissions or higher to create an iteration.

To create an iteration:

  1. In a group, go to Issues > Iterations.
  2. Click New iteration.
  3. Enter the title, a description (optional), a start date, and a due date.
  4. Click Create iteration. The iteration details page opens.

Edit an iteration

Version history
Note: You need Developer permissions or higher to edit an iteration.

To edit an iteration, click the three-dot menu () > Edit iteration.

Add an issue to an iteration

To learn how to add an issue to an iteration, see the steps in Managing issues.

Disable Iterations

GitLab Iterations feature is deployed with a feature flag that is enabled by default. GitLab administrators with access to the GitLab Rails console can disable it for your instance. :group_iterations can be enabled or disabled per-group.

To enable it:

# Instance-wide
Feature.enable(:group_iterations)
# or by group
Feature.enable(:group_iterations, Group.find(<group ID>))

To disable it:

# Instance-wide
Feature.disable(:group_iterations)
# or by group
Feature.disable(:group_iterations, Group.find(<group ID>))