peoplegroup-connectors 0.1.61 → 0.1.65

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e59dce9e0a49509f7d7d224419117938e46a4ac2f734a50338c585c5e767a1e
4
- data.tar.gz: f4d2795919f9a057fe39c2ad2fd1791e6af24c35eedd2ee36d1320a35ea44ddd
3
+ metadata.gz: 324983963ed713d77a2d17cfe9c1d8f0c6d1f3bc6d20e7893adccd2e604899ba
4
+ data.tar.gz: f4e29ae74cd6c9433273760535935367f0c39e261f5371fe1ddbb8948afc3b63
5
5
  SHA512:
6
- metadata.gz: 44d2a74d27ce7435b88ad1ebbe8d6c4006b2010ca6baa08db4a6fa490171c67480336c65a2cc6e81d4fb1c73d7babff21c0d553e3239b0960ee44fe034113ac1
7
- data.tar.gz: bc28647937a2043f81224906bb62483d6b1735bf02d810cc13175e262af997bf5d0934cb26d0f21e618565678f35e7776bea8de31091c57393f74d3984912934
6
+ metadata.gz: 45d74ed9e67a22076d99fa72b738f3662405d478844df268e74408a0b16a65c64cce969d409505317ad8a078389065ca59271ae14b37fc220cd52d3f6228d9b7
7
+ data.tar.gz: 0e48a07eea15697f57dc8169f2d03463aacfb62a2898b6f21c9615f7cba03e8d974371fc6a8e705f0a4098af1a127e9b5f9ef63ec47567060a62c2ffad1a5b38
@@ -187,6 +187,10 @@ module PeopleGroup
187
187
  meta_fields.detect { |res| res['name'] == 'Division' }.dig('options').each_with_object([]) { |option, array| array << option['name'] if option['archived'] == 'no' } || []
188
188
  end
189
189
 
190
+ def locations
191
+ meta_fields.detect { |res| res['name'] == 'Location' }.dig('options').each_with_object([]) { |option, array| array << option['name'] if option['archived'] == 'no' } || []
192
+ end
193
+
190
194
  def fields
191
195
  return @fields if @fields
192
196
 
@@ -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 = retry_on_error { @client.group_members('gitlab-com', query: query) }
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 = retry_on_error { @client.group_members(group, query: query) }
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 remove_group_member(group, user_id)
39
- retry_on_error { @client.remove_group_member(group, user_id) }
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 do
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)
@@ -72,8 +87,8 @@ module PeopleGroup
72
87
  epic || retry_on_error { @client.create_epic(group_id, title, options) }
73
88
  end
74
89
 
75
- def commit_new_files_to_new_merge_request(project_id, branch_name, new_files, commit_message, description = nil)
76
- retry_on_error { @client.create_branch(project_id, branch_name, 'master') }
90
+ def commit_new_files_to_new_merge_request(project_id, branch_name, new_files, commit_message, description = nil, target_branch: 'master')
91
+ retry_on_error { @client.create_branch(project_id, branch_name, target_branch) }
77
92
  actions = []
78
93
  new_files.each do |file|
79
94
  actions << {
@@ -85,7 +100,7 @@ module PeopleGroup
85
100
 
86
101
  retry_on_error { @client.create_commit(project_id, branch_name, commit_message, actions) }
87
102
 
88
- options = { source_branch: branch_name, target_branch: 'master', remove_source_branch: true }
103
+ options = { source_branch: branch_name, target_branch: target_branch, remove_source_branch: true }
89
104
  options[:description] = description if description
90
105
  retry_on_error { @client.create_merge_request(project_id, commit_message, options) }
91
106
  end
@@ -120,8 +135,8 @@ module PeopleGroup
120
135
  retry_on_error { @client.create_merge_request(project_id, commit_message, options) }
121
136
  end
122
137
 
123
- def commit_change_to_new_merge_request(project_id, branch_name, file_path, file_with_change, commit_message, description = nil)
124
- retry_on_error { @client.create_branch(project_id, branch_name, 'master') }
138
+ def commit_change_to_new_merge_request(project_id, branch_name, file_path, file_with_change, commit_message, description = nil, target_branch: 'master')
139
+ retry_on_error { @client.create_branch(project_id, branch_name, target_branch) }
125
140
  actions = [
126
141
  {
127
142
  action: 'update',
@@ -131,7 +146,7 @@ module PeopleGroup
131
146
  ]
132
147
  retry_on_error { @client.create_commit(project_id, branch_name, commit_message, actions) }
133
148
 
134
- options = { source_branch: branch_name, target_branch: 'master', remove_source_branch: true }
149
+ options = { source_branch: branch_name, target_branch: target_branch, remove_source_branch: true }
135
150
  options[:description] = description if description
136
151
  retry_on_error { @client.create_merge_request(project_id, commit_message, options) }
137
152
  end
@@ -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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.61'
5
+ VERSION = '0.1.65'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peoplegroup-connectors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.61
4
+ version: 0.1.65
5
5
  platform: ruby
6
6
  authors:
7
7
  - lien van den steen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-01 00:00:00.000000000 Z
11
+ date: 2021-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab