gitlab 4.6.0 → 4.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gitlab/client/access_requests.rb +92 -90
  3. data/lib/gitlab/client/award_emojis.rb +126 -124
  4. data/lib/gitlab/client/boards.rb +81 -79
  5. data/lib/gitlab/client/branches.rb +89 -87
  6. data/lib/gitlab/client/build_variables.rb +117 -115
  7. data/lib/gitlab/client/builds.rb +98 -96
  8. data/lib/gitlab/client/commits.rb +154 -152
  9. data/lib/gitlab/client/deployments.rb +29 -27
  10. data/lib/gitlab/client/environments.rb +80 -78
  11. data/lib/gitlab/client/events.rb +54 -52
  12. data/lib/gitlab/client/group_milestones.rb +85 -83
  13. data/lib/gitlab/client/groups.rb +178 -176
  14. data/lib/gitlab/client/issues.rb +190 -188
  15. data/lib/gitlab/client/jobs.rb +150 -148
  16. data/lib/gitlab/client/keys.rb +14 -12
  17. data/lib/gitlab/client/labels.rb +79 -77
  18. data/lib/gitlab/client/merge_request_approvals.rb +101 -99
  19. data/lib/gitlab/client/merge_requests.rb +279 -277
  20. data/lib/gitlab/client/milestones.rb +85 -83
  21. data/lib/gitlab/client/namespaces.rb +18 -16
  22. data/lib/gitlab/client/notes.rb +260 -258
  23. data/lib/gitlab/client/pipeline_schedules.rb +123 -121
  24. data/lib/gitlab/client/pipeline_triggers.rb +93 -91
  25. data/lib/gitlab/client/pipelines.rb +62 -60
  26. data/lib/gitlab/client/projects.rb +526 -524
  27. data/lib/gitlab/client/repositories.rb +67 -65
  28. data/lib/gitlab/client/repository_files.rb +103 -101
  29. data/lib/gitlab/client/runners.rb +114 -112
  30. data/lib/gitlab/client/services.rb +45 -43
  31. data/lib/gitlab/client/sidekiq.rb +32 -30
  32. data/lib/gitlab/client/snippets.rb +86 -84
  33. data/lib/gitlab/client/system_hooks.rb +57 -55
  34. data/lib/gitlab/client/tags.rb +88 -86
  35. data/lib/gitlab/client/todos.rb +40 -38
  36. data/lib/gitlab/client/users.rb +243 -241
  37. data/lib/gitlab/client/versions.rb +13 -11
  38. data/lib/gitlab/help.rb +1 -1
  39. data/lib/gitlab/version.rb +1 -1
  40. metadata +1 -1
@@ -1,92 +1,94 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Defines methods related to milestones.
4
- # @see https://docs.gitlab.com/ce/api/milestones.html
5
- module Milestones
6
- # Gets a list of project's milestones.
7
- #
8
- # @example
9
- # Gitlab.milestones(5)
10
- #
11
- # @param [Integer, String] project The ID or name of a project.
12
- # @param [Hash] options A customizable set of options.
13
- # @option options [Integer] :page The page number.
14
- # @option options [Integer] :per_page The number of results per page.
15
- # @return [Array<Gitlab::ObjectifiedHash>]
16
- def milestones(project, options = {})
17
- get("/projects/#{url_encode project}/milestones", query: options)
18
- end
3
+ class Gitlab::Client
4
+ # Defines methods related to milestones.
5
+ # @see https://docs.gitlab.com/ce/api/milestones.html
6
+ module Milestones
7
+ # Gets a list of project's milestones.
8
+ #
9
+ # @example
10
+ # Gitlab.milestones(5)
11
+ #
12
+ # @param [Integer, String] project The ID or name of a project.
13
+ # @param [Hash] options A customizable set of options.
14
+ # @option options [Integer] :page The page number.
15
+ # @option options [Integer] :per_page The number of results per page.
16
+ # @return [Array<Gitlab::ObjectifiedHash>]
17
+ def milestones(project, options = {})
18
+ get("/projects/#{url_encode project}/milestones", query: options)
19
+ end
19
20
 
