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,110 +1,112 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Defines methods related to MR Approvals.
4
- # @see https://docs.gitlab.com/ee/api/merge_request_approvals.html
5
- module MergeRequestApprovals
6
- # Gets MR Approval Configuration for a project
7
- #
8
- # @example
9
- # Gitlab.project_merge_request_approvals(1)
10
- #
11
- # @param [Integer] project The ID of a project.
12
- # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
13
- def project_merge_request_approvals(project)
14
- get("/projects/#{url_encode project}/approvals")
15
- end
3
+ class Gitlab::Client
4
+ # Defines methods related to MR Approvals.
5
+ # @see https://docs.gitlab.com/ee/api/merge_request_approvals.html
6
+ module MergeRequestApprovals
7
+ # Gets MR Approval Configuration for a project
8
+ #
9
+ # @example
10
+ # Gitlab.project_merge_request_approvals(1)
11
+ #
12
+ # @param [Integer] project The ID of a project.
13
+ # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
14
+ def project_merge_request_approvals(project)
15
+ get("/projects/#{url_encode project}/approvals")
16
+ end
16
17
 
17
- # Change MR Approval Configuration for a project
18
- #
19
- # @example
20
- # Gitlab.edit_project_merge_request_approvals(1, {approvals_before_merge: 3})
21
- # Gitlab.edit_project_merge_request_approvals(1, {approvals_before_merge: 3, reset_approvals_on_push: true})
22
- # Gitlab.edit_project_merge_request_approvals(1, {approvals_before_merge: 3, disable_overriding_approvers_per_merge_request: false})
23
- #
24
- # @param [Integer] project(required) The ID of a project.
25
- # @option options [Integer] :approvals_before_merge(optional) How many approvals are required before an MR can be merged
26
- # @option options [Boolean] :reset_approvals_on_push(optional) Reset approvals on a new push
27
- # @option options [Boolean] :disable_overriding_approvers_per_merge_request(optional) Allow/Disallow overriding approvers per MR
28
- # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
29
- def edit_project_merge_request_approvals(project, options = {})
30
- post("/projects/#{url_encode project}/approvals", body: options)
31
- end
18
+ # Change MR Approval Configuration for a project
19
+ #
20
+ # @example
21
+ # Gitlab.edit_project_merge_request_approvals(1, {approvals_before_merge: 3})
22
+ # Gitlab.edit_project_merge_request_approvals(1, {approvals_before_merge: 3, reset_approvals_on_push: true})
23
+ # Gitlab.edit_project_merge_request_approvals(1, {approvals_before_merge: 3, disable_overriding_approvers_per_merge_request: false})
24
+ #
25
+ # @param [Integer] project(required) The ID of a project.
26
+ # @option options [Integer] :approvals_before_merge(optional) How many approvals are required before an MR can be merged
27
+ # @option options [Boolean] :reset_approvals_on_push(optional) Reset approvals on a new push
28
+ # @option options [Boolean] :disable_overriding_approvers_per_merge_request(optional) Allow/Disallow overriding approvers per MR
29
+ # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
30
+ def edit_project_merge_request_approvals(project, options = {})
31
+ post("/projects/#{url_encode project}/approvals", body: options)
32
+ end
32
33
 
33
- # Change allowed approvers and approver groups for a project
34
- #
35
- # @example
36
- # Gitlab.edit_project_approvers(1, {approver_ids: [5], approver_groups: [1]})
37
- #
38
- # @param [Integer] project(required) The ID of a project.
39
- # @option options [Array] :approver_ids(optional) An array of User IDs that can approve MRs
40
- # @option options [Array] :approver_group_ids(optional) An array of Group IDs whose members can approve MRs
41
- # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
42
- def edit_project_approvers(project, options = {})
43
- put("/projects/#{url_encode project}/approvals", body: options)
44
- end
34
+ # Change allowed approvers and approver groups for a project
35
+ #
36
+ # @example
37
+ # Gitlab.edit_project_approvers(1, {approver_ids: [5], approver_groups: [1]})
38
+ #
39
+ # @param [Integer] project(required) The ID of a project.
40
+ # @option options [Array] :approver_ids(optional) An array of User IDs that can approve MRs
41
+ # @option options [Array] :approver_group_ids(optional) An array of Group IDs whose members can approve MRs
42
+ # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
43
+ def edit_project_approvers(project, options = {})
44
+ put("/projects/#{url_encode project}/approvals", body: options)
45
+ end
45
46
 
46
- # Get Configuration for approvals on a specific Merge Request.
47
- #
48
- # @example
49
- # Gitlab.merge_request_approvals(1, 5)
50
- #
51
- # @param [Integer] project(required) The ID of a project.
52
- # @param [Integer] merge_request(required) The IID of a merge_request.
53
- # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the merge request
54
- def merge_request_approvals(project, merge_request)
55
- get("/projects/#{url_encode project}/merge_requests/#{merge_request}/approvals")
56
- end
47
+ # Get Configuration for approvals on a specific Merge Request.
48
+ #
49
+ # @example
50
+ # Gitlab.merge_request_approvals(1, 5)
51
+ #
52
+ # @param [Integer] project(required) The ID of a project.
53
+ # @param [Integer] merge_request(required) The IID of a merge_request.
54
+ # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the merge request
55
+ def merge_request_approvals(project, merge_request)
56
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request}/approvals")
57
+ end
57
58
 
58
- # Change configuration for approvals on a specific merge request.
59
- #
60
- # @example
61
- # Gitlab.edit_merge_request_approvals(1, 5, approvals_required: 2)
62
- #
63
- # @param [Integer] project(required) The ID of a project.
64
- # @param [Integer] merge_request(required) The IID of a merge_request.
65
- # @option options [Integer] :approvals_required(required) Approvals required before MR can be merged
66
- # @return [Gitlab::ObjectifiedHash] Updated MR approval configuration information about the merge request
67
- def edit_merge_request_approvals(project, merge_request, options = {})
68
- post("/projects/#{url_encode project}/merge_requests/#{merge_request}/approvals", body: options)
69
- end
59
+ # Change configuration for approvals on a specific merge request.
60
+ #
61
+ # @example
62
+ # Gitlab.edit_merge_request_approvals(1, 5, approvals_required: 2)
63
+ #
64
+ # @param [Integer] project(required) The ID of a project.
65
+ # @param [Integer] merge_request(required) The IID of a merge_request.
66
+ # @option options [Integer] :approvals_required(required) Approvals required before MR can be merged
67
+ # @return [Gitlab::ObjectifiedHash] Updated MR approval configuration information about the merge request
68
+ def edit_merge_request_approvals(project, merge_request, options = {})
69
+ post("/projects/#{url_encode project}/merge_requests/#{merge_request}/approvals", body: options)
70
+ end
70
71
 
71
- # Change allowed approvers and approver groups for a merge request
72
- #
73
- # @example
74
- # Gitlab.edit_merge_request_approvers(1, 5, {approver_ids: [5], approver_groups: [1]})
75
- #
76
- # @param [Integer] project(required) The ID of a project.
77
- # @param [Integer] merge_request(required) The IID of a merge_request.
78
- # @option options [Array] :approver_ids(optional) An array of User IDs that can approve MRs
79
- # @option options [Array] :approver_group_ids(optional) An array of Group IDs whose members can approve MRs
80
- # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
81
- def edit_merge_request_approvers(project, merge_request, options = {})
82
- put("/projects/#{url_encode project}/merge_requests/#{merge_request}/approvals", body: options)
83
- end
72
+ # Change allowed approvers and approver groups for a merge request
73
+ #
74
+ # @example
75
+ # Gitlab.edit_merge_request_approvers(1, 5, {approver_ids: [5], approver_groups: [1]})
76
+ #
77
+ # @param [Integer] project(required) The ID of a project.
78
+ # @param [Integer] merge_request(required) The IID of a merge_request.
79
+ # @option options [Array] :approver_ids(optional) An array of User IDs that can approve MRs
80
+ # @option options [Array] :approver_group_ids(optional) An array of Group IDs whose members can approve MRs
81
+ # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
82
+ def edit_merge_request_approvers(project, merge_request, options = {})
83
+ put("/projects/#{url_encode project}/merge_requests/#{merge_request}/approvals", body: options)
84
+ end
84
85
 
85
- # Approve a merge request
86
- #
87
- # @example
88
- # Gitlab.approve_merge_request(1, 5)
89
- # Gitlab.approve_merge_request(1, 5, sha: 'fe678da')
90
- #
91
- # @param [Integer] project(required) The ID of a project.
92
- # @param [Integer] merge_request(required) The IID of a merge request.
93
- # @option options [String] :sha(optional) The HEAD of the MR
94
- # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
95
- def approve_merge_request(project, merge_request, options = {})
96
- post("/projects/#{url_encode project}/merge_requests/#{merge_request}/approve", body: options)
97
- end
86
+ # Approve a merge request
87
+ #
88
+ # @example
89
+ # Gitlab.approve_merge_request(1, 5)
90
+ # Gitlab.approve_merge_request(1, 5, sha: 'fe678da')
91
+ #
92
+ # @param [Integer] project(required) The ID of a project.
93
+ # @param [Integer] merge_request(required) The IID of a merge request.
94
+ # @option options [String] :sha(optional) The HEAD of the MR
95
+ # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
96
+ def approve_merge_request(project, merge_request, options = {})
97
+ post("/projects/#{url_encode project}/merge_requests/#{merge_request}/approve", body: options)
98
+ end
98
99
 
