gitlab 4.14.0 → 4.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -58,7 +58,7 @@ class Gitlab::Client
58
58
  # @param [String] name The name of a label.
59
59
  # @return [Gitlab::ObjectifiedHash] Information about deleted label.
60
60
  def delete_label(project, name)
61
- delete("/projects/#{url_encode project}/labels", body: { name: name })
61
+ delete("/projects/#{url_encode project}/labels/#{name}")
62
62
  end
63
63
 
64
64
  # Subscribes the user to a label to receive notifications
@@ -31,6 +31,62 @@ class Gitlab::Client
31
31
  post("/projects/#{url_encode project}/approvals", body: options)
32
32
  end
33
33
 
34
+ # Gets MR Approval Rules for a project
35
+ #
36
+ # @example
37
+ # Gitlab.project_merge_request_approval_rules(1)
38
+ #
39
+ # @param [Integer] project The ID of a project.
40
+ # @return [Gitlab::ObjectifiedHash] MR approval rules for the project
41
+ def project_merge_request_approval_rules(project)
42
+ get("/projects/#{url_encode project}/approval_rules")
43
+ end
44
+
45
+ # Create MR Approval Rule for a project
46
+ #
47
+ # @example
48
+ # Gitlab.create_project_merge_request_approval_rule(1, {name: "security", approvals_required: 1})
49
+ #
50
+ # @param [Integer] project(required) The ID of a project.
51
+ # @option options [String] :name(required) The name of the approval rule
52
+ # @option options [Integer] :approvals_required(required) The number of required approvals for this rule
53
+ # @option options [Array] :user_ids(optional) The ids of users as approvers
54
+ # @option options [Array] :group_ids(optional) The ids of groups as approvers
55
+ # @option options [Array] :protected_branch_ids(optional) The ids of protected branches to scope the rule by
56
+ # @return [Gitlab::ObjectifiedHash] New MR approval rule
57
+ def create_project_merge_request_approval_rule(project, options = {})
58
+ post("/projects/#{url_encode project}/approval_rules", body: options)
59
+ end
60
+
61
+ # Update MR Approval Rule for a project
62
+ #
63
+ # @example
64
+ # Gitlab.update_project_merge_request_approval_rule(1, {name: "security", approvals_required: 2})
65
+ #
66
+ # @param [Integer] project(required) The ID of a project.
67
+ # @param [Integer] approval_rule_id(required) The ID of a project Approval Rule
68
+ # @option options [String] :name(required) The name of the approval rule
69
+ # @option options [Integer] :approvals_required(required) The number of required approvals for this rule
70
+ # @option options [Array] :user_ids(optional) The ids of users as approvers
71
+ # @option options [Array] :group_ids(optional) The ids of groups as approvers
72
+ # @option options [Array] :protected_branch_ids(optional) The ids of protected branches to scope the rule by
73
+ # @return [Gitlab::ObjectifiedHash] Updated MR approval rule
74
+ def update_project_merge_request_approval_rule(project, approval_rule_id, options = {})
75
+ put("/projects/#{url_encode project}/approval_rules/#{approval_rule_id}", body: options)
76
+ end
77
+
78
+ # Delete MR Approval Rule for a project
79
+ #
80
+ # @example
81
+ # Gitlab.delete_project_merge_request_approval_rule(1, 1)
82
+ #
83
+ # @param [Integer] project(required) The ID of a project.
84
+ # @param [Integer] approval_rule_id(required) The ID of a approval rule
85
+ # @return [void] This API call returns an empty response body
86
+ def delete_project_merge_request_approval_rule(project, approval_rule_id)
87
+ delete("/projects/#{url_encode project}/approval_rules/#{approval_rule_id}")
88
+ end
89
+
34
90
  # Change allowed approvers and approver groups for a project
35
91
  #
36
92
  # @example
@@ -109,5 +165,17 @@ class Gitlab::Client
109
165
  def unapprove_merge_request(project, merge_request, options = {})
110
166
  post("/projects/#{url_encode project}/merge_requests/#{merge_request}/unapprove", body: options)
111
167
  end
168
+
169
+ # Get the approval state of merge requests
170
+ #
171
+ # @example
172
+ # Gitlab.merge_request_approval_state(5, 36)
173
+ #
174
+ # @param [Integer, String] project The ID or name of a project.
175
+ # @param [Integer] id The ID of a merge request.
176
+ # @return [Array<Gitlab::ObjectifiedHash>]
177
+ def merge_request_approval_state(project, id)
178
+ get("/projects/#{url_encode project}/merge_requests/#{id}/approval_state")
179
+ end
112
180
  end
113
181
  end
@@ -35,12 +35,16 @@ class Gitlab::Client
35
35
  #
36
36
  # @example
37
37
  # Gitlab.merge_request(5, 36)
38
+ # Gitlab.merge_request(5, 36, { include_diverged_commits_count: true })
38
39
  #
39
40
  # @param [Integer, String] project The ID or name of a project.
40
41
  # @param [Integer] id The ID of a merge request.
42
+ # @option options [Boolean] :render_html If true response includes rendered HTML for title and description.
43
+ # @option options [Boolean] :include_diverged_commits_count If true response includes the commits behind the target branch.
44
+ # @option options [Boolean] :include_rebase_in_progress If true response includes whether a rebase operation is in progress.
41
45
  # @return <Gitlab::ObjectifiedHash]
42
- def merge_request(project, id)
43
- get("/projects/#{url_encode project}/merge_requests/#{id}")
46
+ def merge_request(project, id, options = {})
47
+ get("/projects/#{url_encode project}/merge_requests/#{id}", query: options)
44
48
  end
45
49
 
46
50
  # Gets a list of merge request pipelines.
@@ -81,8 +85,14 @@ class Gitlab::Client
81
85
  # @option options [String] :source_branch (required) The source branch name.
82
86
  # @option options [String] :target_branch (required) The target branch name.
83
87
  # @option options [Integer] :assignee_id (optional) The ID of a user to assign merge request.
88
+ # @option options [Array<Integer>] :assignee_ids (optional) The ID of the user(s) to assign the MR to. Set to 0 or provide an empty value to unassign all assignees.
89
+ # @option options [String] :description (optional) Description of MR. Limited to 1,048,576 characters.
84
90
  # @option options [Integer] :target_project_id (optional) The target project ID.
85
91
  # @option options [String] :labels (optional) Labels as a comma-separated list.
92
+ # @option options [Integer] :milestone_id (optional) The global ID of a milestone
93
+ # @option options [Boolean] :remove_source_branch (optional) Flag indicating if a merge request should remove the source branch when merging
94
+ # @option options [Boolean] :allow_collaboration (optional) Allow commits from members who can merge to the target branch
95
+ # @option options [Boolean] :squash (optional) Squash commits into a single commit when merging
86
96
  # @return [Gitlab::ObjectifiedHash] Information about created merge request.
87
97
  def create_merge_request(project, title, options = {})
88
98
  body = { title: title }.merge(options)
@@ -115,7 +125,12 @@ class Gitlab::Client
115
125
  # @param [Integer, String] project The ID or name of a project.
116
126
  # @param [Integer] id The ID of a merge request.
117
127
  # @param [Hash] options A customizable set of options.
118
- # @option options [String] :merge_commit_message Custom merge commit message
128
+ # @option options [String] :merge_commit_message(optional) Custom merge commit message
129
+ # @option options [String] :squash_commit_message(optional) Custom squash commit message
130
+ # @option options [Boolean] :squash(optional) if true the commits will be squashed into a single commit on merge
131
+ # @option options [Boolean] :should_remove_source_branch(optional) if true removes the source branch
132
+ # @option options [Boolean] :merge_when_pipeline_succeeds(optional) if true the MR is merged when the pipeline succeeds
133
+ # @option options [String] :sha(optional) if present, then this SHA must match the HEAD of the source branch, otherwise the merge will fail
119
134
  # @return [Gitlab::ObjectifiedHash] Information about updated merge request.
