- v4 API:
- GitLab API:
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 projectstate: eitheractiveorclosedsearch: 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' milestone.save()
Change the state of a milestone (activate / close):
# close a milestone milestone.state_event = 'close' milestone.save() # activate a milestone milestone.state_event = 'activate' milestone.save()
List the issues related to a milestone:
issues = milestone.issues()
List the merge requests related to a milestone:
merge_requests = milestone.merge_requests()
Resource milestone events keep track of what happens to GitLab issues and merge requests.
- v4 API:
- :class:`gitlab.v4.objects.ProjectIssueResourceMilestoneEvent`
- :class:`gitlab.v4.objects.ProjectIssueResourceMilestoneEventManager`
- :attr:`gitlab.v4.objects.ProjectIssue.resourcemilestoneevents`
- :class:`gitlab.v4.objects.ProjectMergeRequestResourceMilestoneEvent`
- :class:`gitlab.v4.objects.ProjectMergeRequestResourceMilestoneEventManager`
- :attr:`gitlab.v4.objects.ProjectMergeRequest.resourcemilestoneevents`
- GitLab API: https://docs.gitlab.com/ee/api/resource_milestone_events.html
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)