99
- # Unapprove a merge request
100
- #
101
- # @example
102
- # Gitlab.unapprove_merge_request(1, 5)
103
- #
104
- # @param [Integer] project(required) The ID of a project.
105
- # @param [Integer] merge_request(required) The IID of a merge request.
106
- # @return [void] This API call returns an empty response body.
107
- def unapprove_merge_request(project, merge_request)
108
- post("/projects/#{url_encode project}/merge_requests/#{merge_request}/unapprove")
100
+ # Unapprove a merge request
101
+ #
102
+ # @example
103
+ # Gitlab.unapprove_merge_request(1, 5)
104
+ #
105
+ # @param [Integer] project(required) The ID of a project.
106
+ # @param [Integer] merge_request(required) The IID of a merge request.
107
+ # @return [void] This API call returns an empty response body.
108
+ def unapprove_merge_request(project, merge_request)
109
+ post("/projects/#{url_encode project}/merge_requests/#{merge_request}/unapprove")
110
+ end
109
111
  end
110
112
  end
@@ -1,300 +1,302 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Defines methods related to merge requests.
4
- # @see https://docs.gitlab.com/ce/api/merge_requests.html
5
- module MergeRequests
6
- # Gets a list of all of the merge requests the authenticated user has access to.
7
- #
8
- # @example
9
- # Gitlab.user_merge_requests
10
- # Gitlab.user_merge_requests(state: :opened, scope: :all)
11
- #
12
- # @param [Hash] options A customizable set of options.
13
- # @return [Array<Gitlab::ObjectifiedHash>]
14
- def user_merge_requests(options = {})
15
- get('/merge_requests', query: options)
16
- end
3
+ class Gitlab::Client
4
+ # Defines methods related to merge requests.
5
+ # @see https://docs.gitlab.com/ce/api/merge_requests.html
6
+ module MergeRequests
7
+ # Gets a list of all of the merge requests the authenticated user has access to.
8
+ #
9
+ # @example
10
+ # Gitlab.user_merge_requests
11
+ # Gitlab.user_merge_requests(state: :opened, scope: :all)
12
+ #
13
+ # @param [Hash] options A customizable set of options.
14
+ # @return [Array<Gitlab::ObjectifiedHash>]
15
+ def user_merge_requests(options = {})
16
+ get('/merge_requests', query: options)
17
+ end
17
18
 
18
- # Gets a list of project merge requests.
19
- #
20
- # @example
21
- # Gitlab.merge_requests(5)
22
- # Gitlab.merge_requests(5, { per_page: 40 })
23
- #
24
- # @param [Integer, String] project The ID or name of a project.
25
- # @param [Hash] options A customizable set of options.
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 merge_requests(project, options = {})
30
- get("/projects/#{url_encode project}/merge_requests", query: options)
31
- end
19
+ # Gets a list of project merge requests.
20
+ #
21
+ # @example
22
+ # Gitlab.merge_requests(5)
23
+ # Gitlab.merge_requests(5, { per_page: 40 })
24
+ #
25
+ # @param [Integer, String] project The ID or name of a project.
26
+ # @param [Hash] options A customizable set of options.
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 merge_requests(project, options = {})
31
+ get("/projects/#{url_encode project}/merge_requests", query: options)
32
+ end
32
33
 
33
- # Gets a single merge request.
34
- #
35
- # @example
36
- # Gitlab.merge_request(5, 36)
37
- #
38
- # @param [Integer, String] project The ID or name of a project.
39
- # @param [Integer] id The ID of a merge request.
40
- # @return <Gitlab::ObjectifiedHash]
41
- def merge_request(project, id)
42
- get("/projects/#{url_encode project}/merge_requests/#{id}")
43
- end
34
+ # Gets a single merge request.
35
+ #
36
+ # @example
37
+ # Gitlab.merge_request(5, 36)
38
+ #
39
+ # @param [Integer, String] project The ID or name of a project.
40
+ # @param [Integer] id The ID of a merge request.
41
+ # @return <Gitlab::ObjectifiedHash]
42
+ def merge_request(project, id)
43
+ get("/projects/#{url_encode project}/merge_requests/#{id}")
44
+ end
44
45
 
45
- # Creates a merge request.
46
- #
47
- # @example
48
- # Gitlab.create_merge_request(5, 'New merge request',
49
- # { source_branch: 'source_branch', target_branch: 'target_branch' })
50
- # Gitlab.create_merge_request(5, 'New merge request',
51
- # { source_branch: 'source_branch', target_branch: 'target_branch', assignee_id: 42 })
52
- #
53
- # @param [Integer, String] project The ID or name of a project.
54
- # @param [String] title The title of a merge request.
55
- # @param [Hash] options A customizable set of options.
56
- # @option options [String] :source_branch (required) The source branch name.
57
- # @option options [String] :target_branch (required) The target branch name.
58
- # @option options [Integer] :assignee_id (optional) The ID of a user to assign merge request.
59
- # @option options [Integer] :target_project_id (optional) The target project ID.
60
- # @option options [String] :labels (optional) Labels as a comma-separated list.
61
- # @return [Gitlab::ObjectifiedHash] Information about created merge request.
62
- def create_merge_request(project, title, options = {})
63
- body = { title: title }.merge(options)
64
- post("/projects/#{url_encode project}/merge_requests", body: body)
65
- end
46
+ # Creates a merge request.
47
+ #
48
+ # @example
49
+ # Gitlab.create_merge_request(5, 'New merge request',
50
+ # { source_branch: 'source_branch', target_branch: 'target_branch' })
51
+ # Gitlab.create_merge_request(5, 'New merge request',
52
+ # { source_branch: 'source_branch', target_branch: 'target_branch', assignee_id: 42 })
53
+ #
54
+ # @param [Integer, String] project The ID or name of a project.
55
+ # @param [String] title The title of a merge request.
56
+ # @param [Hash] options A customizable set of options.
57
+ # @option options [String] :source_branch (required) The source branch name.
58
+ # @option options [String] :target_branch (required) The target branch name.
59
+ # @option options [Integer] :assignee_id (optional) The ID of a user to assign merge request.
60
+ # @option options [Integer] :target_project_id (optional) The target project ID.
61
+ # @option options [String] :labels (optional) Labels as a comma-separated list.
62
+ # @return [Gitlab::ObjectifiedHash] Information about created merge request.
63
+ def create_merge_request(project, title, options = {})
64
+ body = { title: title }.merge(options)
65
+ post("/projects/#{url_encode project}/merge_requests", body: body)
66
+ end
66
67
 
67
- # Updates a merge request.
68
- #
69
- # @example
70
- # Gitlab.update_merge_request(5, 42, { title: 'New title' })
71
- #
72
- # @param [Integer, String] project The ID or name of a project.
73
- # @param [Integer] id The ID of a merge request.
74
- # @param [Hash] options A customizable set of options.
75
- # @option options [String] :title The title of a merge request.
76
- # @option options [String] :source_branch The source branch name.
77
- # @option options [String] :target_branch The target branch name.
78
- # @option options [Integer] :assignee_id The ID of a user to assign merge request.
79
- # @option options [String] :state_event New state (close|reopen|merge).
80
- # @return [Gitlab::ObjectifiedHash] Information about updated merge request.
81
- def update_merge_request(project, id, options = {})
82
- put("/projects/#{url_encode project}/merge_requests/#{id}", body: options)
83
- end
68
+ # Updates a merge request.
69
+ #
70
+ # @example
71
+ # Gitlab.update_merge_request(5, 42, { title: 'New title' })
72
+ #
73
+ # @param [Integer, String] project The ID or name of a project.
74
+ # @param [Integer] id The ID of a merge request.
75
+ # @param [Hash] options A customizable set of options.
76
+ # @option options [String] :title The title of a merge request.
77
+ # @option options [String] :source_branch The source branch name.
78
+ # @option options [String] :target_branch The target branch name.
79
+ # @option options [Integer] :assignee_id The ID of a user to assign merge request.
80
+ # @option options [String] :state_event New state (close|reopen|merge).
81
+ # @return [Gitlab::ObjectifiedHash] Information about updated merge request.
82
+ def update_merge_request(project, id, options = {})
83
+ put("/projects/#{url_encode project}/merge_requests/#{id}", body: options)
84
+ end
84
85
 
85
- # Accepts a merge request.
86
- #
87
- # @example
88
- # Gitlab.accept_merge_request(5, 42, { merge_commit_message: 'Nice!' })
89
- #
90
- # @param [Integer, String] project The ID or name of a project.
91
- # @param [Integer] id The ID of a merge request.
92
- # @param [Hash] options A customizable set of options.
93
- # @option options [String] :merge_commit_message Custom merge commit message
94
- # @return [Gitlab::ObjectifiedHash] Information about updated merge request.
95
- def accept_merge_request(project, id, options = {})
96
- put("/projects/#{url_encode project}/merge_requests/#{id}/merge", body: options)
97
- end
86
+ # Accepts a merge request.
87
+ #
88
+ # @example
89
+ # Gitlab.accept_merge_request(5, 42, { merge_commit_message: 'Nice!' })
90
+ #
91
+ # @param [Integer, String] project The ID or name of a project.
92
+ # @param [Integer] id The ID of a merge request.
93
+ # @param [Hash] options A customizable set of options.
94
+ # @option options [String] :merge_commit_message Custom merge commit message
95
+ # @return [Gitlab::ObjectifiedHash] Information about updated merge request.
96
+ def accept_merge_request(project, id, options = {})
97
+ put("/projects/#{url_encode project}/merge_requests/#{id}/merge", body: options)
98
+ end
98
99
 
