peoplegroup-connectors 0.1.86 → 0.1.89

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: 73f889f6a68e3ad859452624ccec8792ab93a1972b632c5e0f81f721737c656f
4
- data.tar.gz: 45c9b05d96a379d0b830e0ff6bcfd8ee3e2668f4ad50b08bc815841b59e0e4b9
3
+ metadata.gz: 6c4414683f3b6d3b3e9566ba33df66018642cf551ec836e27c00b78b4dee16ee
4
+ data.tar.gz: 27be0aff4e7d971faaece5e7a984158bd91731037b1614596f98f42ab634b425
5
5
  SHA512:
6
- metadata.gz: c9b4d31f5250b62a9e03491bdb0f944348c6bc1a85438722505b9f378956ae00065b297fc63cd713feaa98c9749ca47d696c54796bdb439e743f5058fb43e9e8
7
- data.tar.gz: 8a7134d07c3a665c15f8647f4d69fa38d3c812d5baf4ddaee044f8e238e765aefad7a383a9a019bd23a1c2d2d7a7f895bb6d4e99686fc9d5d22c553216830da3
6
+ metadata.gz: 3bf61018687ad168f08695cf6e971b647735438488d5b8fbbc6a2e6fa69b9763bb1484dfe464b944d9db98b6adb19b0898a78e1cf9872877ae43fd706ba947eb
7
+ data.tar.gz: 48a97e0dfe60996cf5bcd1fd543c36c9a3429079541d10353031151143d3c0fea0d61584da9e6f2cc8b1213ab0700ed9332df6d4ebf71c95db10f3026edf7a59
@@ -26,19 +26,6 @@ module PeopleGroup
26
26
  employee_details
27
27
  end
28
28
 
29
- def get_employee(id)
30
- retry_on_error do
31
- @client.employee.find(id, %w[firstName lastName jobTitle supervisor hireDate country location department division workEmail customCostCenter])
32
- end
33
- end
34
-
35
- def get_employee!(id)
36
- employee = get_employee(id)
37
- raise EmployeeNotFoundError, "No employee found with id #{id}" if employee.nil?
38
-
39
- employee
40
- end
41
-
42
29
  def search_employee(name)
43
30
  return if name.empty?
44
31
 
@@ -101,24 +88,12 @@ module PeopleGroup
101
88
  end
102
89
 
103
90
  def fetch_manager(team_member)
104
- active_team_members.find { |tm| tm['id'] == team_member['supervisorEId'] }
91
+ active_team_members.find { |tm| tm['employeeNumber'] == team_member['supervisorId'] }
105
92
  end
106
93
 
107
94
  def fetch_manager!(team_member)
108
95
  manager = fetch_manager(team_member)
109
- raise EmployeeNotFoundError, "Manager not found for employee #{team_member['id']}" if manager.nil?
110
-
111
- manager
112
- end
113
-
114
- def fetch_manager_for_id(team_member_id)
115
- team_member = get_employee_details(team_member_id)
116
- active_team_members.find { |tm| tm['id'] == team_member['supervisorEId'] }
117
- end
118
-
119
- def fetch_manager_for_id!(team_member_id)
120
- manager = fetch_manager_for_id(team_member_id)
121
- raise EmployeeNotFoundError, "No manager found with id #{team_member_id}" if manager.nil?
96
+ raise EmployeeNotFoundError, "Manager not found for employee #{team_member['employeeNumber']}" if manager.nil?
122
97
 
123
98
  manager
124
99
  end
@@ -129,7 +104,7 @@ module PeopleGroup
129
104
 
130
105
  def fetch_second_level_manager!(team_member)
131
106
  manager = fetch_second_level_manager(team_member)
132
- raise EmployeeNotFoundError, "No second level manager found for employee #{team_member['id']}" if manager.nil?
107
+ raise EmployeeNotFoundError, "No second level manager found for employee #{team_member['employeeNumber']}" if manager.nil?
133
108
 
134
109
  manager
135
110
  end
@@ -349,7 +324,8 @@ module PeopleGroup
349
324
  retry_on_error { @client.employee.table_data(employee_id, 'customCurrencyConversion') }
350
325
  end
351
326
 
352
- def add_bonus(team_member_id, comment)
327
+ def add_bonus(employee_number, comment)
328
+ team_member = search_employee_by_field(field: 'employeeNumber', value: employee_number)
353
329
  data = {
354
330
  customBonusdate: Date.today.to_s,
355
331
  customBonusamount: { value: 1_000, currency: 'USD' },
@@ -357,7 +333,7 @@ module PeopleGroup
357
333
  customBonuscomments: comment
358
334
  # customNominatedBy: 'TODO'
359
335
  }
360
- retry_on_error { @client.employee.add_table_row(team_member_id, 'customBonus', data) }
336
+ retry_on_error { @client.employee.add_table_row(team_member['id'], 'customBonus', data) }
361
337
  end
362
338
 
363
339
  def add_rating_details(team_member_id, performance, potential)
@@ -55,6 +55,11 @@ module PeopleGroup
55
55
  retry_on_error { @client.remove_group_member(group_id, user_id) }
56
56
  end
57
57
 
58
+ def group_member_ids(group_id)
59
+ members = retry_on_error { @client.group_members(group_id) }
60
+ members.map { |member| member[:id] }
61
+ end
62
+
58
63
  def create_issue(project, title, options = {})
59
64
  retry_on_error { @client.create_issue(project, title, options) }
60
65
  end
@@ -91,11 +96,12 @@ module PeopleGroup
91
96
  epic = find_epic(group_id, title)
92
97
  reopen_epic(epic) if epic && epic.state == 'closed'
93
98
  options[:confidential] = true
94
- epic || retry_on_error { @client.create_epic(group_id, title, options) }
99
+ epic || create_epic(group_id, title, options)
95
100
  end
96
101
 
97
- def commit_new_files_to_new_merge_request(project_id, branch_name, new_files, commit_message, description = nil, target_branch: 'master')
98
- retry_on_error { @client.create_branch(project_id, branch_name, target_branch) }
102
+ def commit_new_files_to_new_merge_request(project_id, branch_name, new_files, commit_message, description = nil, target_branch: 'master', assign_group: nil)
103
+ create_branch(project_id, branch_name, target_branch)
104
+
99
105
  actions = []
100
106
  new_files.each do |file|
101
107
  actions << {
@@ -105,45 +111,58 @@ module PeopleGroup
105
111
  }
106
112
  end
107
113
 
108
- retry_on_error { @client.create_commit(project_id, branch_name, commit_message, actions) }
114
+ create_commit(project_id, branch_name, commit_message, actions)
115
+
116
+ options = {
117
+ source_branch: branch_name,
118
+ target_branch: target_branch,
119
+ remove_source_branch: true
120
+ }
109
121
 
110
- options = { source_branch: branch_name, target_branch: target_branch, remove_source_branch: true }
111
122
  options[:description] = description if description
112
- retry_on_error { @client.create_merge_request(project_id, commit_message, options) }
123
+ options[:assignee_ids] = group_member_ids(assign_group) if assign_group
124
+
125
+ create_merge_request(project_id, commit_message, options)
113
126
  end
114
127
 
115
- def commit_change_to_new_merge_request_v2(project_id, branch_name, commit_message, description = nil, files_to_delete = [], files_to_update = [], target_branch: 'master')
128
+ def commit_change_to_new_merge_request_v2(project_id, branch_name, commit_message, description = nil, files_to_delete = [], files_to_update = [], target_branch: 'master', assign_group: nil)
116
129
  actions = []
117
130
 
118
131
  files_to_delete.each do |file|
