peoplegroup-connectors 0.1.65 → 0.1.70

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: 324983963ed713d77a2d17cfe9c1d8f0c6d1f3bc6d20e7893adccd2e604899ba
4
- data.tar.gz: f4e29ae74cd6c9433273760535935367f0c39e261f5371fe1ddbb8948afc3b63
3
+ metadata.gz: 2c2124e4a7739e9027cb585f1af9f7a866d832bb7032c6763c9985607100cbcd
4
+ data.tar.gz: 70aaa2f83b314015474e2467a1844f1976152c1015639a3a2185eb06bfe5763f
5
5
  SHA512:
6
- metadata.gz: 45d74ed9e67a22076d99fa72b738f3662405d478844df268e74408a0b16a65c64cce969d409505317ad8a078389065ca59271ae14b37fc220cd52d3f6228d9b7
7
- data.tar.gz: 0e48a07eea15697f57dc8169f2d03463aacfb62a2898b6f21c9615f7cba03e8d974371fc6a8e705f0a4098af1a127e9b5f9ef63ec47567060a62c2ffad1a5b38
6
+ metadata.gz: 2ffff1332bbe0e13d6d7a308a55981ab02f2df55082f34e6ae81687442dd87ac15872becc2523cf95d160e59b140839d9c666e51de39abbb4e876b9119d98c81
7
+ data.tar.gz: 64444be92c7f2eea535aa72a6060ce68e1edb86ca09f4200661ba34372563d631e27a22ed1c2193782a370b00100b932b7e544f7d74f874f6fddc3e8db1e22d2
@@ -27,7 +27,9 @@ module PeopleGroup
27
27
  end
28
28
 
29
29
  def get_employee(id)
30
- @client.employee.find(id, %w[firstName lastName jobTitle supervisor hireDate country location department division workEmail customCostCenter])
30
+ retry_on_error do
31
+ @client.employee.find(id, %w[firstName lastName jobTitle supervisor hireDate country location department division workEmail customCostCenter])
32
+ end
31
33
  end
32
34
 
33
35
  def get_employee!(id)
@@ -172,11 +174,11 @@ module PeopleGroup
172
174
  end
173
175
 
174
176
  def create_employee(employee_details_hash)
175
- @client.employee.add(employee_details_hash)
177
+ retry_on_error { @client.employee.add(employee_details_hash) }
176
178
  end
177
179
 
178
180
  def update_employee(employee_id, employee_details_hash)
179
- @client.employee.update(employee_id, employee_details_hash)
181
+ retry_on_error { @client.employee.update(employee_id, employee_details_hash) }
180
182
  end
181
183
 
182
184
  def departments
@@ -194,13 +196,14 @@ module PeopleGroup
194
196
  def fields
195
197
  return @fields if @fields
196
198
 
197
- @fields = (Bamboozled::API::FieldCollection.all_names + @client.meta.fields.map { |f| f['alias'] }).compact.uniq
199
+ meta_field_aliases = retry_on_error { @client.meta.fields }.map { |f| f['alias'] }
200
+ @fields = (Bamboozled::API::FieldCollection.all_names + meta_field_aliases).compact.uniq
198
201
  @fields.delete('flsaCode') # temp fix for problems with BambooHR
199
202
  @fields
200
203
  end
201
204
 
202
205
  def employees
203
- Utils.retry_on_error(errors: [Net::ReadTimeout, Bamboozled::GatewayError]) do
206
+ retry_on_error do
204
207
  if @use_report
205
208
  @employees ||= @client.report.find(@use_report, 'JSON', true).reject { |employee| employee['lastName'] == 'Test-Gitlab' }
206
209
  else
@@ -223,33 +226,33 @@ module PeopleGroup
223
226
  alias_method :active_and_current_team_members, :active_and_current_employees
224
227
 
225
228
  def add_stock_options(employee_id, data)
226
- @client.employee.add_table_row(employee_id, 'customEquity', data)
229
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customEquity', data) }
227
230
  end
228
231
 
229
232
  def stock_options_data(employee_id)
230
- @client.employee.table_data(employee_id, 'customEquity')
233
+ retry_on_error { @client.employee.table_data(employee_id, 'customEquity') }
231
234
  end
232
235
 
233
236
  def add_job_details(employee_id, data)
234
- @client.employee.add_table_row(employee_id, 'jobInfo', data)
237
+ retry_on_error { @client.employee.add_table_row(employee_id, 'jobInfo', data) }
235
238
  end
236
239
 
237
240
  def update_job_details(employee_id, data)
238
241
  current_data = job_details(employee_id) # it should only be one row as we just created this user