99
- # Gets the changes of a merge request.
100
- #
101
- # @example
102
- # Gitlab.merge_request_changes(5, 1)
103
- #
104
- # @param [Integer, String] project The ID or name of a project.
105
- # @param [Integer] id The ID of a merge request.
106
- # @return [Gitlab::ObjectifiedHash] The merge request's changes.
107
- def merge_request_changes(project, id)
108
- get("/projects/#{url_encode project}/merge_requests/#{id}/changes")
109
- end
100
+ # Gets the changes of a merge request.
101
+ #
102
+ # @example
103
+ # Gitlab.merge_request_changes(5, 1)
104
+ #
105
+ # @param [Integer, String] project The ID or name of a project.
106
+ # @param [Integer] id The ID of a merge request.
107
+ # @return [Gitlab::ObjectifiedHash] The merge request's changes.
108
+ def merge_request_changes(project, id)
109
+ get("/projects/#{url_encode project}/merge_requests/#{id}/changes")
110
+ end
110
111
 
111
- # Gets the commits of a merge request.
112
- #
113
- # @example
114
- # Gitlab.merge_request_commits(5, 1)
115
- #
116
- # @param [Integer, String] project The ID or name of a project.
117
- # @param [Integer] id The ID of a merge request.
118
- # @return [Array<Gitlab::ObjectifiedHash>] The merge request's commits.
119
- def merge_request_commits(project, id)
120
- get("/projects/#{url_encode project}/merge_requests/#{id}/commits")
121
- end
112
+ # Gets the commits of a merge request.
113
+ #
114
+ # @example
115
+ # Gitlab.merge_request_commits(5, 1)
116
+ #
117
+ # @param [Integer, String] project The ID or name of a project.
118
+ # @param [Integer] id The ID of a merge request.
119
+ # @return [Array<Gitlab::ObjectifiedHash>] The merge request's commits.
120
+ def merge_request_commits(project, id)
121
+ get("/projects/#{url_encode project}/merge_requests/#{id}/commits")
122
+ end
122
123
 
123
- # List issues that will close on merge
124
- #
125
- # @example
126
- # Gitlab.merge_request_closes_issues(5, 1)
127
- #
128
- # @param [Integer] project The ID of a project
129
- # @param [Integer] iid The internal ID of a merge request
130
- def merge_request_closes_issues(project_id, merge_request_iid)
131
- get("/projects/#{project_id}/merge_requests/#{merge_request_iid}/closes_issues")
132
- end
124
+ # List issues that will close on merge
125
+ #
126
+ # @example
127
+ # Gitlab.merge_request_closes_issues(5, 1)
128
+ #
129
+ # @param [Integer] project The ID of a project
130
+ # @param [Integer] iid The internal ID of a merge request
131
+ def merge_request_closes_issues(project_id, merge_request_iid)
132
+ get("/projects/#{project_id}/merge_requests/#{merge_request_iid}/closes_issues")
133
+ end
133
134
 
134
- # Subscribes to a merge request.
135
- #
136
- # @example
137
- # Gitlab.subscribe_to_merge_request(5, 1)
138
- # Gitlab.subscribe_to_merge_request('gitlab', 1)
139
- #
140
- # @param [Integer, String] project The ID or name of a project.
141
- # @param [Integer] id The ID of a merge request.
142
- # @return [Gitlab::ObjectifiedHash] Information about subscribed merge request.
143
- def subscribe_to_merge_request(project, id)
144
- post("/projects/#{url_encode project}/merge_requests/#{id}/subscribe")
145
- end
135
+ # Subscribes to a merge request.
136
+ #
137
+ # @example
138
+ # Gitlab.subscribe_to_merge_request(5, 1)
139
+ # Gitlab.subscribe_to_merge_request('gitlab', 1)
140
+ #
141
+ # @param [Integer, String] project The ID or name of a project.
142
+ # @param [Integer] id The ID of a merge request.
143
+ # @return [Gitlab::ObjectifiedHash] Information about subscribed merge request.
144
+ def subscribe_to_merge_request(project, id)
145
+ post("/projects/#{url_encode project}/merge_requests/#{id}/subscribe")
146
+ end
146
147
 
147
- # Unsubscribes from a merge request.
148
- #
149
- # @example
150
- # Gitlab.unsubscribe_from_merge_request(5, 1)
151
- # Gitlab.unsubscribe_from_merge_request('gitlab', 1)
152
- #
153
- # @param [Integer, String] project The ID or name of a project.
154
- # @param [Integer] id The ID of a merge request.
155
- # @return [Gitlab::ObjectifiedHash] Information about unsubscribed merge request.
156
- def unsubscribe_from_merge_request(project, id)
157
- post("/projects/#{url_encode project}/merge_requests/#{id}/unsubscribe")
158
- end
148
+ # Unsubscribes from a merge request.
149
+ #
150
+ # @example
151
+ # Gitlab.unsubscribe_from_merge_request(5, 1)
152
+ # Gitlab.unsubscribe_from_merge_request('gitlab', 1)
153
+ #
154
+ # @param [Integer, String] project The ID or name of a project.
155
+ # @param [Integer] id The ID of a merge request.
156
+ # @return [Gitlab::ObjectifiedHash] Information about unsubscribed merge request.
157
+ def unsubscribe_from_merge_request(project, id)
158
+ post("/projects/#{url_encode project}/merge_requests/#{id}/unsubscribe")
159
+ end
159
160
 
160
- # List project merge request discussions
161
- #
162
- # @example
163
- # Gitlab.merge_request_discussions(5, 1)
164
- # Gitlab.merge_request_discussions('gitlab', 1)
165
- # @param [Integer, String] project The ID or name of a project.
166
- # @param [Integer] id The ID of a merge request.
167
- # @return [Gitlab::ObjectifiedHash] List of the merge request discussions.
168
- def merge_request_discussions(project, merge_request_id)
169
- get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions")
170
- end
161
+ # List project merge request discussions
162
+ #
163
+ # @example
164
+ # Gitlab.merge_request_discussions(5, 1)
165
+ # Gitlab.merge_request_discussions('gitlab', 1)
166
+ # @param [Integer, String] project The ID or name of a project.
167
+ # @param [Integer] id The ID of a merge request.
168
+ # @return [Gitlab::ObjectifiedHash] List of the merge request discussions.
169
+ def merge_request_discussions(project, merge_request_id)
170
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions")
171
+ end
171
172
 
172
- # Get single merge request discussion
173
- #
174
- # @example
175
- # Gitlab.merge_request_discussion(5, 1, 1)
176
- # Gitlab.merge_request_discussion('gitlab', 1, 1)
177
- # @param [Integer, String] project The ID or name of a project.
178
- # @param [Integer] id The ID of a merge request.
179
- # @param [Integer] discussion_id The ID of a discussion.
180
- # @return [Gitlab::ObjectifiedHash] The merge request discussion.
181
- def merge_request_discussion(project, merge_request_id, discussion_id)
182
- get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}")
183
- end
173
+ # Get single merge request discussion
174
+ #
175
+ # @example
176
+ # Gitlab.merge_request_discussion(5, 1, 1)
177
+ # Gitlab.merge_request_discussion('gitlab', 1, 1)
178
+ # @param [Integer, String] project The ID or name of a project.
179
+ # @param [Integer] id The ID of a merge request.
180
+ # @param [Integer] discussion_id The ID of a discussion.
181
+ # @return [Gitlab::ObjectifiedHash] The merge request discussion.
182
+ def merge_request_discussion(project, merge_request_id, discussion_id)
183
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}")
184
+ end
184
185
 
185
- # Create new merge request discussion
186
- #
187
- # @example
188
- # Gitlab.create_merge_request_discussion(5, 1, body: 'discuss')
189
- # Gitlab.create_merge_request_discussion('gitlab', 1, body: 'discuss')
190
- # @param [Integer, String] project The ID or name of a project.
191
- # @param [Integer] id The ID of a merge request.
192
- # @param [Hash] options A customizable set of options.
193
- # * :body (String) The content of a discussion
194
- # * :created_at (String) Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z
195
- # * :position (Hash) Position when creating a diff note
196
- # * :base_sha (String) Base commit SHA in the source branch
197
- # * :start_sha (String) SHA referencing commit in target branch
198
- # * :head_sha (String) SHA referencing HEAD of this merge request
199
- # * :position_type (String) Type of the position reference', allowed values: 'text' or 'image'
200
- # * :new_path (String) File path after change
201
- # * :new_line (Integer) Line number after change (for 'text' diff notes)
202
- # * :old_path (String) File path before change
203
- # * :old_line (Integer) Line number before change (for 'text' diff notes)
204
- # * :width (Integer) Width of the image (for 'image' diff notes)
205
- # * :height (Integer) Height of the image (for 'image' diff notes)
206
- # * :x (Integer) X coordinate (for 'image' diff notes)
207
- # * :y (Integer) Y coordinate (for 'image' diff notes)
208
- # @return [Gitlab::ObjectifiedHash] The created merge request discussion.
209
- def create_merge_request_discussion(project, merge_request_id, options = {})
210
- post("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions", body: options)
211
- end
186
+ # Create new merge request discussion
187
+ #
188
+ # @example
189
+ # Gitlab.create_merge_request_discussion(5, 1, body: 'discuss')
190
+ # Gitlab.create_merge_request_discussion('gitlab', 1, body: 'discuss')
191
+ # @param [Integer, String] project The ID or name of a project.
192
+ # @param [Integer] id The ID of a merge request.
193
+ # @param [Hash] options A customizable set of options.
194
+ # * :body (String) The content of a discussion
195
+ # * :created_at (String) Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z
196
+ # * :position (Hash) Position when creating a diff note
197
+ # * :base_sha (String) Base commit SHA in the source branch
198
+ # * :start_sha (String) SHA referencing commit in target branch
199
+ # * :head_sha (String) SHA referencing HEAD of this merge request
200
+ # * :position_type (String) Type of the position reference', allowed values: 'text' or 'image'
201
+ # * :new_path (String) File path after change
202
+ # * :new_line (Integer) Line number after change (for 'text' diff notes)
203
+ # * :old_path (String) File path before change
204
+ # * :old_line (Integer) Line number before change (for 'text' diff notes)
205
+ # * :width (Integer) Width of the image (for 'image' diff notes)
206
+ # * :height (Integer) Height of the image (for 'image' diff notes)
207
+ # * :x (Integer) X coordinate (for 'image' diff notes)
208
+ # * :y (Integer) Y coordinate (for 'image' diff notes)
209
+ # @return [Gitlab::ObjectifiedHash] The created merge request discussion.
210
+ def create_merge_request_discussion(project, merge_request_id, options = {})
211
+ post("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions", body: options)
212
+ end
212
213
 