119
- action = {
132
+ actions << {
120
133
  action: 'delete',
121
134
  file_path: file
122
135
  }
123
- actions << action
124
136
  end
125
137
 
126
138
  files_to_update.each do |file|
127
- action = {
139
+ actions << {
128
140
  action: 'update',
129
141
  file_path: file[:file_path],
130
142
  content: File.read(file[:tmp_file_path])
131
143
  }
132
- actions << action
133
144
  end
134
145
 
135
146
  return unless actions.any?
136
147
 
137
- retry_on_error { @client.create_branch(project_id, branch_name, target_branch) }
138
- retry_on_error { @client.create_commit(project_id, branch_name, commit_message, actions) }
148
+ create_branch(project_id, branch_name, target_branch)
149
+ create_commit(project_id, branch_name, commit_message, actions)
150
+
151
+ options = {
152
+ source_branch: branch_name,
153
+ target_branch: target_branch,
154
+ remove_source_branch: true
155
+ }
139
156
 
140
- options = { source_branch: branch_name, target_branch: target_branch, remove_source_branch: true }
141
157
  options[:description] = description if description
142
- retry_on_error { @client.create_merge_request(project_id, commit_message, options) }
158
+ options[:assignee_ids] = group_member_ids(assign_group) if assign_group
159
+
160
+ create_merge_request(project_id, commit_message, options)
143
161
  end
144
162
 
145
- def commit_change_to_new_merge_request(project_id, branch_name, file_path, file_with_change, commit_message, description = nil, target_branch: 'master')
146
- retry_on_error { @client.create_branch(project_id, branch_name, target_branch) }
163
+ def commit_change_to_new_merge_request(project_id, branch_name, file_path, file_with_change, commit_message, description = nil, target_branch: 'master', assign_group: nil)
164
+ create_branch(project_id, branch_name, target_branch)
165
+
147
166
  actions = [
148
167
  {
149
168
  action: 'update',
@@ -151,11 +170,23 @@ module PeopleGroup
151
170
  content: file_with_change
152
171
  }
153
172
  ]
154
- retry_on_error { @client.create_commit(project_id, branch_name, commit_message, actions) }
155
173
 
156
- options = { source_branch: branch_name, target_branch: target_branch, remove_source_branch: true }
174
+ create_commit(project_id, branch_name, commit_message, actions)
175
+
176
+ options = {
177
+ source_branch: branch_name,
178
+ target_branch: target_branch,
179
+ remove_source_branch: true
180
+ }
181
+
157
182
  options[:description] = description if description
158
- retry_on_error { @client.create_merge_request(project_id, commit_message, options) }
183
+ options[:assignee_ids] = group_member_ids(assign_group) if assign_group
184
+
185
+ create_merge_request(project_id, commit_message, options)
186
+ end
187
+
188
+ def create_epic(group_id, title, options)
189
+ retry_on_error { @client.create_epic(group_id, title, options) }
159
190
  end
160
191
 
161
192
  def create_epic_note(group_id, epic_id, text)
@@ -188,7 +219,7 @@ module PeopleGroup
188
219
  epics.first
189
220
  end
190
221
 
191
- def create_branch(project_id, branch_name, target_branch: 'master')
222
+ def create_branch(project_id, branch_name, target_branch = 'master')
192
223
  retry_on_error { @client.create_branch(project_id, branch_name, target_branch) }
193
224
  end
194
225
 
@@ -197,7 +228,7 @@ module PeopleGroup
197
228
  end
198
229
 
199
230
  def create_commit(project_id, branch, commit_message, actions)
200
- retry_on_error { @client.create_commit(project_id, branch, commit_message, actions, {}) }
231
+ retry_on_error { @client.create_commit(project_id, branch, commit_message, actions) }
201
232
  end
202
233
 
203
234
  def reopen_epic(epic)
@@ -26,17 +26,6 @@ module PeopleGroup
26
26
  employee_details
27
27
  end
28
28
 
29
- def get_employee(id)
30
- format_worker(@workday.get_worker(id))
31
- end
32
-
33
- def get_employee!(id)
34
- employee = get_employee(id)
35
- raise EmployeeNotFoundError, "No employee found with id #{id}" if employee.nil?
36
-
37
- employee
38
- end
39
-
40
29
  private
41
30
 
42
31
  # Convert Workday worker to BambooHR employee
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.86'
5
+ VERSION = '0.1.89'
6
6
  end
7
7
  end
@@ -1,15 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'connectors/version'
4
- require_relative 'connectors/gitlab'
5
- require_relative 'connectors/google_sheets'
6
- require_relative 'connectors/slack'
7
- require_relative 'connectors/pto_roots'
8
- require_relative 'connectors/bamboo'
9
- require_relative 'connectors/greenhouse'
10
- require_relative 'connectors/workday'
11
- require_relative 'connectors/hris'
12
- require_relative 'utils'
3
+ require 'require_all'
4
+ require_rel 'utils'
5
+ require_rel 'connectors'
13
6
 
14
7
  module PeopleGroup
15
8
  module Connectors
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.86
4
+ version: 0.1.89
5
5
  platform: ruby
6
6
  authors:
7
7
  - lien van den steen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-24 00:00:00.000000000 Z
11
+ date: 2022-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: 2.12.1
111
+ - !ruby/object:Gem::Dependency
112
+ name: require_all
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rspec
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -128,28 +142,28 @@ dependencies:
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: 0.91.1
145
+ version: '0.91'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: 0.91.1
152
+ version: '0.91'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: gitlab-styles
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '6.0'
159
+ version: '6.6'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '6.0'
166
+ version: '6.6'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: rubocop-packaging
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +184,28 @@ dependencies:
170
184
  requirements:
171
185
  - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: '1.39'
187
+ version: '1.44'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '1.44'
195
+ - !ruby/object:Gem::Dependency
196
+ name: dotenv
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '2.7'
174
202
  type: :development
175
203
  prerelease: false
176
204
  version_requirements: !ruby/object:Gem::Requirement
177
205
  requirements:
178
206
  - - "~>"
179
207
  - !ruby/object:Gem::Version
180
- version: '1.39'
208
+ version: '2.7'
181
209
  description: Avoid repeating methods in different projects for our connectos.
182
210
  email:
183
211
  - lvandensteen@gitlab.com
@@ -206,7 +234,7 @@ metadata:
206
234
  homepage_uri: https://gitlab.com/gitlab-com/people-group/peopleops-eng/connectors-gem
207
235
  source_code_uri: https://gitlab.com/gitlab-com/people-group/peopleops-eng/connectors-gem
208
236
  changelog_uri: https://gitlab.com/gitlab-com/people-group/peopleops-eng/connectors-gem
209
- post_install_message:
237
+ post_install_message:
210
238
  rdoc_options: []
211
239
  require_paths:
212
240
  - lib
@@ -214,15 +242,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
214
242
  requirements:
215
243
  - - ">="
216
244
  - !ruby/object:Gem::Version
217
- version: 2.3.0
245
+ version: '2.3'
218
246
  required_rubygems_version: !ruby/object:Gem::Requirement
219
247
  requirements:
220
248
  - - ">="
221
249
  - !ruby/object:Gem::Version
222
250
  version: '0'
223
251
  requirements: []
224
- rubygems_version: 3.2.3
225
- signing_key:
252
+ rubygems_version: 3.2.22
253
+ signing_key:
226
254
  specification_version: 4
227
255
  summary: Library for our shared connectors.
228
256
  test_files: []