20
- # Gets a single milestone.
21
- #
22
- # @example
23
- # Gitlab.milestone(5, 36)
24
- #
25
- # @param [Integer, String] project The ID or name of a project.
26
- # @param [Integer] id The ID of a milestone.
27
- # @return [Gitlab::ObjectifiedHash]
28
- def milestone(project, id)
29
- get("/projects/#{url_encode project}/milestones/#{id}")
30
- end
21
+ # Gets a single milestone.
22
+ #
23
+ # @example
24
+ # Gitlab.milestone(5, 36)
25
+ #
26
+ # @param [Integer, String] project The ID or name of a project.
27
+ # @param [Integer] id The ID of a milestone.
28
+ # @return [Gitlab::ObjectifiedHash]
29
+ def milestone(project, id)
30
+ get("/projects/#{url_encode project}/milestones/#{id}")
31
+ end
31
32
 
32
- # Gets the issues of a given milestone.
33
- #
34
- # @example
35
- # Gitlab.milestone_issues(5, 2)
36
- #
37
- # @param [Integer, String] project The ID or name of a project.
38
- # @param [Integer, String] milestone The ID of a milestone.
39
- # @option options [Integer] :page The page number.
40
- # @option options [Integer] :per_page The number of results per page.
41
- # @return [Array<Gitlab::ObjectifiedHash>]
42
- def milestone_issues(project, milestone, options = {})
43
- get("/projects/#{url_encode project}/milestones/#{milestone}/issues", query: options)
44
- end
33
+ # Gets the issues of a given milestone.
34
+ #
35
+ # @example
36
+ # Gitlab.milestone_issues(5, 2)
37
+ #
38
+ # @param [Integer, String] project The ID or name of a project.
39
+ # @param [Integer, String] milestone The ID of a milestone.
40
+ # @option options [Integer] :page The page number.
41
+ # @option options [Integer] :per_page The number of results per page.
42
+ # @return [Array<Gitlab::ObjectifiedHash>]
43
+ def milestone_issues(project, milestone, options = {})
44
+ get("/projects/#{url_encode project}/milestones/#{milestone}/issues", query: options)
45
+ end
45
46
 
46
- # Gets the merge_requests of a given milestone.
47
- #
48
- # @example
49
- # Gitlab.milestone_merge_requests(5, 2)
50
- #
51
- # @param [Integer, String] project The ID or name of a project.
52
- # @param [Integer, String] milestone The ID of a milestone.
53
- # @option options [Integer] :page The page number.
54
- # @option options [Integer] :per_page The number of results per page.
55
- # @return [Array<Gitlab::ObjectifiedHash>]
56
- def milestone_merge_requests(project, milestone, options = {})
57
- get("/projects/#{url_encode project}/milestones/#{milestone}/merge_requests", query: options)
58
- end
47
+ # Gets the merge_requests of a given milestone.
48
+ #
49
+ # @example
50
+ # Gitlab.milestone_merge_requests(5, 2)
51
+ #
52
+ # @param [Integer, String] project The ID or name of a project.
53
+ # @param [Integer, String] milestone The ID of a milestone.
54
+ # @option options [Integer] :page The page number.
55
+ # @option options [Integer] :per_page The number of results per page.
56
+ # @return [Array<Gitlab::ObjectifiedHash>]
57
+ def milestone_merge_requests(project, milestone, options = {})
58
+ get("/projects/#{url_encode project}/milestones/#{milestone}/merge_requests", query: options)
59
+ end
59
60
 
60
- # Creates a new milestone.
61
- #
62
- # @example
63
- # Gitlab.create_milestone(5, 'v1.0')
64
- #
65
- # @param [Integer, String] project The ID or name of a project.
66
- # @param [String] title The title of a milestone.
67
- # @param [Hash] options A customizable set of options.
68
- # @option options [String] :description The description of a milestone.
69
- # @option options [String] :due_date The due date of a milestone.
70
- # @return [Gitlab::ObjectifiedHash] Information about created milestone.
71
- def create_milestone(project, title, options = {})
72
- body = { title: title }.merge(options)
73
- post("/projects/#{url_encode project}/milestones", body: body)
74
- end
61
+ # Creates a new milestone.
62
+ #
63
+ # @example
64
+ # Gitlab.create_milestone(5, 'v1.0')
65
+ #
66
+ # @param [Integer, String] project The ID or name of a project.
67
+ # @param [String] title The title of a milestone.
68
+ # @param [Hash] options A customizable set of options.
69
+ # @option options [String] :description The description of a milestone.
70
+ # @option options [String] :due_date The due date of a milestone.
71
+ # @return [Gitlab::ObjectifiedHash] Information about created milestone.
72
+ def create_milestone(project, title, options = {})
73
+ body = { title: title }.merge(options)
74
+ post("/projects/#{url_encode project}/milestones", body: body)
75
+ end
75
76
 
76
- # Updates a milestone.
77
- #
78
- # @example
79
- # Gitlab.edit_milestone(5, 2, { state_event: 'activate' })
80
- #
81
- # @param [Integer, String] project The ID or name of a project.
82
- # @param [Integer] id The ID of a milestone.
83
- # @param [Hash] options A customizable set of options.
84
- # @option options [String] :title The title of a milestone.
85
- # @option options [String] :description The description of a milestone.
86
- # @option options [String] :due_date The due date of a milestone.
87
- # @option options [String] :state_event The state of a milestone ('close' or 'activate').
88
- # @return [Gitlab::ObjectifiedHash] Information about updated milestone.
89
- def edit_milestone(project, id, options = {})
90
- put("/projects/#{url_encode project}/milestones/#{id}", body: options)
77
+ # Updates a milestone.
78
+ #
79
+ # @example
80
+ # Gitlab.edit_milestone(5, 2, { state_event: 'activate' })
81
+ #
82
+ # @param [Integer, String] project The ID or name of a project.
83
+ # @param [Integer] id The ID of a milestone.
84
+ # @param [Hash] options A customizable set of options.
85
+ # @option options [String] :title The title of a milestone.
86
+ # @option options [String] :description The description of a milestone.
87
+ # @option options [String] :due_date The due date of a milestone.
88
+ # @option options [String] :state_event The state of a milestone ('close' or 'activate').
89
+ # @return [Gitlab::ObjectifiedHash] Information about updated milestone.
90
+ def edit_milestone(project, id, options = {})
91
+ put("/projects/#{url_encode project}/milestones/#{id}", body: options)
92
+ end
91
93
  end
92
94
  end
@@ -1,20 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Defines methods related to namespaces
4
- # @see https://docs.gitlab.com/ce/api/namespaces.html
5
- module Namespaces
6
- # Gets a list of namespaces.
7
- # @see https://docs.gitlab.com/ce/api/namespaces.html#list-namespaces
8
- #
9
- # @example
10
- # Gitlab.namespaces
11
- #
12
- # @param [Hash] options A customizable set of options.
13
- # @options options [Integer] :page The page number.
14
- # @options options [Integer] :per_page The number of results per page.
15
- # @options opttion [String] :search The string to search for.
16
- # @return [Array<Gitlab::ObjectifiedHash>]
17
- def namespaces(options = {})
18
- get('/namespaces', query: options)
3
+ class Gitlab::Client
4
+ # Defines methods related to namespaces
5
+ # @see https://docs.gitlab.com/ce/api/namespaces.html
6
+ module Namespaces
7
+ # Gets a list of namespaces.
8
+ # @see https://docs.gitlab.com/ce/api/namespaces.html#list-namespaces
9
+ #
10
+ # @example
11
+ # Gitlab.namespaces
12
+ #
13
+ # @param [Hash] options A customizable set of options.
14
+ # @options options [Integer] :page The page number.
15
+ # @options options [Integer] :per_page The number of results per page.
16
+ # @options opttion [String] :search The string to search for.
17
+ # @return [Array<Gitlab::ObjectifiedHash>]
18
+ def namespaces(options = {})
19
+ get('/namespaces', query: options)
20
+ end
19
21
  end
20
22
  end
@@ -1,284 +1,286 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Defines methods related to notes.
4
- # @see https://docs.gitlab.com/ce/api/notes.html
5
- module Notes
6
- # Gets a list of projects notes.
7
- #
8
- # @example
9
- # Gitlab.notes(5)
10
- #
11
- # @param [Integer] project The ID of a project.
12
- # @option options [Integer] :page The page number.
13
- # @option options [Integer] :per_page The number of results per page.
14
- # @return [Array<Gitlab::ObjectifiedHash>]
15
- def notes(project, options = {})
16
- get("/projects/#{url_encode project}/notes", query: options)
17
- end
3
+ class Gitlab::Client
4
+ # Defines methods related to notes.
5
+ # @see https://docs.gitlab.com/ce/api/notes.html
6
+ module Notes
7
+ # Gets a list of projects notes.
8
+ #
9
+ # @example
10
+ # Gitlab.notes(5)
11
+ #
12
+ # @param [Integer] project The ID of a project.
13
+ # @option options [Integer] :page The page number.
14
+ # @option options [Integer] :per_page The number of results per page.
15
+ # @return [Array<Gitlab::ObjectifiedHash>]
16
+ def notes(project, options = {})
17
+ get("/projects/#{url_encode project}/notes", query: options)
18
+ end
18
19
 