213
- # Resolve a merge request discussion
214
- #
215
- # @example
216
- # Gitlab.resolve_merge_request_discussion(5, 1, 1, true)
217
- # Gitlab.resolve_merge_request_discussion('gitlab', 1, 1, false)
218
- # @param [Integer, String] project The ID or name of a project.
219
- # @param [Integer] id The ID of a merge request.
220
- # @param [Integer] discussion_id The ID of a discussion.
221
- # @param [Hash] options A customizable set of options.
222
- # @option options [Boolean] :resolved Resolve/unresolve the discussion.
223
- # @return [Gitlab::ObjectifiedHash] The merge request discussion.
224
- def resolve_merge_request_discussion(project, merge_request_id, discussion_id, options)
225
- put("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}", body: options)
226
- end
214
+ # Resolve a merge request discussion
215
+ #
216
+ # @example
217
+ # Gitlab.resolve_merge_request_discussion(5, 1, 1, true)
218
+ # Gitlab.resolve_merge_request_discussion('gitlab', 1, 1, false)
219
+ # @param [Integer, String] project The ID or name of a project.
220
+ # @param [Integer] id The ID of a merge request.
221
+ # @param [Integer] discussion_id The ID of a discussion.
222
+ # @param [Hash] options A customizable set of options.
223
+ # @option options [Boolean] :resolved Resolve/unresolve the discussion.
224
+ # @return [Gitlab::ObjectifiedHash] The merge request discussion.
225
+ def resolve_merge_request_discussion(project, merge_request_id, discussion_id, options)
226
+ put("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}", body: options)
227
+ end
227
228
 
228
- # Add note to existing merge request discussion
229
- #
230
- # @example
231
- # Gitlab.create_merge_request_discussion_note(5, 1, 1, note_id: 1, body: 'note')
232
- # Gitlab.create_merge_request_discussion_note('gitlab', 1, 1, note_id: 1, body: 'note')
233
- # @param [Integer, String] project The ID or name of a project.
234
- # @param [Integer] id The ID of a merge request.
235
- # @param [Integer] discussion_id The ID of a discussion.
236
- # @param [Hash] options A customizable set of options.
237
- # @option options [Integer] :note_id The ID of a discussion note.
238
- # @option options [String] :body The content of a discussion.
239
- # @option options [String] :created_at Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z.
240
- # @return [Gitlab::ObjectifiedHash] The merge request discussion note.
241
- def create_merge_request_discussion_note(project, merge_request_id, discussion_id, options)
242
- post("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}/notes", body: options)
243
- end
229
+ # Add note to existing merge request discussion
230
+ #
231
+ # @example
232
+ # Gitlab.create_merge_request_discussion_note(5, 1, 1, note_id: 1, body: 'note')
233
+ # Gitlab.create_merge_request_discussion_note('gitlab', 1, 1, note_id: 1, body: 'note')
234
+ # @param [Integer, String] project The ID or name of a project.
235
+ # @param [Integer] id The ID of a merge request.
236
+ # @param [Integer] discussion_id The ID of a discussion.
237
+ # @param [Hash] options A customizable set of options.
238
+ # @option options [Integer] :note_id The ID of a discussion note.
239
+ # @option options [String] :body The content of a discussion.
240
+ # @option options [String] :created_at Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z.
241
+ # @return [Gitlab::ObjectifiedHash] The merge request discussion note.
242
+ def create_merge_request_discussion_note(project, merge_request_id, discussion_id, options)
243
+ post("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}/notes", body: options)
244
+ end
244
245
 