120
135
  def accept_merge_request(project, id, options = {})
121
136
  put("/projects/#{url_encode project}/merge_requests/#{id}/merge", body: options)
@@ -60,6 +60,20 @@ class Gitlab::Client
60
60
  end
61
61
  alias merge_request_comments merge_request_notes
62
62
 
63
+ # Gets a list of notes for an epic.
64
+ #
65
+ # @example
66
+ # Gitlab.epic_notes(5, 10)
67
+ #
68
+ # @param [Integer] project The ID of a group.
69
+ # @param [Integer] epic The ID of an epic.
70
+ # @option options [Integer] :page The page number.
71
+ # @option options [Integer] :per_page The number of results per page.
72
+ # @return [Array<Gitlab::ObjectifiedHash>]
73
+ def epic_notes(group, epic, options = {})
74
+ get("/groups/#{url_encode group}/epics/#{epic}/notes", query: options)
75
+ end
76
+
63
77
  # Gets a single wall note.
64
78
  #
65
79
  # @example
@@ -162,6 +176,19 @@ class Gitlab::Client
162
176
  end
163
177
  alias create_merge_request_comment create_merge_request_note
164
178
 
179
+ # Creates a new epic note.
180
+ #
181
+ # @example
182
+ # Gitlab.create_epic_note(6, 1, 'Adding a note to my epic.')
183
+ #
184
+ # @param [Integer, String] group The ID or name of a group.
185
+ # @param [Integer] epic The ID of an epic.
186
+ # @param [String] body The body of a note.
187
+ # @return [Gitlab::ObjectifiedHash] Information about created note.
188
+ def create_epic_note(group, epic, body)
189
+ post("/groups/#{url_encode group}/epics/#{epic}/notes", body: { body: body })
190
+ end
191
+
165
192
  # Deletes a wall note.
166
193
  #
167
194
  # @example
@@ -44,7 +44,7 @@ class Gitlab::Client
44
44
  # @option options [Boolean] :active The activation of pipeline schedule. If false is set, the pipeline schedule will deactivated initially (default: true).
45
45
  # @return [Array<Gitlab::ObjectifiedHash>]
46
46
  def create_pipeline_schedule(project, options = {})
47
- post("/projects/#{url_encode project}/pipeline_schedules", query: options)
47
+ post("/projects/#{url_encode project}/pipeline_schedules", body: options)
48
48
  end
49
49
 
50
50
  # Updates the pipeline schedule of a project.
@@ -62,7 +62,7 @@ class Gitlab::Client
62
62
  # @option options [Boolean] :active The activation of pipeline schedule. If false is set, the pipeline schedule will deactivated initially (default: true).
63
63
  # @return [Array<Gitlab::ObjectifiedHash>] The updated pipeline schedule.
64
64
  def edit_pipeline_schedule(project, pipeline_schedule_id, options = {})
65
- put("/projects/#{url_encode project}/pipeline_schedules/#{pipeline_schedule_id}", query: options)
65
+ put("/projects/#{url_encode project}/pipeline_schedules/#{pipeline_schedule_id}", body: options)
66
66
  end
67
67
 
68
68
  # Take ownership of a pipeline schedule.
@@ -101,7 +101,7 @@ class Gitlab::Client
101
101
  # @option options [String] :value The value of a variable
102
102
  # @return [Array<Gitlab::ObjectifiedHash>] The created pipeline schedule variable.
103
103
  def create_pipeline_schedule_variable(project, pipeline_schedule_id, options = {})
104
- post("/projects/#{url_encode project}/pipeline_schedules/#{pipeline_schedule_id}/variables", query: options)
104
+ post("/projects/#{url_encode project}/pipeline_schedules/#{pipeline_schedule_id}/variables", body: options)
105
105
  end
