gitlab 4.9.0 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/gitlab/client.rb +4 -0
- data/lib/gitlab/client/avatar.rb +21 -0
- data/lib/gitlab/client/boards.rb +56 -0
- data/lib/gitlab/client/group_boards.rb +141 -0
- data/lib/gitlab/client/group_labels.rb +88 -0
- data/lib/gitlab/client/groups.rb +12 -0
- data/lib/gitlab/client/labels.rb +1 -1
- data/lib/gitlab/client/merge_requests.rb +12 -0
- data/lib/gitlab/client/search.rb +62 -0
- data/lib/gitlab/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ffd49c727596fb28465bceabb3674b310772840169be0b80cacfbd2a415e266
|
4
|
+
data.tar.gz: 0f1ca4531f96bf17b640880089db77284336b69832fa5bbab31d35d60c128e4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f758f2a0b714d8ef390cb65ebe39d7fbc48f4e3230b252e79ee82ec4e5f0e352e4499fdf6df0f913f4799ccb3db4caaecfd5ed9a37463a330b4593d147de0494
|
7
|
+
data.tar.gz: 879cc8c1b0432435c3868dde4ad0f943875c8b719021f7c8b5965a775db8b3172ab0b239daa643b1e7f8575519ba5cf60963f7c2c2c858ec93e592e687bb89c3
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
[gitlab-live](https://github.com/NARKOZ/gitlab-live)
|
12
12
|
|
13
13
|
Gitlab is a Ruby wrapper and CLI for the [GitLab API](https://docs.gitlab.com/ce/api/README.html).
|
14
|
-
As of version `4.0.0` this gem only supports
|
14
|
+
As of version `4.0.0` this gem only supports GitLab API v4.
|
15
15
|
|
16
16
|
## Installation
|
17
17
|
|
data/lib/gitlab/client.rb
CHANGED
@@ -7,6 +7,7 @@ module Gitlab
|
|
7
7
|
|
8
8
|
# Please keep in alphabetical order
|
9
9
|
include AccessRequests
|
10
|
+
include Avatar
|
10
11
|
include AwardEmojis
|
11
12
|
include Boards
|
12
13
|
include Branches
|
@@ -18,6 +19,8 @@ module Gitlab
|
|
18
19
|
include Environments
|
19
20
|
include Events
|
20
21
|
include Features
|
22
|
+
include GroupBoards
|
23
|
+
include GroupLabels
|
21
24
|
include GroupMilestones
|
22
25
|
include Groups
|
23
26
|
include Issues
|
@@ -43,6 +46,7 @@ module Gitlab
|
|
43
46
|
include RepositorySubmodules
|
44
47
|
include ResourceLabelEvents
|
45
48
|
include Runners
|
49
|
+
include Search
|
46
50
|
include Services
|
47
51
|
include Sidekiq
|
48
52
|
include Snippets
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Gitlab::Client
|
4
|
+
# Defines methods related to avatar.
|
5
|
+
# @see https://docs.gitlab.com/ce/api/avatar.html
|
6
|
+
module Avatar
|
7
|
+
# Get a single avatar URL for a user with the given email address.
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
# Gitlab.avatar(email: 'admin@example.com')
|
11
|
+
# Gitlab.avatar(email: 'admin@example.com', size: 32)
|
12
|
+
#
|
13
|
+
# @param [Hash] options A customizable set of options.
|
14
|
+
# @option options [String] :email(required) Public email address of the user.
|
15
|
+
# @option options [Integer] :size(optional) Single pixel dimension (since images are squares). Only used for avatar lookups at Gravatar or at the configured Libravatar server.
|
16
|
+
# @return <Gitlab::ObjectifiedHash>
|
17
|
+
def avatar(options = {})
|
18
|
+
get('/avatar', query: options)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/gitlab/client/boards.rb
CHANGED
@@ -19,6 +19,62 @@ class Gitlab::Client
|
|
19
19
|
get("/projects/#{url_encode project}/boards", query: options)
|
20
20
|
end
|
21
21
|
|
22
|
+
# Get a single board.
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Gitlab.board(5, 1)
|
26
|
+
#
|
27
|
+
# @param [Integer, String] project The ID or name of a project.
|
28
|
+
# @param [Integer] id The ID of a board.
|
29
|
+
# @return [Gitlab::ObjectifiedHash] Returns information about the board
|
30
|
+
def board(project, id)
|
31
|
+
get("/projects/#{url_encode project}/boards/#{id}")
|
32
|
+
end
|
33
|
+
|
34
|
+
# Creates a new board.
|
35
|
+
#
|
36
|
+
# @example
|
37
|
+
# Gitlab.create_board(5, 'newboard')
|
38
|
+
#
|
39
|
+
# @param [Integer, String] project The ID or name of a project.
|
40
|
+
# @param [String] name The name of the new board.
|
41
|
+
# @return [Gitlab::ObjectifiedHash] Information about created board.
|
42
|
+
def create_board(project, name)
|
43
|
+
body = { name: name }
|
44
|
+
post("/projects/#{url_encode project}/boards", body: body)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Updates a board.
|
48
|
+
#
|
49
|
+
# @example
|
50
|
+
# Gitlab.edit_board(5, 1, name: 'new_name')
|
51
|
+
# Gitlab.edit_board(5, 1, name: 'new_name', assignee_id: 1, milestone_id: 1)
|
52
|
+
#
|
53
|
+
# @param [Integer, String] project The ID or name of a project.
|
54
|
+
# @param [Integer] id The ID of a board.
|
55
|
+
# @param [Hash] options A customizable set of options.
|
56
|
+
# @option options [String] :name(optional) The new name of the board.
|
57
|
+
# @option options [Integer] :assignee_id(optional) The assignee the board should be scoped to.
|
58
|
+
# @option options [Integer] :milestone_id(optional) The milestone the board should be scoped to.
|
59
|
+
# @option options [String] :labels(optional) Comma-separated list of label names which the board should be scoped to.
|
60
|
+
# @option options [Integer] :weight(optional) The weight range from 0 to 9, to which the board should be scoped to.
|
61
|
+
# @return [Gitlab::ObjectifiedHash] Information about updated board.
|
62
|
+
def edit_board(project, id, options = {})
|
63
|
+
put("/projects/#{url_encode project}/boards/#{id}", body: options)
|
64
|
+
end
|
65
|
+
|
66
|
+
# Deletes a board.
|
67
|
+
#
|
68
|
+
# @example
|
69
|
+
# Gitlab.delete_board(5, 1)
|
70
|
+
#
|
71
|
+
# @param [Integer, String] project The ID or name of a project.
|
72
|
+
# @param [Integer] id The ID of a board.
|
73
|
+
# @return [void] This API call returns an empty response body.
|
74
|
+
def delete_board(project, id)
|
75
|
+
delete("/projects/#{url_encode project}/boards/#{id}")
|
76
|
+
end
|
77
|
+
|
22
78
|
# Gets a board lists
|
23
79
|
#
|
24
80
|
# @example
|
@@ -0,0 +1,141 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Gitlab::Client
|
4
|
+
# Defines methods related to group issue boards.
|
5
|
+
# @see https://docs.gitlab.com/ee/api/group_boards.html
|
6
|
+
module GroupBoards
|
7
|
+
# Lists Issue Boards in the given group.
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
# Gitlab.group_boards(5)
|
11
|
+
#
|
12
|
+
# @param [Integer, String] group The ID or name of a group.
|
13
|
+
# @return [Array<Gitlab::ObjectifiedHash>] List of issue boards of the group
|
14
|
+
def group_boards(group)
|
15
|
+
get("/groups/#{url_encode group}/boards")
|
16
|
+
end
|
17
|
+
|
18
|
+
# Gets a single group issue board.
|
19
|
+
#
|
20
|
+
# @example
|
21
|
+
# Gitlab.group_board(5, 1)
|
22
|
+
#
|
23
|
+
# @param [Integer, String] group The ID or name of a group.
|
24
|
+
# @param [Integer] id The ID of the issue board.
|
25
|
+
# @return [Gitlab::ObjectifiedHash] Returns information about a group issue board
|
26
|
+
def group_board(group, id)
|
27
|
+
get("/groups/#{url_encode group}/boards/#{id}")
|
28
|
+
end
|
29
|
+
|
30
|
+
# Creates a new group issue board.
|
31
|
+
#
|
32
|
+
# @example
|
33
|
+
# Gitlab.create_group_board(5, 'Documentcloud')
|
34
|
+
#
|
35
|
+
# @param [Integer, String] group The ID or name of a group.
|
36
|
+
# @param [String] name The name of the new board.
|
37
|
+
# @return [Gitlab::ObjectifiedHash] Information about created group issue board.
|
38
|
+
def create_group_board(group, name)
|
39
|
+
body = { name: name }
|
40
|
+
post("/groups/#{url_encode group}/boards", body: body)
|
41
|
+
end
|
42
|
+
|
43
|
+
# Updates a group issue board.
|
44
|
+
#
|
45
|
+
# @example
|
46
|
+
# Gitlab.edit_group_board(5, 1, { name: 'DocumentCloud2' })
|
47
|
+
# Gitlab.edit_group_board(5, 1, { name: 'DocumentCloud2', assignee_id: 3 })
|
48
|
+
#
|
49
|
+
# @param [Integer, String] group The ID or name of a group.
|
50
|
+
# @param [Integer] id The ID of the issue board.
|
51
|
+
# @param [Hash] options A customizable set of options.
|
52
|
+
# @option options [String] :name(optional) The new name of the board.
|
53
|
+
# @option options [Integer] :assignee_id(optional) The assignee the board should be scoped to.
|
54
|
+
# @option options [Integer] :milestone_id(optional) The milestone the board should be scoped to.
|
55
|
+
# @option options [String] :labels(optional) Comma-separated list of label names which the board should be scoped to.
|
56
|
+
# @option options [Integer] :weight(optional) The weight range from 0 to 9, to which the board should be scoped to.
|
57
|
+
# @return [Gitlab::ObjectifiedHash] Information about updated group issue board.
|
58
|
+
def edit_group_board(group, id, options = {})
|
59
|
+
put("/groups/#{url_encode group}/boards/#{id}", body: options)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Deletes a group issue board.
|
63
|
+
#
|
64
|
+
# @example
|
65
|
+
# Gitlab.delete_group_board(5, 1)
|
66
|
+
#
|
67
|
+
# @param [Integer, String] group The ID or name of a group.
|
68
|
+
# @param [Integer] id The ID of the issue board.
|
69
|
+
# @return [void] This API call returns an empty response body.
|
70
|
+
def delete_group_board(group, id)
|
71
|
+
delete("/groups/#{url_encode group}/boards/#{id}")
|
72
|
+
end
|
73
|
+
|
74
|
+
# Get a list of the boards lists. Does not include open and closed lists
|
75
|
+
#
|
76
|
+
# @example
|
77
|
+
# Gitlab.group_board_lists(5, 1)
|
78
|
+
#
|
79
|
+
# @param [Integer, String] group The ID or name of a group.
|
80
|
+
# @param [Integer] board_id The ID of the group issue board.
|
81
|
+
# @return [Array<Gitlab::ObjectifiedHash>] List of boards lists of the group
|
82
|
+
def group_board_lists(group, board_id)
|
83
|
+
get("/groups/#{url_encode group}/boards/#{board_id}/lists")
|
84
|
+
end
|
85
|
+
|
86
|
+
# Get a single group issue board list.
|
87
|
+
#
|
88
|
+
# @example
|
89
|
+
# Gitlab.group_board_list(5, 1, 1)
|
90
|
+
#
|
91
|
+
# @param [Integer, String] group The ID or name of a group.
|
92
|
+
# @param [Integer] board_id The ID of the group issue board.
|
93
|
+
# @param [Integer] list_id The ID of a boards list.
|
94
|
+
# @return [Gitlab::ObjectifiedHash] Returns information about a single group issue board list
|
95
|
+
def group_board_list(group, board_id, id)
|
96
|
+
get("/groups/#{url_encode group}/boards/#{board_id}/lists/#{id}")
|
97
|
+
end
|
98
|
+
|
99
|
+
# Creates a new group issue board list.
|
100
|
+
#
|
101
|
+
# @example
|
102
|
+
# Gitlab.create_group_board_list(5, 1)
|
103
|
+
#
|
104
|
+
# @param [Integer, String] group The ID or name of a group.
|
105
|
+
# @param [Integer] board_id The ID of the group issue board.
|
106
|
+
# @param [Integer] label_id The ID of a label.
|
107
|
+
# @return [Gitlab::ObjectifiedHash] Information about created group issue board list.
|
108
|
+
def create_group_board_list(group, board_id, label_id)
|
109
|
+
body = { label_id: label_id }
|
110
|
+
post("/groups/#{url_encode group}/boards/#{board_id}/lists", body: body)
|
111
|
+
end
|
112
|
+
|
113
|
+
# Updates an existing group issue board list. This call is used to change list position.
|
114
|
+
#
|
115
|
+
# @example
|
116
|
+
# Gitlab.edit_group_board_list(5, 1, 1, { position: 1 })
|
117
|
+
#
|
118
|
+
# @param [Integer, String] group The ID or name of a group.
|
119
|
+
# @param [Integer] board_id The ID of the group issue board.
|
120
|
+
# @param [Integer] list_id The ID of a boards list.
|
121
|
+
# @param [Hash] options A customizable set of options.
|
122
|
+
# @option options [String] :position(required) The position of the list.
|
123
|
+
# @return [Gitlab::ObjectifiedHash] Information about updated group issue board list.
|
124
|
+
def edit_group_board_list(group, board_id, id, options = {})
|
125
|
+
put("/groups/#{url_encode group}/boards/#{board_id}/lists/#{id}", body: options)
|
126
|
+
end
|
127
|
+
|
128
|
+
# Deletes a group issue board list.
|
129
|
+
#
|
130
|
+
# @example
|
131
|
+
# Gitlab.delete_group_board_list(5, 1, 1)
|
132
|
+
#
|
133
|
+
# @param [Integer, String] group The ID or name of a group.
|
134
|
+
# @param [Integer] board_id The ID of the group issue board.
|
135
|
+
# @param [Integer] list_id The ID of a boards list.
|
136
|
+
# @return [void] This API call returns an empty response body.
|
137
|
+
def delete_group_board_list(group, board_id, id)
|
138
|
+
delete("/groups/#{url_encode group}/boards/#{board_id}/lists/#{id}")
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Gitlab::Client
|
4
|
+
# Defines methods related to group labels.
|
5
|
+
#
|
6
|
+
# @note Requires GitLab 11.8+
|
7
|
+
# @see https://docs.gitlab.com/ee/api/group_labels.html
|
8
|
+
module GroupLabels
|
9
|
+
# Gets a list of group's labels.
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Gitlab.group_labels('globex')
|
13
|
+
#
|
14
|
+
# @param [Integer, String] group The ID or name of a group.
|
15
|
+
# @return [Array<Gitlab::ObjectifiedHash>]
|
16
|
+
def group_labels(group, options = {})
|
17
|
+
get("/groups/#{url_encode group}/labels", query: options)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Creates a new group label.
|
21
|
+
#
|
22
|
+
# @example
|
23
|
+
# Gitlab.create_group_label('globex', 'Backlog', '#DD10AA')
|
24
|
+
#
|
25
|
+
# @param [Integer, String] group The ID or name of a group.
|
26
|
+
# @param [String] name The name of a label.
|
27
|
+
# @param [String] color The color of a label.
|
28
|
+
# @param [Hash] options A customizable set of options.
|
29
|
+
# @option options [String] :description The description of the label.
|
30
|
+
# @return [Gitlab::ObjectifiedHash] Information about created label.
|
31
|
+
def create_group_label(group, name, color, options = {})
|
32
|
+
post("/groups/#{url_encode group}/labels", body: options.merge(name: name, color: color))
|
33
|
+
end
|
34
|
+
|
35
|
+
# Updates a group label.
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Gitlab.edit_group_label('globex', 'Backlog', { new_name: 'Priority' })
|
39
|
+
# Gitlab.edit_group_label('globex', 'Backlog', { new_name: 'Priority', color: '#DD10AA' })
|
40
|
+
#
|
41
|
+
# @param [Integer, String] group The ID or name of a group.
|
42
|
+
# @param [String] name The name of a label.
|
43
|
+
# @param [Hash] options A customizable set of options.
|
44
|
+
# @option options [String] :new_name The new name of a label.
|
45
|
+
# @option options [String] :color The color of a label.
|
46
|
+
# @option options [String] :description The description of the label.
|
47
|
+
# @return [Gitlab::ObjectifiedHash] Information about updated label.
|
48
|
+
def edit_group_label(group, name, options = {})
|
49
|
+
put("/groups/#{url_encode group}/labels", body: options.merge(name: name))
|
50
|
+
end
|
51
|
+
|
52
|
+
# Deletes a group label.
|
53
|
+
#
|
54
|
+
# @example
|
55
|
+
# Gitlab.delete_group_label('globex', 'Backlog')
|
56
|
+
#
|
57
|
+
# @param [Integer, String] group The ID or name of a group.
|
58
|
+
# @param [String] name The name of a label.
|
59
|
+
# @return [Gitlab::ObjectifiedHash] Information about deleted label.
|
60
|
+
def delete_group_label(group, name)
|
61
|
+
delete("/groups/#{url_encode group}/labels", body: { name: name })
|
62
|
+
end
|
63
|
+
|
64
|
+
# Subscribes the user to a group label to receive notifications
|
65
|
+
#
|
66
|
+
# @example
|
67
|
+
# Gitlab.subscribe_to_group_label('globex', 'Backlog')
|
68
|
+
#
|
69
|
+
# @param [Integer, String] group The ID or name of a group.
|
70
|
+
# @param [String] name The name of a label.
|
71
|
+
# @return [Gitlab::ObjectifiedHash] Information about the label subscribed to.
|
72
|
+
def subscribe_to_group_label(group, name)
|
73
|
+
post("/groups/#{url_encode group}/labels/#{url_encode name}/subscribe")
|
74
|
+
end
|
75
|
+
|
76
|
+
# Unsubscribes the user from a group label to not receive notifications from it
|
77
|
+
#
|
78
|
+
# @example
|
79
|
+
# Gitlab.unsubscribe_from_group_label('globex', 'Backlog')
|
80
|
+
#
|
81
|
+
# @param [Integer, String] group The ID or name of a group.
|
82
|
+
# @param [String] name The name of a label.
|
83
|
+
# @return [Gitlab::ObjectifiedHash] Information about the label unsubscribed from.
|
84
|
+
def unsubscribe_from_group_label(group, name)
|
85
|
+
post("/groups/#{url_encode group}/labels/#{url_encode name}/unsubscribe")
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
data/lib/gitlab/client/groups.rb
CHANGED
@@ -191,5 +191,17 @@ class Gitlab::Client
|
|
191
191
|
def edit_group(id, options = {})
|
192
192
|
put("/groups/#{url_encode id}", body: options)
|
193
193
|
end
|
194
|
+
|
195
|
+
# Gets a list of issues of a group.
|
196
|
+
#
|
197
|
+
# @example
|
198
|
+
# Gitlab.group_issues(5)
|
199
|
+
#
|
200
|
+
# @param [Integer, String] group_id The ID or name of a group.
|
201
|
+
# @param [Hash] options A customizable set of options.
|
202
|
+
# @return [Array<Gitlab::ObjectifiedHash>]
|
203
|
+
def group_issues(group, options = {})
|
204
|
+
get("/groups/#{group}/issues", query: options)
|
205
|
+
end
|
194
206
|
end
|
195
207
|
end
|
data/lib/gitlab/client/labels.rb
CHANGED
@@ -55,6 +55,18 @@ class Gitlab::Client
|
|
55
55
|
get("/projects/#{url_encode project}/merge_requests/#{id}/pipelines")
|
56
56
|
end
|
57
57
|
|
58
|
+
# Get a list of merge request participants.
|
59
|
+
#
|
60
|
+
# @example
|
61
|
+
# Gitlab.merge_request_participants(5, 36)
|
62
|
+
#
|
63
|
+
# @param [Integer, String] project The ID or name of a project.
|
64
|
+
# @param [Integer] id The ID of a merge request.
|
65
|
+
# @return [Array<Gitlab::ObjectifiedHash>]
|
66
|
+
def merge_request_participants(project, id)
|
67
|
+
get("/projects/#{url_encode project}/merge_requests/#{id}/participants")
|
68
|
+
end
|
69
|
+
|
58
70
|
# Creates a merge request.
|
59
71
|
#
|
60
72
|
# @example
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Gitlab::Client
|
4
|
+
# Defines methods related to global searches, searching in projects and searching in groups.
|
5
|
+
# @see https://docs.gitlab.com/ce/api/search.html
|
6
|
+
module Search
|
7
|
+
# Search globally across the GitLab instance.
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
# Gitlab.search_globally('projects', 'gitlab')
|
11
|
+
# Gitlab.search_globally('issues', 'gitlab')
|
12
|
+
# Gitlab.search_globally('merge_requests', 'gitlab')
|
13
|
+
# Gitlab.search_globally('milestones', 'gitlab')
|
14
|
+
# Gitlab.search_globally('snippet_titles', 'gitlab')
|
15
|
+
# Gitlab.search_globally('snippet_blobs', 'gitlab')
|
16
|
+
#
|
17
|
+
# @param [String] scope The scope to search in. Currently these scopes are supported: projects, issues, merge_requests, milestones, snippet_titles, snippet_blobs.
|
18
|
+
# @param [String] search The search query.
|
19
|
+
# @return [Array<Gitlab::ObjectifiedHash>] Returns a list of responses depending on the requested scope.
|
20
|
+
def search_globally(scope, search)
|
21
|
+
options = { scope: scope, search: search }
|
22
|
+
get('/search', query: options)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Search within the specified group.
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# Gitlab.search_in_group(1, 'projects', 'gitlab')
|
29
|
+
# Gitlab.search_in_group(1, 'issues', 'gitlab')
|
30
|
+
# Gitlab.search_in_group(1, 'merge_requests', 'gitlab')
|
31
|
+
# Gitlab.search_in_group(1, 'milestones', 'gitlab')
|
32
|
+
#
|
33
|
+
# @param [Integer, String] group The ID or name of a group.
|
34
|
+
# @param [String] scope The scope to search in. Currently these scopes are supported: projects, issues, merge_requests, milestones.
|
35
|
+
# @param [String] search The search query.
|
36
|
+
# @return [Array<Gitlab::ObjectifiedHash>] Returns a list of responses depending on the requested scope.
|
37
|
+
def search_in_group(group, scope, search)
|
38
|
+
options = { scope: scope, search: search }
|
39
|
+
get("/groups/#{url_encode group}/search", query: options)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Search within the specified project.
|
43
|
+
#
|
44
|
+
# @example
|
45
|
+
# Gitlab.search_in_project(1, 'issues', 'gitlab')
|
46
|
+
# Gitlab.search_in_project(1, 'merge_requests', 'gitlab')
|
47
|
+
# Gitlab.search_in_project(1, 'milestones', 'gitlab')
|
48
|
+
# Gitlab.search_in_project(1, 'notes', 'gitlab')
|
49
|
+
# Gitlab.search_in_project(1, 'wiki_blobs', 'gitlab')
|
50
|
+
# Gitlab.search_in_project(1, 'commits', 'gitlab')
|
51
|
+
# Gitlab.search_in_project(1, 'blobs', 'gitlab')
|
52
|
+
#
|
53
|
+
# @param [Integer, String] project The ID or name of a project.
|
54
|
+
# @param [String] scope The scope to search in. Currently these scopes are supported: issues, merge_requests, milestones, notes, wiki_blobs, commits, blobs.
|
55
|
+
# @param [String] search The search query.
|
56
|
+
# @return [Array<Gitlab::ObjectifiedHash>] Returns a list of responses depending on the requested scope.
|
57
|
+
def search_in_project(project, scope, search)
|
58
|
+
options = { scope: scope, search: search }
|
59
|
+
get("/projects/#{url_encode project}/search", query: options)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/gitlab/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nihad Abbasov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-02-
|
12
|
+
date: 2019-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
@@ -140,6 +140,7 @@ files:
|
|
140
140
|
- lib/gitlab/cli_helpers.rb
|
141
141
|
- lib/gitlab/client.rb
|
142
142
|
- lib/gitlab/client/access_requests.rb
|
143
|
+
- lib/gitlab/client/avatar.rb
|
143
144
|
- lib/gitlab/client/award_emojis.rb
|
144
145
|
- lib/gitlab/client/boards.rb
|
145
146
|
- lib/gitlab/client/branches.rb
|
@@ -151,6 +152,8 @@ files:
|
|
151
152
|
- lib/gitlab/client/environments.rb
|
152
153
|
- lib/gitlab/client/events.rb
|
153
154
|
- lib/gitlab/client/features.rb
|
155
|
+
- lib/gitlab/client/group_boards.rb
|
156
|
+
- lib/gitlab/client/group_labels.rb
|
154
157
|
- lib/gitlab/client/group_milestones.rb
|
155
158
|
- lib/gitlab/client/groups.rb
|
156
159
|
- lib/gitlab/client/issues.rb
|
@@ -176,6 +179,7 @@ files:
|
|
176
179
|
- lib/gitlab/client/repository_submodules.rb
|
177
180
|
- lib/gitlab/client/resource_label_events.rb
|
178
181
|
- lib/gitlab/client/runners.rb
|
182
|
+
- lib/gitlab/client/search.rb
|
179
183
|
- lib/gitlab/client/services.rb
|
180
184
|
- lib/gitlab/client/sidekiq.rb
|
181
185
|
- lib/gitlab/client/snippets.rb
|