245
- # Modify an existing merge request discussion note
246
- #
247
- # @example
248
- # Gitlab.update_merge_request_discussion_note(5, 1, 1, 1, body: 'note')
249
- # Gitlab.update_merge_request_discussion_note('gitlab', 1, 1, 1, body: 'note')
250
- # @param [Integer, String] project The ID or name of a project.
251
- # @param [Integer] id The ID of a merge request.
252
- # @param [Integer] discussion_id The ID of a discussion.
253
- # @param [Integer] note_id The ID of a discussion note.
254
- # @param [Hash] options A customizable set of options.
255
- # @option options [String] :body The content of a discussion.
256
- # @option options [Boolean] :resolved Resolve/unresolve the note.
257
- # @return [Gitlab::ObjectifiedHash] The merge request discussion note.
258
- def update_merge_request_discussion_note(project, merge_request_id, discussion_id, note_id, options)
259
- put("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}/notes/#{note_id}", body: options)
260
- end
246
+ # Modify an existing merge request discussion note
247
+ #
248
+ # @example
249
+ # Gitlab.update_merge_request_discussion_note(5, 1, 1, 1, body: 'note')
250
+ # Gitlab.update_merge_request_discussion_note('gitlab', 1, 1, 1, body: 'note')
251
+ # @param [Integer, String] project The ID or name of a project.
252
+ # @param [Integer] id The ID of a merge request.
253
+ # @param [Integer] discussion_id The ID of a discussion.
254
+ # @param [Integer] note_id The ID of a discussion note.
255
+ # @param [Hash] options A customizable set of options.
256
+ # @option options [String] :body The content of a discussion.
257
+ # @option options [Boolean] :resolved Resolve/unresolve the note.
258
+ # @return [Gitlab::ObjectifiedHash] The merge request discussion note.
259
+ def update_merge_request_discussion_note(project, merge_request_id, discussion_id, note_id, options)
260
+ put("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}/notes/#{note_id}", body: options)
261
+ end
261
262
 
262
- # Delete a merge request discussion note
263
- #
264
- # @example
265
- # Gitlab.delete_merge_request_discussion_note(5, 1, 1, 1)
266
- # Gitlab.delete_merge_request_discussion_note('gitlab', 1, 1, 1)
267
- # @param [Integer, String] project The ID or name of a project.
268
- # @param [Integer] id The ID of a merge request.
269
- # @param [Integer] discussion_id The ID of a discussion.
270
- # @param [Integer] note_id The ID of a discussion note.
271
- # @return [Gitlab::ObjectifiedHash] An empty response.
272
- def delete_merge_request_discussion_note(project, merge_request_id, discussion_id, note_id)
273
- delete("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}/notes/#{note_id}")
274
- end
263
+ # Delete a merge request discussion note
264
+ #
265
+ # @example
266
+ # Gitlab.delete_merge_request_discussion_note(5, 1, 1, 1)
267
+ # Gitlab.delete_merge_request_discussion_note('gitlab', 1, 1, 1)
268
+ # @param [Integer, String] project The ID or name of a project.
269
+ # @param [Integer] id The ID of a merge request.
270
+ # @param [Integer] discussion_id The ID of a discussion.
271
+ # @param [Integer] note_id The ID of a discussion note.
272
+ # @return [Gitlab::ObjectifiedHash] An empty response.
273
+ def delete_merge_request_discussion_note(project, merge_request_id, discussion_id, note_id)
274
+ delete("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/discussions/#{discussion_id}/notes/#{note_id}")
275
+ end
275
276
 
276
- # Gets a list of merge request diff versions
277
- #
278
- # @example
279
- # Gitlab.merge_request_versions(5, 1)
280
- # Gitlab.merge_request_versions('gitlab', 1)
281
- # @param [Integer, String] project The ID or name of a project.
282
- # @param [Integer] id The ID of a merge request.
283
- # @return [Gitlab::ObjectifiedHash] A list of the merge request versions.
284
- def merge_request_diff_versions(project, merge_request_id)
285
- get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/versions")
286
- end
277
+ # Gets a list of merge request diff versions
278
+ #
279
+ # @example
280
+ # Gitlab.merge_request_versions(5, 1)
281
+ # Gitlab.merge_request_versions('gitlab', 1)
282
+ # @param [Integer, String] project The ID or name of a project.
283
+ # @param [Integer] id The ID of a merge request.
284
+ # @return [Gitlab::ObjectifiedHash] A list of the merge request versions.
285
+ def merge_request_diff_versions(project, merge_request_id)
286
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/versions")
287
+ end
287
288
 
288
- # Gets the diff a single merge request diff version\
289
- #
290
- # @example
291
- # Gitlab.merge_request_diff_version(5, 1, 1)
292
- # Gitlab.merge_request_diff_version('gitlab', 1, 1)
293
- # @param [Integer, String] project The ID or name of a project.
294
- # @param [Integer] id The ID of a merge request.
295
- # @param [Integer] id The ID of a merge request diff version.
296
- # @return [Gitlab::ObjectifiedHash] Record of the specific diff
297
- def merge_request_diff_version(project, merge_request_id, version_id)
298
- get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/versions/#{version_id}")
289
+ # Gets the diff a single merge request diff version\
290
+ #
291
+ # @example
292
+ # Gitlab.merge_request_diff_version(5, 1, 1)
293
+ # Gitlab.merge_request_diff_version('gitlab', 1, 1)
294
+ # @param [Integer, String] project The ID or name of a project.
295
+ # @param [Integer] id The ID of a merge request.
296
+ # @param [Integer] id The ID of a merge request diff version.
297
+ # @return [Gitlab::ObjectifiedHash] Record of the specific diff
298
+ def merge_request_diff_version(project, merge_request_id, version_id)
299
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request_id}/versions/#{version_id}")
300
+ end
299
301
  end
300
302
  end