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 +4 -4
- data/lib/support_readiness/repos/zendesk_salesforce_sync.rb +10 -2
- data/lib/support_readiness/salesforce/accounts.rb +48 -37
- data/lib/support_readiness/salesforce/contacts.rb +20 -11
- data/lib/support_readiness/salesforce/subscription_definitions.rb +19 -0
- data/lib/support_readiness/ticket_processor/organization_notes.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 754610e153f321d1eadcbd227ef10672ba943d7432cc8c3604d7a82553cf0777
|
4
|
+
data.tar.gz: 06d952982516a7dd04590b2c0217518e052d9d10989a8a5aa229e915d300c3fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
457
|
-
Support_Hold__c,
|
458
|
-
|
459
|
-
|
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
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
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
|
-
|
573
|
-
(
|
572
|
+
Id IN
|
574
573
|
(
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
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.
|
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
|
-
|
83
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
11
|
+
date: 2025-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|