106
106
 
107
107
  # Updates the variable of a pipeline schedule.
@@ -116,7 +116,7 @@ class Gitlab::Client
116
116
  # @option options [String] :value The value of a variable.
117
117
  # @return [Array<Gitlab::ObjectifiedHash>] The updated pipeline schedule variable.
118
118
  def edit_pipeline_schedule_variable(project, pipeline_schedule_id, key, options = {})
119
- put("/projects/#{url_encode project}/pipeline_schedules/#{pipeline_schedule_id}/variables/#{url_encode key}", query: options)
119
+ put("/projects/#{url_encode project}/pipeline_schedules/#{pipeline_schedule_id}/variables/#{url_encode key}", body: options)
120
120
  end
121
121
 
122
122
  # Delete the variable of a pipeline schedule
@@ -31,6 +31,18 @@ class Gitlab::Client
31
31
  get("/projects/#{url_encode project}/pipelines/#{id}")
32
32
  end
33
33
 
34
+ # Gets a single pipeline's test report.
35
+ #
36
+ # @example
37
+ # Gitlab.pipeline_test_report(5, 36)
38
+ #
39
+ # @param [Integer, String] project The ID or name of a project.
40
+ # @param [Integer] id The ID of a pipeline.
41
+ # @return [Gitlab::ObjectifiedHash]
42
+ def pipeline_test_report(project, id)
43
+ get("/projects/#{url_encode project}/pipelines/#{id}/test_report")
44
+ end
45
+
34
46
  # Create a pipeline.
35
47
  #
36
48
  # @example
@@ -102,6 +102,22 @@ class Gitlab::Client
102
102
  get("/projects/#{url_encode project}/members", query: options)
103
103
  end
104
104
 
105
+ # Gets a list of all project team members including inherited members.
106
+ #
107
+ # @example
108
+ # Gitlab.all_members(42)
109
+ # Gitlab.all_members('gitlab')
110
+ #
111
+ # @param [Integer, String] project The ID or path of a project.
112
+ # @param [Hash] options A customizable set of options.
113
+ # @option options [String] :query The search query.
114
+ # @option options [Integer] :page The page number.
115
+ # @option options [Integer] :per_page The number of results per page.
116
+ # @return [Array<Gitlab::ObjectifiedHash>]
117
+ def all_members(project, options = {})
118
+ get("/projects/#{url_encode project}/members/all", query: options)
119
+ end
120
+
105
121
  # Gets a project team member.
106
122
  #
107
123
  # @example
@@ -519,6 +535,25 @@ class Gitlab::Client
519
535
  delete("/projects/#{url_encode id}/star")
520
536
  end
521
537
 
538
+ # Get a list of visible projects that the given user has starred.
539
+ # @see https://docs.gitlab.com/ee/api/projects.html#list-projects-starred-by-a-user
540
+ #
541
+ # @example
542
+ # Gitlab.user_starred_projects(1)
543
+ # Gitlab.user_starred_projects(1, { order_by: 'last_activity_at' })
544
+ # Gitlab.user_starred_projects('username', { order_by: 'name', sort: 'asc' })
545
+ #
546
+ # @param [Integer, String] user_id The ID or username of the user.
547
+ # @param [Hash] options A customizable set of options.
548
+ # @option options [String] :per_page Number of projects to return per page
549
+ # @option options [String] :page The page to retrieve
550
+ # @option options [String] :order_by Return projects ordered by id, name, path, created_at, updated_at, or last_activity_at fields.
551
+ # @option options [String] :sort Return projects sorted in asc or desc order.
552
+ # @return [Array<Gitlab::ObjectifiedHash>]
553
+ def user_starred_projects(user_id, options = {})
554
+ get("/users/#{url_encode user_id}/starred_projects", query: options)
555
+ end
556
+
522
557
  # Get a list of visible projects for the given user.
523
558
  # @see https://docs.gitlab.com/ee/api/projects.html#list-user-projects
524
559
  #
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Gitlab::Client
4
+ # Defines methods related to resource state events.
5
+ # @see https://docs.gitlab.com/ee/api/resource_state_events.html
6
+ module ResourceStateEvents
7
+ # Gets a list of all state events for a single issue.
8
+ #
9
+ # @example
10
+ # Gitlab.issue_state_events(5, 42)
11
+ #
12
+ # @param [Integer, String] project The ID or name of a project.
13
+ # @param [Integer] issue_iid The IID of an issue.
14
+ # @return [Array<Gitlab::ObjectifiedHash>]
15
+ def issue_state_events(project, issue_iid)
16
+ get("/projects/#{url_encode project}/issues/#{issue_iid}/resource_state_events")
17
+ end
18
+
19
+ # Returns a single state event for a specific project issue
20
+ #
21
+ # @example
22
+ # Gitlab.issue_state_event(5, 42, 1)
23
+ #
24
+ # @param [Integer, String] project The ID or name of a project.
25
+ # @param [Integer] issue_iid The IID of an issue.
26
+ # @param [Integer] id The ID of a resource event.
27
+ # @return Gitlab::ObjectifiedHash
28
+ def issue_state_event(project, issue_iid, id)
29
+ get("/projects/#{url_encode project}/issues/#{issue_iid}/resource_state_events/#{id}")
30
+ end
31
+
32
+ # Gets a list of all state events for a single merge request.
33
+ #
34
+ # @example
35
+ # Gitlab.merge_request_state_events(5, 42)
36
+ #
37
+ # @param [Integer, String] project The ID or name of a project.
38
+ # @param [Integer] merge_request_iid The IID of a merge request.
39
+ # @return [Array<Gitlab::ObjectifiedHash>]
40
+ def merge_request_state_events(project, merge_request_iid)
41
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request_iid}/resource_state_events")
42
+ end
43
+
44
+ # Returns a single state event for a specific project merge request
45
+ #
46
+ # @example
47
+ # Gitlab.merge_request_state_event(5, 42, 1)
48
+ #
49
+ # @param [Integer, String] project The ID or name of a project.
50
+ # @param [Integer] merge_request_iid The IID of an merge request.
51
+ # @param [Integer] id The ID of a state event.
52
+ # @return Gitlab::ObjectifiedHash
53
+ def merge_request_state_event(project, merge_request_iid, id)
54
+ get("/projects/#{url_encode project}/merge_requests/#{merge_request_iid}/resource_state_events/#{id}")
55
+ end
56
+ end
57
+ end
@@ -9,11 +9,13 @@ class Gitlab::Client
9
9
  #
10
10
  # @example
11
11
  # Gitlab.runners
12
- # Gitlab.runners(:active)
13
- # Gitlab.runners(:paused)
12
+ # Gitlab.runners(type: 'instance_type', status: 'active')
13
+ # Gitlab.runners(tag_list: 'tag1,tag2')
14
14
  #
15
15
  # @param [Hash] options A customizable set of options.
16
- # @option options [String] :scope The scope of specific runners to show, one of: active, paused, online; showing all runners if none provided
16
+ # @option options [String] :type(optional) The type of runners to show, one of: instance_type, group_type, project_type
17
+ # @option options [String] :status(optional) The status of runners to show, one of: active, paused, online, offline
18
+ # @option options [String] :tag_list(optional) List of the runners tags (separated by comma)
17
19
  # @return [Array<Gitlab::ObjectifiedHash>]
18
20
  def runners(options = {})
19
21
  get('/runners', query: options)
@@ -24,9 +26,13 @@ class Gitlab::Client
24
26
  #
25
27
  # @example
26
28
  # Gitlab.all_runners
29
+ # Gitlab.all_runners(type: 'instance_type', status: 'active')
30
+ # Gitlab.all_runners(tag_list: 'tag1,tag2')
27
31
  #
28
32
  # @param [Hash] options A customizable set of options.
29
- # @option options [String] :scope The scope of runners to show, one of: specific, shared, active, paused, online; showing all runners if none provided
33
+ # @option options [String] :type(optional) The type of runners to show, one of: instance_type, group_type, project_type
34
+ # @option options [String] :status(optional) The status of runners to show, one of: active, paused, online, offline
35
+ # @option options [String] :tag_list(optional) List of the runners tags (separated by comma)
30
36
  # @return [Array<Gitlab::ObjectifiedHash>]
31
37
  def all_runners(options = {})
32
38
  get('/runners/all', query: options)
@@ -50,15 +56,19 @@ class Gitlab::Client
50
56
  # @example
51
57
  # Gitlab.update_runner(42, { description: 'Awesome runner' })
52
58
  # Gitlab.update_runner(42, { active: false })
53
- # Gitlab.update_runner(42, { tag_list: [ 'awesome', 'runner' ] })
54
59
  #
55
60
  # @param [Integer, String] id The ID of a runner
56
61
  # @param [Hash] options A customizable set of options.
57
- # @option options [String] :active The state of a runner; can be set to true or false.
58
- # @option options [String] :tag_list The list of tags for a runner; put array of tags, that should be finally assigned to a runner
62
+ # @option options [String] :description(optional) The description of a runner
63
+ # @option options [Boolean] :active(optional) The state of a runner; can be set to true or false
64
+ # @option options [String] :tag_list(optional) The list of tags for a runner; put array of tags, that should be finally assigned to a runner(separated by comma)
65
+ # @option options [Boolean] :run_untagged(optional) Flag indicating the runner can execute untagged jobs
66
+ # @option options [Boolean] :locked(optional) Flag indicating the runner is locked
67
+ # @option options [String] :access_level(optional) The access_level of the runner; not_protected or ref_protected
68
+ # @option options [Integer] :maximum_timeout(optional) Maximum timeout set when this runner will handle the job
59
69
  # @return <Gitlab::ObjectifiedHash>
60
70
  def update_runner(id, options = {})
61
- put("/runners/#{id}", query: options)
71
+ put("/runners/#{id}", body: options)
62
72
  end
63
73
 
64
74
  # Remove a runner.
@@ -68,19 +78,23 @@ class Gitlab::Client
68
78
  # Gitlab.delete_runner(42)
69
79
  #
70
80
  # @param [Integer, String] id The ID of a runner
71
- # @return <Gitlab::ObjectifiedHash>
81
+ # @return [nil] This API call returns an empty response body.
72
82
  def delete_runner(id)
73
83
  delete("/runners/#{id}")
74
84
  end
75
85
 
76
- # Gets a list of Jobs for a Runner
86
+ # List jobs that are being processed or were processed by specified runner.
77
87
  #
78
88
  # @example
79
89
  # Gitlab.runner_jobs(1)
90
+ # Gitlab.runner_jobs(1, status: 'success')
91
+ # Gitlab.runner_jobs(1, sort: 'desc')
80
92
  #
81
93
  # @param [Integer] id The ID of a runner.
82
94
  # @param [Hash] options A customizable set of options.
83
- # @option options [String] :status Status of the job; one of: running, success, failed, canceled
95
+ # @option options [String] :status(optional) Status of the job; one of: running, success, failed, canceled
96
+ # @option options [String] :order_by(optional) Order jobs by id.
97
+ # @option options [String] :sort(optional) Sort jobs in asc or desc order (default: desc)
84
98
  # @return [Array<Gitlab::ObjectifiedHash>]
85
99
  def runner_jobs(runner_id, options = {})
86
100
  get("/runners/#{url_encode runner_id}/jobs", query: options)
@@ -91,11 +105,17 @@ class Gitlab::Client
91
105
  #
92
106
  # @example
93
107
  # Gitlab.project_runners(42)
108
+ # Gitlab.project_runners(42, type: 'instance_type', status: 'active')
109
+ # Gitlab.project_runners(42, tag_list: 'tag1,tag2')
94
110
  #
95
111
  # @param [Integer, String] id The ID or name of a project.
112
+ # @param [Hash] options A customizable set of options.
113
+ # @option options [String] :type(optional) The type of runners to show, one of: instance_type, group_type, project_type
114
+ # @option options [String] :status(optional) The status of runners to show, one of: active, paused, online, offline
115
+ # @option options [String] :tag_list(optional) List of the runners tags (separated by comma)
96
116
  # @return [Array<Gitlab::ObjectifiedHash>]
97
- def project_runners(project_id)
98
- get("/projects/#{url_encode project_id}/runners")
117
+ def project_runners(project_id, options = {})
118
+ get("/projects/#{url_encode project_id}/runners", query: options)
99
119
  end
100
120
 
101
121
  # Enable an available specific runner in the project.
@@ -125,21 +145,39 @@ class Gitlab::Client
125
145
  delete("/projects/#{url_encode id}/runners/#{runner_id}")
126
146
  end
127
147
 
148
+ # List all runners (specific and shared) available in the group as well its ancestor groups. Shared runners are listed if at least one shared runner is defined.
149
+ # @see https://docs.gitlab.com/ee/api/runners.html#list-groups-runners
150
+ #
151
+ # @example
152
+ # Gitlab.group_runners(9)
153
+ # Gitlab.group_runners(9, type: 'instance_type', status: 'active')
154
+ # Gitlab.group_runners(9, tag_list: 'tag1,tag2')
155
+ #
156
+ # @param [Integer, String] id The ID or name of a project.
157
+ # @param [Hash] options A customizable set of options.
158
+ # @option options [String] :type(optional) The type of runners to show, one of: instance_type, group_type, project_type
159
+ # @option options [String] :status(optional) The status of runners to show, one of: active, paused, online, offline
160
+ # @option options [String] :tag_list(optional) List of the runners tags (separated by comma)
161
+ # @return [Array<Gitlab::ObjectifiedHash>]
162
+ def group_runners(group, options = {})
163
+ get("/groups/#{url_encode group}/runners", query: options)
164
+ end
165
+
128
166
  # Register a new Runner for the instance.
129
167
  #
130
168
  # @example
131
169
  # Gitlab.register_runner('9142c16ea169eaaea3d752313a434a6e')
132
170
  # Gitlab.register_runner('9142c16ea169eaaea3d752313a434a6e', description: 'Some Description', active: true, locked: false)
133
171
  #
134
- # @param [String] token Registration token.
172
+ # @param [String] token(required) Registration token.
135
173
  # @param [Hash] options A customizable set of options.
136
- # @option options [String] :description Runner description.
137
- # @option options [Hash] :info Runner metadata.
138
- # @option options [Boolean] :active Whether the Runner is active.
139
- # @option options [Boolean] :locked Whether the Runner should be locked for current project.
140
- # @option options [Boolean] :run_untagged Whether the Runner should handle untagged jobs.
141
- # @option options [Array<String>] :tag_list List of Runner tags.
142
- # @option options [Integer] :maximum_timeout Maximum timeout set when this Runner will handle the job.
174
+ # @option options [String] :description(optional) Runner description.
175
+ # @option options [Hash] :info(optional) Runner metadata.
176
+ # @option options [Boolean] :active(optional) Whether the Runner is active.
177
+ # @option options [Boolean] :locked(optional) Whether the Runner should be locked for current project.
178
+ # @option options [Boolean] :run_untagged(optional) Whether the Runner should handle untagged jobs.
179
+ # @option options [Array<String>] :tag_list(optional) List of Runner tags.
180
+ # @option options [Integer] :maximum_timeout(optional) Maximum timeout set when this Runner will handle the job.
143
181
  # @return <Gitlab::ObjectifiedHash> Response against runner registration
144
182
  def register_runner(token, options = {})
145
183
  body = { token: token }.merge(options)