Milestones allow you to organize issues and merge requests into a cohesive group,
optionally setting a due date. A common use is keeping track of an upcoming
software version. Milestones can be created per-project or per-group.
## Overview
## Creating a project milestone
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.
## Project milestones and group milestones
-**Project milestones** can be assigned to issues or merge requests in that project only.
-**Group milestones** can be assigned to any issue or merge request of any project in that group.
- In the [future](https://gitlab.com/gitlab-org/gitlab-ce/issues/36862), you will be able to assign group milestones to issues and merge reqeusts of projects in [subgroups](../../group/subgroups/index.md).
## Creating milestones
>**Note:**
A permission level of `Developer` or higher is required to create milestones.
### New project milestone
To create a **project milestone**, navigate to **Issues > Milestones** in the project.
Click the **New milestone** button. Enter the title, an optional description, an optional start date, and an optional due date. Click **Create milestone** to create the milestone.
To create a **group milestone**, follow similar steps from above to project milestones. Navigate to **Issues > Milestones** in the group and create it from there.
![New group milestone](img/milestones_new_group_milestone.png)
## Editing milestones
>**Note:**
You need [Master permissions](../../permissions.md) in order to create a milestone.
A permission level of `Developer` or higher is required to edit milestones.
You can update a milestone by navigating to **Issues > Milestones** in the project or group and clicking the **Edit** button.
You can find the milestones page under your project's **Issues ➔ Milestones**.
To create a new milestone, simply click the **New milestone** button when in the
milestones page. A milestone can have a title, a description and start/due dates.
Once you fill in all the details, hit the **Create milestone** button.
You can delete a milestone by clicking the **Delete** button.
![Creating a milestone](img/milestone_create.png)
### Promoting project milestones to group milestones
## Creating a group milestone
If you are expanding from a few projects to a larger number of projects within the same group, you may want to share the same milestone among multiple projects in the same group. If you previously created a project milestone and now want to make it available for other milestones, you can promote it to a group milestone.
From the project milestone list page, you can promote a project milestone to a group milestone. This will merge all project milestones across all projects in this group with the same name into a single group milestones. All issues and merge requests that previously were assigned one of these project milestones will now be assigned the new group milestones. This action cannot be reversed and the changes are permanent.
>**Note:**
You need [Master permissions](../../permissions.md) in order to create a milestone.
Not all features on the project milestone view are available on the group milestone view. If you promote a project milestone to a group milestone, you will lose these features. See [Milestone view](#milestone-view) to see which features are missing from the group milestone view.
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](../quick_actions.md) in a comment. [As mentioned](#project-milestones-and-group-milestones), for a given issue or merge request, both project milestones and group milestones can be selected and assigned to the object.
## Filtering issues and merge requests by milestone
### Filtering in list pages
From the project issue/merge request list pages and the group issue/merge request list pages, you can [filter](../../search/index.md#issues-and-merge-requests) by both group milestones and project milestones.
### Filtering in issue boards
From [project issue boards](../issue_board.md), you can filter by both group milestones and project milestones in the [search and filter bar](../../search/index.md#issue-boards).
### Special milestone filters
When filtering by milestone, in addition to choosing a specific project milestone or group milestone, you can choose a special milestone filter.
You can create a milestone for a group that will be shared across group projects.
On the group's **Issues ➔ Milestones** page, you will be able to see the state
of that milestone and the issues/merge requests count that it shares across the group projects. To create a new milestone click the **New milestone** button. The form is the same as when creating a milestone for a specific project which you can find in the previous item.
-**No Milestone**: Show issues or merge requests with no assigned milestone.
-**Upcoming**: Show issues or merge requests that have been assigned the open milestone that has the next upcoming due date (i.e. nearest due date in the future).
-**Started**: Show issues or merge requests that have an assigned milestone with a start date that is before today.
In addition to that you will be able to filter issues or merge requests by group milestones in all projects that belongs to the milestone group.
## Milestone view
## Milestone promotion
Not all features in the project milestone view are available in the group milestone view. This table summarizes the differences:
Project milestones can be promoted to group milestones if its project belongs to a group. When a milestone is promoted all other milestones across the group projects with the same title will be merged into it, which means all milestone's children like issues, merge requests and boards will be moved into the new promoted milestone.
The promote button can be found in the milestone view or milestones list.
The milestone view shows the title and description.
In addition to the milestones that exist in the project or group, there are some
special options available when filtering by milestone:
### Project milestone features
***No Milestone** - only show issues or merge requests without a milestone.
***Upcoming** - show issues or merge request that belong to the next open
milestone with a due date, by project. (For example: if project A has
milestone v1 due in three days, and project B has milestone v2 due in a week,
then this will show issues or merge requests from milestone v1 in project A
and milestone v2 in project B.)
***Started** - show issues or merge requests from any milestone with a start
date less than today. Note that this can return results from several
milestones in the same project.
These features are only available for project milestones and not group milestones.
## Milestone sidebar
- Issues assigned to the milestone are displayed in three columns: Unstarted issues, ongoing issues, and completed issues.
- Merge requests assigned to the milestone are displayed in four columns: Work in progress merge requests, waiting for merge, rejected, and closed.
- Participants and labels that are used in issues and merge requests that have the milestone assigned are displayed.
The milestone sidebar shows percentage complete, start date and due date,
issues, total issue weight, total issue time spent, and merge requests.
### Milestone sidebar
The percentage complete is calculated as: Closed and merged merge requests plus all closed issues divided by
total merge requests and issues.
The milestone sidebar on the milestone view shows the following:
![Milestone sidebar](img/sidebar.png)
- Percentage complete, which is calculated as number of closed issues plus number of closed/merged merge requests divided by total number issues and merge requests.
- The start date and due date.
- The total time spent on all issues that have the milestone assigned.
## Quick actions
For project milestones only, the milestone sidebar shows the total issue weight of all issues that have the milestone assigned.
[Quick actions](../quick_actions.md) are available for assigning and removing