Project milestones



List the milestones for a project or a group:

p_milestones = project.milestones.list()
g_milestones = group.milestones.list()

You can filter the list using the following parameters:

  • iids: unique IDs of milestones for the project

  • state: either active or closed

  • search: to search using a string

p_milestones = project.milestones.list(state='closed')
g_milestones = group.milestones.list(state='active')

Get a single milestone:

p_milestone = project.milestones.get(milestone_id)
g_milestone = group.milestones.get(milestone_id)

Create a milestone:

milestone = project.milestones.create({'title': '1.0'})

Edit a milestone:

milestone.description = 'v 1.0 release'

Change the state of a milestone (activate / close):

# close a milestone
milestone.state_event = 'close'

# activate a milestone
milestone.state_event = 'activate'

Promote a project milestone:


List the issues related to a milestone:

issues = milestone.issues()

List the merge requests related to a milestone:

merge_requests = milestone.merge_requests()

Milestone events

Resource milestone events keep track of what happens to GitLab issues and merge requests.



Get milestones for a resource (issue, merge request):

milestones = resource.resourcemilestoneevents.list()

Get a specific milestone for a resource:

milestone = resource.resourcemilestoneevents.get(milestone_id)