- Milestones as Agile sprints
- Milestones as releases
- Project milestones and group milestones
- Creating milestones
- Editing milestones
- Assigning milestones from the sidebar
- Filtering issues and merge requests by milestone
- Milestone view
Milestones in GitLab are a way to track issues and merge requests created to achieve a broader goal in a certain period of time.
Milestones allow you to organize issues and merge requests into a cohesive group, with an optional start date and an optional due date.
Milestones can be used as Agile sprints so that you can track all issues and merge requests related to a particular sprint. To do so:
- Set the milestone start date and due date to represent the start and end of your Agile sprint.
- Set the milestone title to the name of your Agile sprint, such as
November 2018 sprint.
- Add an issue to your Agile sprint by associating the desired milestone from the issue’s right-hand sidebar.
Similarly, milestones can be used as releases. To do so:
- Set the milestone due date to represent the release date of your release and leave the milestone start date blank.
- Set the milestone title to the version of your release, such as
- Add an issue to your release by associating the desired milestone from the issue’s right-hand sidebar.
Additionally, you can integrate milestones with the Releases feature.
You can assign project milestones to issues or merge requests in that project only. To view the project milestone list, in a project, go to Issues > Milestones.
You can assign group milestones to any issue or merge request of any project in that group. To view the group milestone list, in a group, go to Issues > Milestones.
You can also view all milestones you have access to in the dashboard milestones list. To view both project milestones and group milestones you have access to, select Menu > Milestones on the top bar.
For information about project and group milestones API, see:
Users with at least the Developer role can create milestones.
Milestones can be created either at project or group level.
To create a milestone:
- On the top bar, select Menu > Projects and find your project or Menu > Groups and find your group.
- On the left sidebar, select Issues > Milestones.
- Select New milestone.
- Enter the title, an optional description, an optional start date, and an optional due date.
- Select New milestone.
Users with at least the Developer role can edit milestones.
To edit a milestone:
- In a project or group, go to Issues > Milestones.
- Select a milestone’s title.
- Select Edit.
You can delete a milestone by selecting the Delete button.
If you are expanding the number of projects in a group, you might want to share the same milestones among this group’s projects. You can also promote project milestones to group milestones in order to make them available to other projects in the same group.
From the project milestone list page, you can promote a project milestone to a group milestone. This merges all project milestones across all projects in this group with the same name into a single group milestones. All issues and merge requests that were previously assigned to one of these project milestones is assigned the new group milestones. This action cannot be reversed and the changes are permanent.
Every issue and merge request can be assigned a milestone. The milestones are visible on every issue and merge request page, in the sidebar. They are also visible in the issue board. From the sidebar, you can assign or unassign a milestones to the object. You can also perform this as a quick action in a comment. As mentioned, for a given issue or merge request, both project milestones and group milestones can be selected and assigned to the object.
From the project and group issue/merge request list pages, you can filter by both group and project milestones.
From project issue boards, you can filter by both group milestones and project milestones in:
From group issue boards, you can filter by only group milestones in:
When filtering by milestone, in addition to choosing a specific project milestone or group milestone, you can choose a special milestone filter.
- None: Show issues or merge requests with no assigned milestone.
- Any: Show issues or merge requests that have an assigned milestone.
- Upcoming: Show issues or merge requests that have been assigned the open milestone and has the nearest due date in the future.
- Started: Show issues or merge requests that have an open assigned milestone with a start date that is before today.
The milestone view shows the title and description.
There are also tabs below these that show the following:
Issues: Shows all issues assigned to the milestone. These are displayed in three columns named:
- Unstarted Issues (open and unassigned)
- Ongoing Issues (open and assigned)
- Completed Issues (closed)
Merge Requests: Shows all merge requests assigned to the milestone. These are displayed in four columns named:
- Work in progress (open and unassigned)
- Waiting for merge (open and assigned)
- Rejected (closed)
- Participants: Shows all assignees of issues assigned to the milestone.
- Labels: Shows all labels that are used in issues assigned to the milestone.
The milestone view contains a burndown and burnup chart, showing the progress of completing a milestone.
The milestone sidebar on the milestone view shows the following:
- Percentage complete, which is calculated as number of closed issues divided by total number of issues.
- The start date and due date.
- The total time spent on all issues and merge requests assigned to the milestone.
- The total issue weight of all issues assigned to the milestone.