GitLab Milestones

A milestone groups issues and merge requests under one goal and one deadline. Teams use milestones to track a release, a sprint, or a campaign. A progress bar shows how much of the goal is finished.

Picture a road trip with named stops. Each stop is a milestone. Every task you finish brings the car closer to the next stop, and the map shows how far remains.

How Milestones Organize Work

  Milestone: Version 2.0   (1 Mar → 30 Apr)
  ┌────────────────────────────────────────────────┐
  │  Issue #12  Add dark mode            ✅ closed │
  │  Issue #15  Fix login timeout        ✅ closed │
  │  Issue #18  Export reports to CSV    ⏳ open   │
  │  MR   !7    Update payment form      ⏳ open   │
  └────────────────────────────────────────────────┘
  Progress: ████████░░░░  50 percent

Project Milestones and Group Milestones

TypeCreated InWorks For
Project milestoneOne projectItems in that project only
Group milestoneA groupItems across every project in the group

A product made of several repositories fits a group milestone. A single app with one repository fits a project milestone.

Create a Milestone

  1. Open your project or group.
  2. Select Plan and open Milestones.
  3. Select New milestone.
  4. Type a title such as "Version 2.0".
  5. Pick a start date and a due date.
  6. Add a short description of the goal.
  7. Select Create milestone.

Add Work to a Milestone

From the Issue Page

Open an issue and select Edit beside the Milestone field in the right sidebar. Pick the milestone from the list.

From a Comment

Quick actions save clicks. Type the command in a comment box and submit.

/milestone %"Version 2.0"

From the Issue List

Use bulk edit on the issue list to move many issues into one milestone at once.

Read the Milestone Page

The milestone page gathers everything in one view.

AreaWhat It Shows
Progress barShare of closed issues
Start and due datesThe time window for the goal
Issues tabUnstarted, ongoing, and completed issues
Merge requests tabCode changes tied to the goal
Participants tabPeople assigned to the work
Labels tabWork grouped by label

Combine Milestones with Boards

Issue boards can filter by milestone. A board for "Version 2.0" shows only the cards that belong to that release.

  Board filter: Milestone = Version 2.0

  To Do          In Progress       Review          Done
  ┌────────┐     ┌────────┐       ┌────────┐     ┌────────┐
  │ #18    │     │ #21    │       │ !7     │     │ #12    │
  │ CSV    │     │ Search │       │ Payment│     │ Dark   │
  │ export │     │ filter │       │ form   │     │ mode   │
  └────────┘     └────────┘       └────────┘     └────────┘

Close a Milestone

Open the milestone page and select Close milestone after the deadline or after the last issue closes. Closed milestones stay available for reports. Reopen one when plans change.

Open issues remain in a closed milestone. Move them to the next milestone before closing so that nothing disappears from the plan.

Planning Tips

  • Give each milestone one clear goal.
  • Set a due date that the team agreed on.
  • Size milestones for two to six weeks.
  • Review the progress bar in every weekly meeting.
  • Move late issues forward with a note that explains the delay.
  • Link a release to its milestone when the work ships.

Sample Milestone Plan

MilestoneGoalDates
Version 1.0Launch core features1 Jan to 15 Feb
Version 1.1Fix feedback bugs16 Feb to 15 Mar
Version 2.0Add reports and exports16 Mar to 30 Apr