Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit88f8cc7

Browse files
Oleksii ShkurupiiOleksii Shkurupii
Oleksii Shkurupii
authored and
Oleksii Shkurupii
committed
feat: add support to resource milestone events
Fixes#1154
1 parente2dc9ec commit88f8cc7

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

‎docs/gl_objects/milestones.rst

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
Milestones
33
##########
44

5+
Project milestones
6+
==================
7+
58
Reference
69
---------
710

@@ -70,3 +73,33 @@ List the issues related to a milestone::
7073
List the merge requests related to a milestone::
7174

7275
merge_requests = milestone.merge_requests()
76+
77+
Milestone events
78+
============
79+
80+
Resource milestone events keep track of what happens to GitLab issues and merge requests.
81+
82+
Reference
83+
---------
84+
85+
* v4 API:
86+
87+
+:class:`gitlab.v4.objects.ProjectIssueResourceMilestoneEvent`
88+
+:class:`gitlab.v4.objects.ProjectIssueResourceMilestoneEventManager`
89+
+:attr:`gitlab.v4.objects.ProjectIssue.resourcemilestoneevents`
90+
+:class:`gitlab.v4.objects.ProjectMergeRequestResourceMilestoneEvent`
91+
+:class:`gitlab.v4.objects.ProjectMergeRequestResourceMilestoneEventManager`
92+
+:attr:`gitlab.v4.objects.ProjectMergeRequest.resourcemilestoneevents`
93+
94+
* GitLab API: https://docs.gitlab.com/ee/api/resource_milestone_events.html
95+
96+
Examples
97+
--------
98+
99+
Get milestones for a resource (issue, merge request)::
100+
101+
milestones = resource.resourcemilestoneevents.list()
102+
103+
Get a specific milestone for a resource::
104+
105+
milestone = resource.resourcemilestoneevents.get(milestone_id)

‎gitlab/v4/objects.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2654,6 +2654,16 @@ class ProjectIssueResourceLabelEventManager(RetrieveMixin, RESTManager):
26542654
_from_parent_attrs= {"project_id":"project_id","issue_iid":"iid"}
26552655

26562656

2657+
classProjectIssueResourceMilestoneEvent(RESTObject):
2658+
pass
2659+
2660+
2661+
classProjectIssueResourceMilestoneEventManager(RetrieveMixin,RESTManager):
2662+
_path="/projects/%(project_id)s/issues/%(issue_iid)s/resource_milestone_events"
2663+
_obj_cls=ProjectIssueResourceMilestoneEvent
2664+
_from_parent_attrs= {"project_id":"project_id","issue_iid":"iid"}
2665+
2666+
26572667
classProjectIssue(
26582668
UserAgentDetailMixin,
26592669
SubscribableMixin,
@@ -2672,6 +2682,7 @@ class ProjectIssue(
26722682
("links","ProjectIssueLinkManager"),
26732683
("notes","ProjectIssueNoteManager"),
26742684
("resourcelabelevents","ProjectIssueResourceLabelEventManager"),
2685+
("resourcemilestoneevents","ProjectIssueResourceMilestoneEventManager"),
26752686
)
26762687

26772688
@cli.register_custom_action("ProjectIssue", ("to_project_id",))
@@ -3065,6 +3076,18 @@ class ProjectMergeRequestResourceLabelEventManager(RetrieveMixin, RESTManager):
30653076
_from_parent_attrs= {"project_id":"project_id","mr_iid":"iid"}
30663077

30673078

3079+
classProjectMergeRequestResourceMilestoneEvent(RESTObject):
3080+
pass
3081+
3082+
3083+
classProjectMergeRequestResourceMilestoneEventManager(RetrieveMixin,RESTManager):
3084+
_path= (
3085+
"/projects/%(project_id)s/merge_requests/%(mr_iid)s/resource_milestone_events"
3086+
)
3087+
_obj_cls=ProjectMergeRequestResourceMilestoneEvent
3088+
_from_parent_attrs= {"project_id":"project_id","mr_iid":"iid"}
3089+
3090+
30683091
classProjectMergeRequest(
30693092
SubscribableMixin,
30703093
TodoMixin,
@@ -3083,6 +3106,7 @@ class ProjectMergeRequest(
30833106
("discussions","ProjectMergeRequestDiscussionManager"),
30843107
("notes","ProjectMergeRequestNoteManager"),
30853108
("resourcelabelevents","ProjectMergeRequestResourceLabelEventManager"),
3109+
("resourcemilestoneevents","ProjectMergeRequestResourceMilestoneEventManager"),
30863110
)
30873111

30883112
@cli.register_custom_action("ProjectMergeRequest")

‎tools/python_test_v4.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,6 +782,11 @@
782782
event=issue1.resourcelabelevents.get(events[0].id)
783783
assertevent
784784

785+
# issue milestones
786+
milestones=issue1.resourcemilestoneevents.list()
787+
assertmilestones
788+
milestone=issue1.resourcemilestoneevents.get(milestones[0].id)
789+
assertmilestone
785790

786791
size=len(issue1.discussions.list())
787792
discussion=issue1.discussions.create({"body":"Discussion body"})
@@ -891,6 +896,14 @@
891896
event=mr.resourcelabelevents.get(events[0].id)
892897
assertevent
893898

899+
# mr milestone events
900+
mr.milestone_id=m1.id
901+
mr.save()
902+
milestones=mr.resourcemilestoneevents.list()
903+
assertmilestones
904+
milestone=mr.resourcemilestoneevents.get(milestones[0].id)
905+
assertmilestone
906+
894907
# rebasing
895908
assertmr.rebase()
896909

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp