gitlab_support_readiness 1.0.94 → 1.0.96

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: 0efdf1a5044eb63d59e75b1e33031f2bda552a260e14f0f21d197352b775a636
4
- data.tar.gz: d38913632e80d586b547ec097dd04ed0994adf1062d1315e1e2926e24e979d90
3
+ metadata.gz: 754610e153f321d1eadcbd227ef10672ba943d7432cc8c3604d7a82553cf0777
4
+ data.tar.gz: 06d952982516a7dd04590b2c0217518e052d9d10989a8a5aa229e915d300c3fb
5
5
  SHA512:
6
- metadata.gz: 2a05908eb47230f799c3760d42b7d269e682f824593a0296ffd8294787369ecc6f4fbd5ecb5ca531990428b7f46e5944689922f06b9ce26836dbbcbeb859407b
7
- data.tar.gz: baf32e622e56a63b9126235969697f76eda9a990d303e2fb0fd8963194b0f8d0a59e7b1c583629303c252fcb9d33c4246a0d2605ddd55794f8d1d11455d7a6e0
6
+ metadata.gz: 83274d91d5ab5c61ad276e26afed4b3f8b4cdccc9bd29ef7105978b8a3533efc690ade271bf88af70a4a72a77e6781baf39c7b3d18afc6cd551ea81051f1065a
7
+ data.tar.gz: bd40779668abdcd1658cca7d7bd57edbcb8322767e5b51d4d61eda7617145cd8e1e7a964a2507571f1de41d09a57b93c3cff45823c265b19aaad9b69bb081804
@@ -90,6 +90,7 @@ module Readiness
90
90
  org = Readiness::Zendesk::Organizations.find!(zendesk_client, diff['id'])
91
91
  print "Marking #{org.name} as not being in SFDC..."
92
92
  org.organization_fields['not_in_sfdc'] = true
93
+ org.organization_fields['date_marked_not_in_sfdc'] = Date.today.iso8601
93
94
  update = Readiness::Zendesk::Organizations.update!(zendesk_client, org)
94
95
  puts 'done'
95
96
  index = @organizations.index { |o| o['id'] == update.id }
@@ -751,6 +752,7 @@ module Readiness
751
752
  'sub_consumption_cicd_minutes' => org.organization_fields['sub_consumption_cicd_minutes'],
752
753
  'sub_consumption_duo_enterprise' => org.organization_fields['sub_consumption_duo_enterprise'],
753
754
  'sub_consumption_duo_premium' => org.organization_fields['sub_consumption_duo_premium'],
755
+ 'sub_consumption_duo_amazon_q' => org.organization_fields['sub_consumption_duo_amazon_q'],
754
756
  'sub_consumption_eap' => org.organization_fields['sub_consumption_eap'],
755
757
  'sub_consumption_storage' => org.organization_fields['sub_consumption_storage'],
756
758
  'sub_proserv' => org.organization_fields['sub_proserv'],
@@ -805,6 +807,7 @@ module Readiness
805
807
  'sub_consumption_cicd_minutes' => org.organization_fields['sub_consumption_cicd_minutes'],
806
808
  'sub_consumption_duo_enterprise' => org.organization_fields['sub_consumption_duo_enterprise'],
807
809
  'sub_consumption_duo_premium' => org.organization_fields['sub_consumption_duo_premium'],
810
+ 'sub_consumption_duo_amazon_q' => org.organization_fields['sub_consumption_duo_amazon_q'],
808
811
  'sub_consumption_eap' => org.organization_fields['sub_consumption_eap'],
809
812
  'sub_consumption_storage' => org.organization_fields['sub_consumption_storage'],
810
813
  'sub_proserv' => org.organization_fields['sub_proserv'],
@@ -822,7 +825,8 @@ module Readiness
822
825
  'sub_ss_ase' => org.organization_fields['sub_ss_ase'],
823
826
  'sub_other' => org.organization_fields['sub_other'],
824
827
  'not_in_sfdc' => org.organization_fields['not_in_sfdc'],
825
- 'support_hold' => org.organization_fields['support_hold']
828
+ 'support_hold' => org.organization_fields['support_hold'],
829
+ 'date_marked_not_in_sfdc' => org.organization_fields['date_marked_not_in_sfdc'],
826
830
  }
827
831
  end
828
832
 
@@ -999,6 +1003,7 @@ module Readiness
999
1003
  'sub_consumption_cicd_minutes' => account['sub_consumption_cicd_minutes'],
1000
1004
  'sub_consumption_duo_enterprise' => account['sub_consumption_duo_enterprise'],
1001
1005
  'sub_consumption_duo_premium' => account['sub_consumption_duo_premium'],
1006
+ 'sub_consumption_duo_amazon_q' => account['sub_consumption_duo_amazon_q'],
1002
1007
  'sub_consumption_eap' => account['sub_consumption_eap'],
1003
1008
  'sub_consumption_storage' => account['sub_consumption_storage'],
1004
1009
  'sub_dotcom_premium' => account['sub_dotcom_premium'],
@@ -1038,6 +1043,7 @@ module Readiness
1038
1043
  'expiration_date' => account['expiration_date'],
1039
1044
  'greatly_expired' => account['greatly_expired'],
1040
1045
  'health_score' => account['health_score'],
1046
+ 'market_segment' => account['market_segment'],
1041
1047
  'not_in_sfdc' => account['not_in_sfdc'],
1042
1048
  'restricted_account' => account['restricted_account'],
1043
1049
  'salesforce_id' => account['salesforce_id'],
@@ -1050,6 +1056,7 @@ module Readiness
1050
1056
  'sub_consumption_cicd_minutes' => account['sub_consumption_cicd_minutes'],
1051
1057
  'sub_consumption_duo_enterprise' => account['sub_consumption_duo_enterprise'],
1052
1058
  'sub_consumption_duo_premium' => account['sub_consumption_duo_premium'],
1059
+ 'sub_consumption_duo_amazon_q' => account['sub_consumption_duo_amazon_q'],
1053
1060
  'sub_consumption_eap' => account['sub_consumption_eap'],
1054
1061
  'sub_consumption_storage' => account['sub_consumption_storage'],
1055
1062
  'sub_dotcom_premium' => account['sub_dotcom_premium'],
@@ -1067,7 +1074,8 @@ module Readiness
1067
1074
  'sub_usgov_24x7' => account['sub_usgov_24x7'],
1068
1075
  'support_hold' => account['support_hold'],
1069
1076
  'support_level' => account['support_level'],
1070
- 'technical_account_manager' => account['technical_account_manager']
1077
+ 'technical_account_manager' => account['technical_account_manager'],
1078
+ 'date_marked_not_in_sfdc' => account['date_marked_not_in_sfdc']
1071
1079
  }
1072
1080
  end
1073
1081
 
@@ -62,16 +62,10 @@ module Readiness
62
62
  query = Queries.new(us_gov_check_query_string(aid))
63
63
  results = Queries.run!(client, query)
64
64
  return false if results.count.zero?
65
- return false if results.first.Support_Hold__c
66
- return false unless results.first.Restricted_Account__c.nil?
67
- return true if results.first.Support_Instance__c == 'federal-support'
68
-
69
- if results.first.Account_Demographics_Territory__c =~ /^PUBSEC/
70
- if results.first.Account_Demographics_Territory__c != 'PUBSEC_'
71
- return true unless results.first.Account_Demographics_Territory__c =~ /SLED/
72
- end
73
- end
74
- false
65
+ return false if results.first.Zuora__Account__r.Support_Hold__c
66
+ return false unless results.first.Zuora__Account__r.Restricted_Account__c.nil?
67
+
68
+ true
75
69
  end
76
70
 
77
71
  ##
@@ -155,6 +149,7 @@ module Readiness
155
149
  "sub_consumption_cicd_minutes" => subscriptions.include?('sub_consumption_cicd_minutes'),
156
150
  "sub_consumption_duo_enterprise" => subscriptions.include?('sub_consumption_duo_enterprise'),
157
151
  "sub_consumption_duo_premium" => subscriptions.include?('sub_consumption_duo_premium'),
152
+ "sub_consumption_duo_amazon_q" => subscriptions.include?('sub_consumption_duo_amazon_q'),
158
153
  "sub_consumption_eap" => subscriptions.include?('sub_consumption_eap'),
159
154
  "sub_consumption_storage" => subscriptions.include?('sub_consumption_storage'),
160
155
  "sub_proserv" => subscriptions.include?('sub_proserv'),
@@ -211,6 +206,7 @@ module Readiness
211
206
  "sub_consumption_cicd_minutes" => subscriptions.include?('sub_consumption_cicd_minutes'),
212
207
  "sub_consumption_duo_enterprise" => subscriptions.include?('sub_consumption_duo_enterprise'),
213
208
  "sub_consumption_duo_premium" => subscriptions.include?('sub_consumption_duo_premium'),
209
+ "sub_consumption_duo_amazon_q" => subscriptions.include?('sub_consumption_duo_amazon_q'),
214
210
  "sub_consumption_eap" => subscriptions.include?('sub_consumption_eap'),
215
211
  "sub_consumption_storage" => subscriptions.include?('sub_consumption_storage'),
216
212
  "sub_proserv" => subscriptions.include?('sub_proserv'),
@@ -228,7 +224,8 @@ module Readiness
228
224
  "sub_ss_ase" => subscriptions.include?('sub_ss_ase'),
229
225
  "sub_other" => subscriptions.include?('sub_other'),
230
226
  "not_in_sfdc" => false,
231
- "support_hold" => account.Support_Hold__c
227
+ "support_hold" => account.Support_Hold__c,
228
+ "date_marked_not_in_sfdc" => nil
232
229
  }
233
230
  end
234
231
 
@@ -453,24 +450,27 @@ module Readiness
453
450
  def self.us_gov_check_query_string(aid)
454
451
  <<~STRING
455
452
  SELECT
456
- Restricted_Account__c,
457
- Support_Hold__c,
458
- Support_Instance__c,
459
- Account_Demographics_Territory__c,
453
+ Zuora__Account__r.Account_ID_18__c,
454
+ Zuora__Account__r.Support_Hold__c,
455
+ Zuora__Account__r.Restricted_Account__c
456
+ FROM Zuora__SubscriptionProductCharge__c
457
+ WHERE
458
+ Zuora__Account__r.Account_ID_18__c = '#{aid}' AND
459
+ Subscription_Status__c = 'Active' AND
460
+ Zuora__EffectiveEndDate__c >= #{(Date.today - 91.days).iso8601} AND
460
461
  (
461
- SELECT
462
- Id,
463
- Name,
464
- Zuora__ProductName__c,
465
- Zuora__EffectiveEndDate__c,
466
- Zuora__Quantity__c,
467
- Zuora__TotalContractValue__c,
468
- Subscription_Status__c
469
- FROM Zuora__R00N40000001lGjTEAU__r
462
+ Name IN (
463
+ '12x5 US Citizen Support - 1 Year',
464
+ '12x5 US Citizen Support - 2 Year',
465
+ '12x5 US Citizen Support - 3 Year',
466
+ '12x5 US Citizen Support - Monthly',
467
+ '24x7 US Citizen Support - 1 Year',
468
+ '24x7 US Citizen Support - 2 Year',
469
+ '24x7 US Citizen Support - 3 Year',
470
+ '24x7 US Citizen Support - Monthly'
471
+ ) OR
472
+ Zuora__Account__r.Support_Instance__c = 'federal-support'
470
473
  )
471
- FROM Account
472
- WHERE
473
- Account_ID_18__c = '#{aid}'
474
474
  STRING
475
475
  end
476
476
 
@@ -569,17 +569,28 @@ module Readiness
569
569
  )
570
570
  FROM Account
571
571
  WHERE
572
- Type IN ('Customer', 'Former Customer') AND
573
- (
572
+ Id IN
574
573
  (
575
- Account_Demographics_Territory__c LIKE 'PUBSEC%' AND
576
- Account_Demographics_Territory__c != 'PUBSEC_' AND
577
- (
578
- NOT Account_Demographics_Territory__c LIKE '%SLED%'
579
- )
580
- ) OR
581
- Support_Instance__c = 'federal-support'
582
- )
574
+ SELECT
575
+ Zuora__Account__c
576
+ FROM Zuora__SubscriptionProductCharge__c
577
+ WHERE
578
+ Subscription_Status__c = 'Active' AND
579
+ Zuora__EffectiveEndDate__c >= #{(Date.today - 91.days).iso8601} AND
580
+ (
581
+ Name IN (
582
+ '12x5 US Citizen Support - 1 Year',
583
+ '12x5 US Citizen Support - 2 Year',
584
+ '12x5 US Citizen Support - 3 Year',
585
+ '12x5 US Citizen Support - Monthly',
586
+ '24x7 US Citizen Support - 1 Year',
587
+ '24x7 US Citizen Support - 2 Year',
588
+ '24x7 US Citizen Support - 3 Year',
589
+ '24x7 US Citizen Support - Monthly'
590
+ ) OR
591
+ Zuora__Account__r.Support_Instance__c = 'federal-support'
592
+ )
593
+ )
583
594
  QUERY
584
595
  end
585
596
  end
@@ -64,9 +64,7 @@ module Readiness
64
64
  Name,
65
65
  Email,
66
66
  Account.Account_ID_18__c,
67
- Account.Type,
68
- Account.Name,
69
- Role__c
67
+ Account.Name
70
68
  FROM Contact
71
69
  WHERE
72
70
  Inactive_Contact__c = false AND
@@ -77,16 +75,27 @@ module Readiness
77
75
  NOT Email LIKE '%gitlab.com'
78
76
  ) AND
79
77
  Account.Type IN ('Customer', 'Former Customer') AND
80
- (
81
- (
82
- Account.Account_Demographics_Territory__c LIKE 'PUBSEC%' AND
83
- Account.Account_Demographics_Territory__c != 'PUBSEC_' AND
78
+ AccountId IN (
79
+ SELECT
80
+ Zuora__Account__c
81
+ FROM Zuora__SubscriptionProductCharge__c
82
+ WHERE
83
+ Subscription_Status__c = 'Active' AND
84
+ Zuora__EffectiveEndDate__c >= #{(Date.today - 91.days).iso8601} AND
84
85
  (
85
- NOT Account.Account_Demographics_Territory__c LIKE '%SLED%'
86
+ Name IN (
87
+ '12x5 US Citizen Support - 1 Year',
88
+ '12x5 US Citizen Support - 2 Year',
89
+ '12x5 US Citizen Support - 3 Year',
90
+ '12x5 US Citizen Support - Monthly',
91
+ '24x7 US Citizen Support - 1 Year',
92
+ '24x7 US Citizen Support - 2 Year',
93
+ '24x7 US Citizen Support - 3 Year',
94
+ '24x7 US Citizen Support - Monthly'
95
+ ) OR
96
+ Zuora__Account__r.Support_Instance__c = 'federal-support'
86
97
  )
87
- ) OR
88
- Account.Support_Instance__c = 'federal-support'
89
- )
98
+ )
90
99
  QUERY
91
100
  end
92
101
  end
@@ -78,6 +78,25 @@ module Readiness
78
78
  ]
79
79
  end
80
80
 
81
+ ##
82
+ # Defines Consumption => GitLab Duo with Amazon Q subscriptions
83
+ #
84
+ # @author Jason Colyer
85
+ # @since 1.0.40
86
+ # @return [Array]
87
+ def self.consumption_duo_amazon_q
88
+ [
89
+ 'Dedicated - GitLab Duo with Amazon Q - 1 Year',
90
+ 'Dedicated - GitLab Duo with Amazon Q - 2 Year',
91
+ 'Dedicated - GitLab Duo with Amazon Q - 3 Year',
92
+ 'Dedicated - GitLab Duo with Amazon Q - Monthly',
93
+ 'Self-Managed - GitLab Duo with Amazon Q - 1 Year',
94
+ 'Self-Managed - GitLab Duo with Amazon Q - 2 Year',
95
+ 'Self-Managed - GitLab Duo with Amazon Q - 3 Year',
96
+ 'Self-Managed - GitLab Duo with Amazon Q - Monthly'
97
+ ]
98
+ end
99
+
81
100
  ##
82
101
  # Defines Consumption => CI/CD Minutes subscriptions
83
102
  #
@@ -359,6 +359,7 @@ module Readiness
359
359
  addons.push('AI') if @organization.organization_fields['sub_consumption_ai']
360
360
  addons.push('GitLab Duo Premium') if @organization.organization_fields['sub_consumption_duo_premium']
361
361
  addons.push('GitLab Duo Enterprise') if @organization.organization_fields['sub_consumption_duo_enterprise']
362
+ addons.push('GitLab Duo with Amazon Q') if @organization.organization_fields['sub_consumption_duo_amazon_q']
362
363
  addons.push('AI addon') if @organization.organization_fields['sub_consumption_ai']
363
364
  addons.push('Success Advanced') if @organization.organization_fields['sub_ss_success_growth']
364
365
  addons.push('Success Signature') if @organization.organization_fields['sub_ss_success_enterprise']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab_support_readiness
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.94
4
+ version: 1.0.96
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Colyer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-06 00:00:00.000000000 Z
11
+ date: 2025-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport