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

Commit70b9870

Browse files
authored
Merge pull request#1712 from StingRayZA/Epicnotes
feat(api): add support for epic notes
2 parents64f2360 +7f4edb5 commit70b9870

File tree

3 files changed

+96
-2
lines changed

3 files changed

+96
-2
lines changed

‎docs/gl_objects/notes.rst

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,20 @@
44
Notes
55
#####
66

7-
You can manipulate notes (comments) on project issues, merge requests and
7+
You can manipulate notes (comments) ongroup epics,project issues, merge requests and
88
snippets.
99

1010
Reference
1111
---------
1212

1313
* v4 API:
1414

15+
Epics:
16+
17+
*:class:`gitlab.v4.objects.GroupEpicNote`
18+
*:class:`gitlab.v4.objects.GroupEpicNoteManager`
19+
*:attr:`gitlab.v4.objects.GroupEpic.notes`
20+
1521
Issues:
1622

1723
+:class:`gitlab.v4.objects.ProjectIssueNote`
@@ -37,18 +43,21 @@ Examples
3743

3844
List the notes for a resource::
3945

46+
e_notes = epic.notes.list()
4047
i_notes = issue.notes.list()
4148
mr_notes = mr.notes.list()
4249
s_notes = snippet.notes.list()
4350

4451
Get a note for a resource::
4552

53+
e_note = epic.notes.get(note_id)
4654
i_note = issue.notes.get(note_id)
4755
mr_note = mr.notes.get(note_id)
4856
s_note = snippet.notes.get(note_id)
4957

5058
Create a note for a resource::
5159

60+
e_note = epic.notes.create({'body': 'note content'})
5261
i_note = issue.notes.create({'body': 'note content'})
5362
mr_note = mr.notes.create({'body': 'note content'})
5463
s_note = snippet.notes.create({'body': 'note content'})

‎gitlab/v4/objects/award_emojis.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
fromgitlab.mixinsimportNoUpdateMixin,ObjectDeleteMixin
55

66
__all__= [
7+
"GroupEpicAwardEmoji",
8+
"GroupEpicAwardEmojiManager",
9+
"GroupEpicNoteAwardEmoji",
10+
"GroupEpicNoteAwardEmojiManager",
711
"ProjectIssueAwardEmoji",
812
"ProjectIssueAwardEmojiManager",
913
"ProjectIssueNoteAwardEmoji",
@@ -19,6 +23,42 @@
1923
]
2024

2125

26+
classGroupEpicAwardEmoji(ObjectDeleteMixin,RESTObject):
27+
pass
28+
29+
30+
classGroupEpicAwardEmojiManager(NoUpdateMixin,RESTManager):
31+
_path="/groups/{group_id}/epics/{epic_iid}/award_emoji"
32+
_obj_cls=GroupEpicAwardEmoji
33+
_from_parent_attrs= {"group_id":"group_id","epic_iid":"iid"}
34+
_create_attrs=RequiredOptional(required=("name",))
35+
36+
defget(
37+
self,id:Union[str,int],lazy:bool=False,**kwargs:Any
38+
)->GroupEpicAwardEmoji:
39+
returncast(GroupEpicAwardEmoji,super().get(id=id,lazy=lazy,**kwargs))
40+
41+
42+
classGroupEpicNoteAwardEmoji(ObjectDeleteMixin,RESTObject):
43+
pass
44+
45+
46+
classGroupEpicNoteAwardEmojiManager(NoUpdateMixin,RESTManager):
47+
_path="/groups/{group_id}/epics/{epic_iid}/notes/{note_id}/award_emoji"
48+
_obj_cls=GroupEpicNoteAwardEmoji
49+
_from_parent_attrs= {
50+
"group_id":"group_id",
51+
"epic_iid":"epic_iid",
52+
"note_id":"id",
53+
}
54+
_create_attrs=RequiredOptional(required=("name",))
55+
56+
defget(
57+
self,id:Union[str,int],lazy:bool=False,**kwargs:Any
58+
)->GroupEpicNoteAwardEmoji:
59+
returncast(GroupEpicNoteAwardEmoji,super().get(id=id,lazy=lazy,**kwargs))
60+
61+
2262
classProjectIssueAwardEmoji(ObjectDeleteMixin,RESTObject):
2363
pass
2464

‎gitlab/v4/objects/notes.py

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,17 @@
1313
)
1414

1515
from .award_emojisimport (# noqa: F401
16+
GroupEpicNoteAwardEmojiManager,
1617
ProjectIssueNoteAwardEmojiManager,
1718
ProjectMergeRequestNoteAwardEmojiManager,
1819
ProjectSnippetNoteAwardEmojiManager,
1920
)
2021

2122
__all__= [
23+
"GroupEpicNote",
24+
"GroupEpicNoteManager",
25+
"GroupEpicDiscussionNote",
26+
"GroupEpicDiscussionNoteManager",
2227
"ProjectNote",
2328
"ProjectNoteManager",
2429
"ProjectCommitDiscussionNote",
@@ -38,6 +43,46 @@
3843
]
3944

4045

46+
classGroupEpicNote(SaveMixin,ObjectDeleteMixin,RESTObject):
47+
awardemojis:GroupEpicNoteAwardEmojiManager
48+
49+
50+
classGroupEpicNoteManager(CRUDMixin,RESTManager):
51+
_path="/groups/{group_id}/epics/{epic_iid}/notes"
52+
_obj_cls=GroupEpicNote
53+
_from_parent_attrs= {"group_id":"group_id","epic_iid":"iid"}
54+
_create_attrs=RequiredOptional(required=("body",),optional=("created_at",))
55+
_update_attrs=RequiredOptional(required=("body",))
56+
57+
defget(
58+
self,id:Union[str,int],lazy:bool=False,**kwargs:Any
59+
)->GroupEpicNote:
60+
returncast(GroupEpicNote,super().get(id=id,lazy=lazy,**kwargs))
61+
62+
63+
classGroupEpicDiscussionNote(SaveMixin,ObjectDeleteMixin,RESTObject):
64+
pass
65+
66+
67+
classGroupEpicDiscussionNoteManager(
68+
GetMixin,CreateMixin,UpdateMixin,DeleteMixin,RESTManager
69+
):
70+
_path="/groups/{group_id}/epics/{epic_iid}/discussions/{discussion_id}/notes"
71+
_obj_cls=GroupEpicDiscussionNote
72+
_from_parent_attrs= {
73+
"group_id":"group_id",
74+
"epic_iid":"epic_iid",
75+
"discussion_id":"id",
76+
}
77+
_create_attrs=RequiredOptional(required=("body",),optional=("created_at",))
78+
_update_attrs=RequiredOptional(required=("body",))
79+
80+
defget(
81+
self,id:Union[str,int],lazy:bool=False,**kwargs:Any
82+
)->GroupEpicDiscussionNote:
83+
returncast(GroupEpicDiscussionNote,super().get(id=id,lazy=lazy,**kwargs))
84+
85+
4186
classProjectNote(RESTObject):
4287
pass
4388

@@ -172,7 +217,7 @@ def get(
172217

173218

174219
classProjectSnippetNote(SaveMixin,ObjectDeleteMixin,RESTObject):
175-
awardemojis:ProjectMergeRequestNoteAwardEmojiManager
220+
awardemojis:ProjectSnippetNoteAwardEmojiManager
176221

177222

178223
classProjectSnippetNoteManager(CRUDMixin,RESTManager):

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp