peoplegroup-connectors 0.1.66 → 0.1.71

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: c00abbd23af58a2c893beaf5e8d286fb5b2470e2e85254b799fc48473a870485
4
- data.tar.gz: 1c7d4fcd5fab3cf7f75f538fe3cd66bfd03beb80feff8b8de2ead575c113b98b
3
+ metadata.gz: 26639176482fef7d7ee6b3c6dfac5b53e97c503aea6fcf7e20245f3c7f639d94
4
+ data.tar.gz: 814bdab0710db537131dfc0acbd0503858f8e0619e924bf66960ea28142b6ea2
5
5
  SHA512:
6
- metadata.gz: bdcab02d7cf9b679eb72d4f2181f93a12d886cd7d2fdff3b7467197252a735acecc543a95f4daf08e498e612e92e9ad755a5dadc7f8811adb1b9425959d7df0b
7
- data.tar.gz: c5ebda254577c8d529143624ced39408374964d8d49c2543f7ffdaeb3c15142902db72154d7762eed9063b90948255759e19bd10ea47aad82b886ab6de975ad7
6
+ metadata.gz: 341366e9dc86d251b5fada61523dc589c7d3dcff2c4900df34ede766196d8ac8022cf3ed66a607d297252697a27eb66a1defb587f8baecdcd47bc7b582bf76e5
7
+ data.tar.gz: cb9b2f833cb209dd3f65cab623cdf5bb275120e76990a769aae21b296aeb8d9c75f9c5b33e4bf18c9bac8810448f8e3b627119c89dc7b0679275107073844143
@@ -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
@@ -63,6 +63,10 @@ module PeopleGroup
63
63
  retry_on_error { @client.create_issue_note(project, id, text) }
64
64
  end
65
65
 
66
+ def issue_notes(project, id, options = {})
67
+ retry_on_error { @client.issue_notes(project, id, options) }
68
+ end
69
+
66
70
  def edit_issue(project, id, options)
67
71
  retry_on_error { @client.edit_issue(project, id, options) }
68
72
  end
@@ -165,7 +169,7 @@ module PeopleGroup
165
169
  private
166
170
 
167
171
  def retry_on_error(&block)
168
- Utils.retry_on_error(errors: [Gitlab::Error::InternalServerError], &block)
172
+ Utils.retry_on_error(errors: [Gitlab::Error::InternalServerError], delay: 3, &block)
169
173
  end
170
174
 
171
175
  def find_epic(group_id, title)
@@ -16,6 +16,10 @@ module PeopleGroup
16
16
  @client.offers_for_application(application_id)
17
17
  end
18
18
 
19
+ def current_offer_for_application(application_id)
20
+ @client.current_offer_for_application(application_id)
21
+ end
22
+
19
23
  def hired_candidates(updated_since)
20
24
  page = 1
21
25
  candidates = []
@@ -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.66'
5
+ VERSION = '0.1.71'
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.66
4
+ version: 0.1.71
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: 2021-07-20 00:00:00.000000000 Z
11
+ date: 2021-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab
@@ -190,7 +190,7 @@ metadata:
190
190
  homepage_uri: https://gitlab.com/gitlab-com/people-group/peopleops-eng/connectors-gem
191
191
  source_code_uri: https://gitlab.com/gitlab-com/people-group/peopleops-eng/connectors-gem
192
192
  changelog_uri: https://gitlab.com/gitlab-com/people-group/peopleops-eng/connectors-gem
193
- post_install_message:
193
+ post_install_message:
194
194
  rdoc_options: []
195
195
  require_paths:
196
196
  - lib
@@ -205,8 +205,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
205
  - !ruby/object:Gem::Version
206
206
  version: '0'
207
207
  requirements: []
208
- rubygems_version: 3.2.3
209
- signing_key:
208
+ rubygems_version: 3.1.4
209
+ signing_key:
210
210
  specification_version: 4
211
211
  summary: Library for our shared connectors.
212
212
  test_files: []