19
- # Gets a list of notes for a issue.
20
- #
21
- # @example
22
- # Gitlab.issue_notes(5, 10)
23
- #
24
- # @param [Integer] project The ID of a project.
25
- # @param [Integer] issue The ID of an issue.
26
- # @option options [Integer] :page The page number.
27
- # @option options [Integer] :per_page The number of results per page.
28
- # @return [Array<Gitlab::ObjectifiedHash>]
29
- def issue_notes(project, issue, options = {})
30
- get("/projects/#{url_encode project}/issues/#{issue}/notes", query: options)
31
- end
20
+ # Gets a list of notes for a issue.
21
+ #
22
+ # @example
23
+ # Gitlab.issue_notes(5, 10)
24
+ #
25
+ # @param [Integer] project The ID of a project.
26
+ # @param [Integer] issue The ID of an issue.
27
+ # @option options [Integer] :page The page number.
28
+ # @option options [Integer] :per_page The number of results per page.
29
+ # @return [Array<Gitlab::ObjectifiedHash>]
30
+ def issue_notes(project, issue, options = {})
31
+ get("/projects/#{url_encode project}/issues/#{issue}/notes", query: options)
32
+ end
32
33
 
33
- # Gets a list of notes for a snippet.
34
- #
35
- # @example
36
- # Gitlab.snippet_notes(5, 1)
37
- #
38
- # @param [Integer] project The ID of a project.
39
- # @param [Integer] snippet The ID of a snippet.
40
- # @option options [Integer] :page The page number.
41
- # @option options [Integer] :per_page The number of results per page.
42
- # @return [Array<Gitlab::ObjectifiedHash>]
43
- def snippet_notes(project, snippet, options = {})
44
- get("/projects/#{url_encode project}/snippets/#{snippet}/notes", query: options)
45
- end
34
+ # Gets a list of notes for a snippet.
35
+ #
36
+ # @example
37
+ # Gitlab.snippet_notes(5, 1)
38
+ #
39
+ # @param [Integer] project The ID of a project.
40
+ # @param [Integer] snippet The ID of a snippet.
41
+ # @option options [Integer] :page The page number.
42
+ # @option options [Integer] :per_page The number of results per page.
43
+ # @return [Array<Gitlab::ObjectifiedHash>]
44
+ def snippet_notes(project, snippet, options = {})
45
+ get("/projects/#{url_encode project}/snippets/#{snippet}/notes", query: options)
46
+ end
46
47
 
47
- # Gets a list of notes for a merge request.
48
- #
49
- # @example
50
- # Gitlab.merge_request_notes(5, 1)
51
- #
52
- # @param [Integer] project The ID of a project.
53
- # @param [Integer] merge_request The ID of a merge request.
54
- # @option options [Integer] :page The page number.
55
- # @option options [Integer] :per_page The number of results per page.
56
- # @return [Array<Gitlab::ObjectifiedHash>]
57
- def merge_request_notes(project, merge_request, options = {})
58
- get("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes", query: options)
59
- end
60
- alias merge_request_comments merge_request_notes
48
+ # Gets a list of notes for a merge request.
49
+ #
50
+ # @example
51
+ # Gitlab.merge_request_notes(5, 1)
52
+ #
53
+ # @param [Integer] project The ID of a project.
54
+ # @param [Integer] merge_request The ID of a merge request.
55
+ # @option options [Integer] :page The page number.
56
+ # @option options [Integer] :per_page The number of results per page.
57
+ # @return [Array<Gitlab::ObjectifiedHash>]
58
+ def merge_request_notes(project, merge_request, options = {})
59
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes", query: options)
60
+ end
61
+ alias merge_request_comments merge_request_notes
61
62
 
62
- # Gets a single wall note.
63
- #
64
- # @example
65
- # Gitlab.note(5, 15)
66
- #
67
- # @param [Integer] project The ID of a project.
68
- # @param [Integer] id The ID of a note.
69
- # @return [Gitlab::ObjectifiedHash]
70
- def note(project, id)
71
- get("/projects/#{url_encode project}/notes/#{id}")
72
- end
63
+ # Gets a single wall note.
64
+ #
65
+ # @example
66
+ # Gitlab.note(5, 15)
67
+ #
68
+ # @param [Integer] project The ID of a project.
69
+ # @param [Integer] id The ID of a note.
70
+ # @return [Gitlab::ObjectifiedHash]
71
+ def note(project, id)
72
+ get("/projects/#{url_encode project}/notes/#{id}")
73
+ end
73
74
 
74
- # Gets a single issue note.
75
- #
76
- # @example
77
- # Gitlab.issue_note(5, 10, 1)
78
- #
79
- # @param [Integer] project The ID of a project.
80
- # @param [Integer] issue The ID of an issue.
81
- # @param [Integer] id The ID of a note.
82
- # @return [Gitlab::ObjectifiedHash]
83
- def issue_note(project, issue, id)
84
- get("/projects/#{url_encode project}/issues/#{issue}/notes/#{id}")
85
- end
75
+ # Gets a single issue note.
76
+ #
77
+ # @example
78
+ # Gitlab.issue_note(5, 10, 1)
79
+ #
80
+ # @param [Integer] project The ID of a project.
81
+ # @param [Integer] issue The ID of an issue.
82
+ # @param [Integer] id The ID of a note.
83
+ # @return [Gitlab::ObjectifiedHash]
84
+ def issue_note(project, issue, id)
85
+ get("/projects/#{url_encode project}/issues/#{issue}/notes/#{id}")
86
+ end
86
87
 
87
- # Gets a single snippet note.
88
- #
89
- # @example
90
- # Gitlab.snippet_note(5, 11, 3)
91
- #
92
- # @param [Integer] project The ID of a project.
93
- # @param [Integer] snippet The ID of a snippet.
94
- # @param [Integer] id The ID of a note.
95
- # @return [Gitlab::ObjectifiedHash]
96
- def snippet_note(project, snippet, id)
97
- get("/projects/#{url_encode project}/snippets/#{snippet}/notes/#{id}")
98
- end
88
+ # Gets a single snippet note.
89
+ #
90
+ # @example
91
+ # Gitlab.snippet_note(5, 11, 3)
92
+ #
93
+ # @param [Integer] project The ID of a project.
94
+ # @param [Integer] snippet The ID of a snippet.
95
+ # @param [Integer] id The ID of a note.
96
+ # @return [Gitlab::ObjectifiedHash]
97
+ def snippet_note(project, snippet, id)
98
+ get("/projects/#{url_encode project}/snippets/#{snippet}/notes/#{id}")
99
+ end
99
100
 
100
- # Gets a single merge_request note.
101
- #
102
- # @example
103
- # Gitlab.merge_request_note(5, 11, 3)
104
- #
105
- # @param [Integer] project The ID of a project.
106
- # @param [Integer] merge_request The ID of a merge_request.
107
- # @param [Integer] id The ID of a note.
108
- # @return [Gitlab::ObjectifiedHash]
109
- def merge_request_note(project, merge_request, id)
110
- get("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes/#{id}")
111
- end
101
+ # Gets a single merge_request note.
102
+ #
103
+ # @example
104
+ # Gitlab.merge_request_note(5, 11, 3)
105
+ #
106
+ # @param [Integer] project The ID of a project.
107
+ # @param [Integer] merge_request The ID of a merge_request.
108
+ # @param [Integer] id The ID of a note.
109
+ # @return [Gitlab::ObjectifiedHash]
110
+ def merge_request_note(project, merge_request, id)
111
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes/#{id}")
112
+ end
112
113
 
113
- # Creates a new wall note.
114
- #
115
- # @example
116
- # Gitlab.create_note(5, 'This is a wall note!')
117
- #
118
- # @param [Integer, String] project The ID or name of a project.
119
- # @param [String] body The body of a note.
120
- # @return [Gitlab::ObjectifiedHash] Information about created note.
121
- def create_note(project, body)
122
- post("/projects/#{url_encode project}/notes", body: { body: body })
123
- end
114
+ # Creates a new wall note.
115
+ #
116
+ # @example
117
+ # Gitlab.create_note(5, 'This is a wall note!')
118
+ #
119
+ # @param [Integer, String] project The ID or name of a project.
120
+ # @param [String] body The body of a note.
121
+ # @return [Gitlab::ObjectifiedHash] Information about created note.
122
+ def create_note(project, body)
123
+ post("/projects/#{url_encode project}/notes", body: { body: body })
124
+ end
124
125
 
125
- # Creates a new issue note.
126
- #
127
- # @example
128
- # Gitlab.create_issue_note(6, 1, 'Adding a note to my issue.')
129
- #
130
- # @param [Integer, String] project The ID or name of a project.
131
- # @param [Integer] issue The ID of an issue.
132
- # @param [String] body The body of a note.
133
- # @return [Gitlab::ObjectifiedHash] Information about created note.
134
- def create_issue_note(project, issue, body)
135
- post("/projects/#{url_encode project}/issues/#{issue}/notes", body: { body: body })
136
- end
126
+ # Creates a new issue note.
127
+ #
128
+ # @example
129
+ # Gitlab.create_issue_note(6, 1, 'Adding a note to my issue.')
130
+ #
131
+ # @param [Integer, String] project The ID or name of a project.
132
+ # @param [Integer] issue The ID of an issue.
133
+ # @param [String] body The body of a note.
134
+ # @return [Gitlab::ObjectifiedHash] Information about created note.
135
+ def create_issue_note(project, issue, body)
136
+ post("/projects/#{url_encode project}/issues/#{issue}/notes", body: { body: body })
137
+ end
137
138
 
138
- # Creates a new snippet note.
139
- #
140
- # @example
141
- # Gitlab.create_snippet_note(3, 2, 'Look at this awesome snippet!')
142
- #
143
- # @param [Integer, String] project The ID or name of a project.
144
- # @param [Integer] snippet The ID of a snippet.
145
- # @param [String] body The body of a note.
146
- # @return [Gitlab::ObjectifiedHash] Information about created note.
147
- def create_snippet_note(project, snippet, body)
148
- post("/projects/#{url_encode project}/snippets/#{snippet}/notes", body: { body: body })
149
- end
139
+ # Creates a new snippet note.
140
+ #
141
+ # @example
142
+ # Gitlab.create_snippet_note(3, 2, 'Look at this awesome snippet!')
143
+ #
144
+ # @param [Integer, String] project The ID or name of a project.
145
+ # @param [Integer] snippet The ID of a snippet.
146
+ # @param [String] body The body of a note.
147
+ # @return [Gitlab::ObjectifiedHash] Information about created note.
148
+ def create_snippet_note(project, snippet, body)
149
+ post("/projects/#{url_encode project}/snippets/#{snippet}/notes", body: { body: body })
150
+ end
150
151
 
151
- # Creates a new note for a single merge request.
152
- #
153
- # @example
154
- # Gitlab.create_merge_request_note(5, 3, 'This MR is ready for review.')
155
- #
156
- # @param [Integer] project The ID of a project.
157
- # @param [Integer] merge_request The ID of a merge request.
158
- # @param [String] body The content of a note.
159
- def create_merge_request_note(project, merge_request, body)
160
- post("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes", body: { body: body })
161
- end
162
- alias create_merge_request_comment create_merge_request_note
152
+ # Creates a new note for a single merge request.
153
+ #
154
+ # @example
155
+ # Gitlab.create_merge_request_note(5, 3, 'This MR is ready for review.')
156
+ #
157
+ # @param [Integer] project The ID of a project.
158
+ # @param [Integer] merge_request The ID of a merge request.
159
+ # @param [String] body The content of a note.
160
+ def create_merge_request_note(project, merge_request, body)
161
+ post("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes", body: { body: body })
162
+ end
163
+ alias create_merge_request_comment create_merge_request_note
163
164
 
164
- # Deletes a wall note.
165
- #
166
- # @example
167
- # Gitlab.delete_note(5, 15)
168
- #
169
- # @param [Integer] project The ID of a project.
170
- # @param [Integer] id The ID of a note.
171
- # @return [Gitlab::ObjectifiedHash]
172
- def delete_note(project, id)
173
- delete("/projects/#{url_encode project}/notes/#{id}")
174
- end
165
+ # Deletes a wall note.
166
+ #
167
+ # @example
168
+ # Gitlab.delete_note(5, 15)
169
+ #
170
+ # @param [Integer] project The ID of a project.
171
+ # @param [Integer] id The ID of a note.
172
+ # @return [Gitlab::ObjectifiedHash]
173
+ def delete_note(project, id)
174
+ delete("/projects/#{url_encode project}/notes/#{id}")
175
+ end
175
176
 
176
- # Deletes an issue note.
177
- #
178
- # @example
179
- # Gitlab.delete_issue_note(5, 10, 1)
180
- #
181
- # @param [Integer] project The ID of a project.
182
- # @param [Integer] issue The ID of an issue.
183
- # @param [Integer] id The ID of a note.
184
- # @return [Gitlab::ObjectifiedHash]
185
- def delete_issue_note(project, issue, id)
186
- delete("/projects/#{url_encode project}/issues/#{issue}/notes/#{id}")
187
- end
177
+ # Deletes an issue note.
178
+ #
179
+ # @example
180
+ # Gitlab.delete_issue_note(5, 10, 1)
181
+ #
182
+ # @param [Integer] project The ID of a project.
183
+ # @param [Integer] issue The ID of an issue.
184
+ # @param [Integer] id The ID of a note.
185
+ # @return [Gitlab::ObjectifiedHash]
186
+ def delete_issue_note(project, issue, id)
187
+ delete("/projects/#{url_encode project}/issues/#{issue}/notes/#{id}")
188
+ end
188
189
 
189
- # Deletes a snippet note.
190
- #
191
- # @example
192
- # Gitlab.delete_snippet_note(5, 11, 3)
193
- #
194
- # @param [Integer] project The ID of a project.
195
- # @param [Integer] snippet The ID of a snippet.
196
- # @param [Integer] id The ID of a note.
197
- # @return [Gitlab::ObjectifiedHash]
198
- def delete_snippet_note(project, snippet, id)
199
- delete("/projects/#{url_encode project}/snippets/#{snippet}/notes/#{id}")
200
- end
190
+ # Deletes a snippet note.
191
+ #
192
+ # @example
193
+ # Gitlab.delete_snippet_note(5, 11, 3)
194
+ #
195
+ # @param [Integer] project The ID of a project.
196
+ # @param [Integer] snippet The ID of a snippet.
197
+ # @param [Integer] id The ID of a note.
198
+ # @return [Gitlab::ObjectifiedHash]
199
+ def delete_snippet_note(project, snippet, id)
200
+ delete("/projects/#{url_encode project}/snippets/#{snippet}/notes/#{id}")
201
+ end
201
202
 
202
- # Deletes a merge_request note.
203
- #
204
- # @example
205
- # Gitlab.delete_merge_request_note(5, 11, 3)
206
- #
207
- # @param [Integer] project The ID of a project.
208
- # @param [Integer] merge_request The ID of a merge_request.
209
- # @param [Integer] id The ID of a note.
210
- # @return [Gitlab::ObjectifiedHash]
211
- def delete_merge_request_note(project, merge_request, id)
212
- delete("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes/#{id}")
213
- end
214
- alias delete_merge_request_comment delete_merge_request_note
203
+ # Deletes a merge_request note.
204
+ #
205
+ # @example
206
+ # Gitlab.delete_merge_request_note(5, 11, 3)
207
+ #
208
+ # @param [Integer] project The ID of a project.
209
+ # @param [Integer] merge_request The ID of a merge_request.
210
+ # @param [Integer] id The ID of a note.
211
+ # @return [Gitlab::ObjectifiedHash]
212
+ def delete_merge_request_note(project, merge_request, id)
213
+ delete("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes/#{id}")
214
+ end
215
+ alias delete_merge_request_comment delete_merge_request_note
215
216
 
216
- # Modifies a wall note.
217
- #
218
- # @example
219
- # Gitlab.edit_note(5, 15, 'This is an edited note')
220
- #
221
- # @param [Integer] project The ID of a project.
222
- # @param [Integer] id The ID of a note.
223
- # @param [String] body The content of a note.
224
- # @return [Gitlab::ObjectifiedHash]
225
- def edit_note(project, id, body)
226
- put("/projects/#{url_encode project}/notes/#{id}", body: note_content(body))
227
- end
217
+ # Modifies a wall note.
218
+ #
219
+ # @example
220
+ # Gitlab.edit_note(5, 15, 'This is an edited note')
221
+ #
222
+ # @param [Integer] project The ID of a project.
223
+ # @param [Integer] id The ID of a note.
224
+ # @param [String] body The content of a note.
225
+ # @return [Gitlab::ObjectifiedHash]
226
+ def edit_note(project, id, body)
227
+ put("/projects/#{url_encode project}/notes/#{id}", body: note_content(body))
228
+ end
228
229
 
229
- # Modifies an issue note.
230
- #
231
- # @example
232
- # Gitlab.edit_issue_note(5, 10, 1, 'This is an edited issue note')
233
- #
234
- # @param [Integer] project The ID of a project.
235
- # @param [Integer] issue The ID of an issue.
236
- # @param [Integer] id The ID of a note.
237
- # @param [String] body The content of a note.
238
- # @return [Gitlab::ObjectifiedHash]
239
- def edit_issue_note(project, issue, id, body)
240
- put("/projects/#{url_encode project}/issues/#{issue}/notes/#{id}", body: note_content(body))
241
- end
230
+ # Modifies an issue note.
231
+ #
232
+ # @example
233
+ # Gitlab.edit_issue_note(5, 10, 1, 'This is an edited issue note')
234
+ #
235
+ # @param [Integer] project The ID of a project.
236
+ # @param [Integer] issue The ID of an issue.
237
+ # @param [Integer] id The ID of a note.
238
+ # @param [String] body The content of a note.
239
+ # @return [Gitlab::ObjectifiedHash]
240
+ def edit_issue_note(project, issue, id, body)
241
+ put("/projects/#{url_encode project}/issues/#{issue}/notes/#{id}", body: note_content(body))
242
+ end
242
243
 
243
- # Modifies a snippet note.
244
- #
245
- # @example
246
- # Gitlab.edit_snippet_note(5, 11, 3, 'This is an edited snippet note')
247
- #
248
- # @param [Integer] project The ID of a project.
249
- # @param [Integer] snippet The ID of a snippet.
250
- # @param [Integer] id The ID of a note.
251
- # @param [String] body The content of a note.
252
- # @return [Gitlab::ObjectifiedHash]
253
- def edit_snippet_note(project, snippet, id, body)
254
- put("/projects/#{url_encode project}/snippets/#{snippet}/notes/#{id}", body: note_content(body))
255
- end
244
+ # Modifies a snippet note.
245
+ #
246
+ # @example
247
+ # Gitlab.edit_snippet_note(5, 11, 3, 'This is an edited snippet note')
248
+ #
249
+ # @param [Integer] project The ID of a project.
250
+ # @param [Integer] snippet The ID of a snippet.
251
+ # @param [Integer] id The ID of a note.
252
+ # @param [String] body The content of a note.
253
+ # @return [Gitlab::ObjectifiedHash]
254
+ def edit_snippet_note(project, snippet, id, body)
255
+ put("/projects/#{url_encode project}/snippets/#{snippet}/notes/#{id}", body: note_content(body))
256
+ end
256
257
 
257
- # Modifies a merge_request note.
258
- #
259
- # @example
260
- # Gitlab.edit_merge_request_note(5, 11, 3, 'This is an edited merge request note')
261
- #
262
- # @param [Integer] project The ID of a project.
263
- # @param [Integer] merge_request The ID of a merge_request.
264
- # @param [Integer] id The ID of a note.
265
- # @param [String] body The content of a note.
266
- # @return [Gitlab::ObjectifiedHash]
267
- def edit_merge_request_note(project, merge_request, id, body)
268
- put("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes/#{id}", body: note_content(body))
269
- end
270
- alias edit_merge_request_comment edit_merge_request_note
258
+ # Modifies a merge_request note.
259
+ #
260
+ # @example
261
+ # Gitlab.edit_merge_request_note(5, 11, 3, 'This is an edited merge request note')
262
+ #
263
+ # @param [Integer] project The ID of a project.
264
+ # @param [Integer] merge_request The ID of a merge_request.
265
+ # @param [Integer] id The ID of a note.
266
+ # @param [String] body The content of a note.
267
+ # @return [Gitlab::ObjectifiedHash]
268
+ def edit_merge_request_note(project, merge_request, id, body)
269
+ put("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes/#{id}", body: note_content(body))
270
+ end
271
+ alias edit_merge_request_comment edit_merge_request_note
271
272
 
272
- private
273
+ private
273
274
 
274
- # TODO: Remove this method after a couple deprecation cycles. Replace calls with the code
275
- # in the 'else'.
276
- def note_content(body)
277
- if body.is_a?(Hash)
278
- STDERR.puts 'Passing the note body as a Hash is deprecated. You should just pass the String.'
279
- body
280
- else
281
- { body: body }
275
+ # TODO: Remove this method after a couple deprecation cycles. Replace calls with the code
276
+ # in the 'else'.
277
+ def note_content(body)
278
+ if body.is_a?(Hash)
279
+ STDERR.puts 'Passing the note body as a Hash is deprecated. You should just pass the String.'
280
+ body
281
+ else
282
+ { body: body }
283
+ end
282
284
  end
283
285
  end
284
286
  end