239
242
  row_id = current_data.first.dig('id')
240
- @client.employee.update_table_row(employee_id, 'jobInfo', row_id, data)
243
+ retry_on_error { @client.employee.update_table_row(employee_id, 'jobInfo', row_id, data) }
241
244
  end
242
245
 
243
246
  def add_compensation_details(employee_id, data)
244
- @client.employee.add_table_row(employee_id, 'compensation', data)
247
+ retry_on_error { @client.employee.add_table_row(employee_id, 'compensation', data) }
245
248
  end
246
249
 
247
250
  def employment_statuses(employee_id)
248
- @client.employee.table_data(employee_id, 'employmentStatus')
251
+ retry_on_error { @client.employee.table_data(employee_id, 'employmentStatus') }
249
252
  end
250
253
 
251
254
  def time_off_types
252
- @time_off_types ||= @client.meta.time_off_types
255
+ @time_off_types ||= retry_on_error { @client.meta.time_off_types }
253
256
  end
254
257
 
255
258
  def time_off_type(name)
@@ -257,11 +260,11 @@ module PeopleGroup
257
260
  end
258
261
 
259
262
  def time_off_estimate(employee_id, end_date = Date.today)
260
- @client.employee.time_off_estimate(employee_id, end_date)
263
+ retry_on_error { @client.employee.time_off_estimate(employee_id, end_date) }
261
264
  end
262
265
 
263
266
  def time_off_adjustment(employee_id, options)
264
- @client.employee.time_off_balance_adjustment(employee_id, options)
267
+ retry_on_error { @client.employee.time_off_balance_adjustment(employee_id, options) }
265
268
  end
266
269
 
267
270
  def accrued_days(employee_id)
@@ -272,18 +275,18 @@ module PeopleGroup
272
275
  end
273
276
 
274
277
  def time_off_policies
275
- @time_off_policies ||= @client.meta.time_off_policies
278
+ @time_off_policies ||= retry_on_error { @client.meta.time_off_policies }
276
279
  end
277
280
 
278
281
  def employee_time_off_policies(employee_id)
279
- @client.employee.time_off_policies(employee_id)
282
+ retry_on_error { @client.employee.time_off_policies(employee_id) }
280
283
  end
281
284
  alias_method :team_member_time_off_policies, :employee_time_off_policies
282
285
 
283
286
  def add_time_off_policy(employee_id, time_off_policy_id, accrual_start_date)
284
287
  policies = [{ timeOffPolicyId: time_off_policy_id, accrualStartDate: accrual_start_date }]
285
288
 
286
- @client.employee.add_time_off_policies(employee_id, policies)
289
+ retry_on_error { @client.employee.add_time_off_policies(employee_id, policies) }
287
290
  end
288
291
 
289
292
  def remove_time_off_policy(employee_id, time_off_policy_id)
@@ -293,7 +296,7 @@ module PeopleGroup
293
296
  end
294
297
 
295
298
  def job_details(employee_id)
296
- @client.employee.table_data(employee_id, 'jobInfo')
299
+ retry_on_error { @client.employee.table_data(employee_id, 'jobInfo') }
297
300
  end
298
301
 
299
302
  def resumes_folder_id(employee_id)
@@ -311,39 +314,39 @@ module PeopleGroup
311
314
  share: 'yes',
312
315
  file: file
313
316
  }
314
- @client.employee.add_file(employee_id, options)
317
+ retry_on_error { @client.employee.add_file(employee_id, options) }
315
318
  end
316
319
 
317
320
  def add_employment_status(employee_id, data)
318
- @client.employee.add_table_row(employee_id, 'employmentStatus', data)
321
+ retry_on_error { @client.employee.add_table_row(employee_id, 'employmentStatus', data) }
319
322
  end
320
323
 
321
324
  def add_currency_conversion(employee_id, data)
322
- @client.employee.add_table_row(employee_id, 'customCurrencyConversion', data)
325
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customCurrencyConversion', data) }
323
326
  end
324
327
 
325
328
  def add_on_target_earnings(employee_id, data)
326
- @client.employee.add_table_row(employee_id, 'customOnTargetEarnings', data)
329
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customOnTargetEarnings', data) }
327
330
  end
328
331
 
329
332
  def add_signing_bonus(employee_id, data)
330
- @client.employee.add_table_row(employee_id, 'customBonus', data)
333
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customBonus', data) }
331
334
  end
332
335
 
333
336
  def add_family_member(employee_id, data)
334
- @client.employee.add_table_row(employee_id, 'customFamilyMember', data)
337
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customFamilyMember', data) }
335
338
  end
336
339
 
337
340
  def add_additional_data(employee_id, data)
338
- @client.employee.add_table_row(employee_id, 'customAdditionalInformation1', data)
341
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customAdditionalInformation1', data) }
339
342
  end
340
343
 
341
344
  def additional_data(employee_id)
342
- @client.employee.table_data(employee_id, 'employmentStatus')
345
+ retry_on_error { @client.employee.table_data(employee_id, 'employmentStatus') }
343
346
  end
344
347
 
345
348
  def currency_conversion(employee_id)
346
- @client.employee.table_data(employee_id, 'customCurrencyConversion')
349
+ retry_on_error { @client.employee.table_data(employee_id, 'customCurrencyConversion') }
347
350
  end
348
351
 
349
352
  def add_bonus(team_member_id, comment)
@@ -354,7 +357,7 @@ module PeopleGroup
354
357
  customBonuscomments: comment
355
358
  # customNominatedBy: 'TODO'
356
359
  }
357
- @client.employee.add_table_row(team_member_id, 'customBonus', data)
360
+ retry_on_error { @client.employee.add_table_row(team_member_id, 'customBonus', data) }
358
361
  end
359
362
 
360
363
  def add_rating_details(team_member_id, performance, potential)
@@ -363,17 +366,21 @@ module PeopleGroup
363
366
  customPerformanceFactor: performance,
364
367
  customPotentialFactor: potential
365
368
  }
366
- @client.employee.add_table_row(team_member_id, 'customPerformanceandPotentialTable', data)
369
+ retry_on_error { @client.employee.add_table_row(team_member_id, 'customPerformanceandPotentialTable', data) }
367
370
  end
368
371
 
369
372
  private
370
373
 
371
374
  def meta_fields
372
- @meta_fields ||= @client.meta.lists
375
+ @meta_fields ||= retry_on_error { @client.meta.lists }
373
376
  end
374
377
 
375
378
  def files(employee_id)
376
- @files ||= @client.employee.files(employee_id)
379
+ @files ||= retry_on_error { @client.employee.files(employee_id) }
380
+ end
381
+
382
+ def retry_on_error(&block)
383
+ Utils.retry_on_error(errors: [Net::ReadTimeout, Bamboozled::GatewayError], delay: 3, &block)
377
384
  end
378
385
  end
379
386
  end
@@ -47,8 +47,7 @@ module PeopleGroup
47
47
  retry_on_error { @client.group_members(group_id, options).auto_paginate }
48
48
  end
49
49
 
50
- def add_group_member(group_id, user_id, access_level_name)
51
- access_level = access_levels[access_level_name]
50
+ def add_group_member(group_id, user_id, access_level)
52
51
  retry_on_error { @client.add_group_member(group_id, user_id, access_level) }
53
52
  end
54
53
 
@@ -64,6 +63,10 @@ module PeopleGroup
64
63
  retry_on_error { @client.create_issue_note(project, id, text) }
65
64
  end
66
65
 
66
+ def issue_notes(project, id, options = {})
67
+ retry_on_error { @client.issue_notes(project, id, options) }
68
+ end
69
+
67
70
  def edit_issue(project, id, options)
68
71
  retry_on_error { @client.edit_issue(project, id, options) }
69
72
  end
@@ -166,7 +169,7 @@ module PeopleGroup
166
169
  private
167
170
 
168
171
  def retry_on_error(&block)
169
- Utils.retry_on_error(errors: [Gitlab::Error::InternalServerError], &block)
172
+ Utils.retry_on_error(errors: [Gitlab::Error::InternalServerError], delay: 3, &block)
170
173
  end
171
174
 
172
175
  def find_epic(group_id, title)
@@ -192,19 +195,6 @@ module PeopleGroup
192
195
  def reopen_epic(epic)
193
196
  retry_on_error { @client.edit_epic(epic.group_id, epic.iid, { state_event: 'reopen' }) }
194
197
  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
208
198
  end
209
199
  end
210
200
  end
@@ -65,6 +65,10 @@ module PeopleGroup
65
65
  def publish_view(user_id:, trigger:, view:)
66
66
  @client.views_publish(user_id: user_id, trigger_id: trigger, view: view)
67
67
  end
68
+
69
+ def get_message(channel:, timestamp:)
70
+ @client.conversations_history(channel: channel, latest: timestamp, limit: 1, inclusive: true)&.messages&.first
71
+ end
68
72
  end
69
73
  end
70
74
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.65'
5
+ VERSION = '0.1.70'
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.65
4
+ version: 0.1.70
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-19 00:00:00.000000000 Z
11
+ date: 2021-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab