peoplegroup-connectors 0.1.64 → 0.1.65
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/peoplegroup/connectors/gitlab.rb +35 -7
- data/lib/peoplegroup/connectors/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 324983963ed713d77a2d17cfe9c1d8f0c6d1f3bc6d20e7893adccd2e604899ba
|
4
|
+
data.tar.gz: f4e29ae74cd6c9433273760535935367f0c39e261f5371fe1ddbb8948afc3b63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45d74ed9e67a22076d99fa72b738f3662405d478844df268e74408a0b16a65c64cce969d409505317ad8a078389065ca59271ae14b37fc220cd52d3f6228d9b7
|
7
|
+
data.tar.gz: 0e48a07eea15697f57dc8169f2d03463aacfb62a2898b6f21c9615f7cba03e8d974371fc6a8e705f0a4098af1a127e9b5f9ef63ec47567060a62c2ffad1a5b38
|
@@ -16,7 +16,7 @@ module PeopleGroup
|
|
16
16
|
def find_gitlabber(field, query)
|
17
17
|
return if !query || query.empty?
|
18
18
|
|
19
|
-
possible_members =
|
19
|
+
possible_members = get_group_members('gitlab-com', query: query)
|
20
20
|
if field === :email
|
21
21
|
possible_members.first
|
22
22
|
else
|
@@ -27,7 +27,7 @@ module PeopleGroup
|
|
27
27
|
def find_gitlabber_on(field, query, group)
|
28
28
|
return if !query || query.empty?
|
29
29
|
|
30
|
-
possible_members =
|
30
|
+
possible_members = get_group_members(group, query: query)
|
31
31
|
if field === :email
|
32
32
|
possible_members.first
|
33
33
|
else
|
@@ -35,14 +35,29 @@ module PeopleGroup
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
def
|
39
|
-
retry_on_error { @client.
|
38
|
+
def create_group(name, path, options = {})
|
39
|
+
retry_on_error { @client.create_group(name, path, options) }
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_subgroups(group_id, options = {})
|
43
|
+
retry_on_error { @client.group_subgroups(group_id, options).auto_paginate }
|
44
|
+
end
|
45
|
+
|
46
|
+
def get_group_members(group_id, options = {})
|
47
|
+
retry_on_error { @client.group_members(group_id, options).auto_paginate }
|
48
|
+
end
|
49
|
+
|
50
|
+
def add_group_member(group_id, user_id, access_level_name)
|
51
|
+
access_level = access_levels[access_level_name]
|
52
|
+
retry_on_error { @client.add_group_member(group_id, user_id, access_level) }
|
53
|
+
end
|
54
|
+
|
55
|
+
def remove_group_member(group_id, user_id)
|
56
|
+
retry_on_error { @client.remove_group_member(group_id, user_id) }
|
40
57
|
end
|
41
58
|
|
42
59
|
def create_issue(project, title, options = {})
|
43
|
-
retry_on_error
|
44
|
-
@client.create_issue(project, title, options)
|
45
|
-
end
|
60
|
+
retry_on_error { @client.create_issue(project, title, options) }
|
46
61
|
end
|
47
62
|
|
48
63
|
def create_issue_note(project, id, text)
|
@@ -177,6 +192,19 @@ module PeopleGroup
|
|
177
192
|
def reopen_epic(epic)
|
178
193
|
retry_on_error { @client.edit_epic(epic.group_id, epic.iid, { state_event: 'reopen' }) }
|
179
194
|
end
|
195
|
+
|
196
|
+
# Map access level names to values according to https://docs.gitlab.com/ee/api/members.html#valid-access-levels
|
197
|
+
def access_levels
|
198
|
+
@access_levels ||= {
|
199
|
+
no_access: 0,
|
200
|
+
minimal_access: 5,
|
201
|
+
guest: 10,
|
202
|
+
reporter: 20,
|
203
|
+
developer: 30,
|
204
|
+
maintainer: 40,
|
205
|
+
owner: 50
|
206
|
+
}
|
207
|
+
end
|
180
208
|
end
|
181
209
|
end
|
182
210
|
end
|