gitlab_support_readiness 1.0.96 → 1.0.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/support_readiness/salesforce/accounts.rb +1 -0
- data/lib/support_readiness/support_super_form_processor/disable_us_government.rb +178 -0
- data/lib/support_readiness/support_super_form_processor/enable_us_government.rb +12 -7
- data/lib/support_readiness/support_super_form_processor/shared.rb +2 -2
- data/lib/support_readiness/support_super_form_processor.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a1ef97a0e31a1b469b1e012d856d5915d9b96c6ee85984b851854eb219fadf1
|
4
|
+
data.tar.gz: 5be4b830b795774ed4640a19afb8093ac29dd0636d4ea124309e9525762bb8a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78b62c7a8e266710bc424266234075691e376b120dccc10dbea12617c676c8b7d4eb788b5edfa9d19a517b892fd4ecdae2a623a3a065931474fd11977c956b11
|
7
|
+
data.tar.gz: dd20a3f36025cf1ed488a497ab97f2560b604f0512861798c79a854a59efa0a1189681c9d20546eba244084a072aa3a04a114a16d8e62e54532adaa017822a24
|
@@ -246,6 +246,7 @@ module Readiness
|
|
246
246
|
sub_types.push('sub_consumption_cicd_minutes') if SubscriptionDefinitions.consumption_cicd_minutes.include? sub.Name
|
247
247
|
sub_types.push('sub_consumption_duo_premium') if SubscriptionDefinitions.consumption_duo_premium.include? sub.Name
|
248
248
|
sub_types.push('sub_consumption_duo_enterprise') if SubscriptionDefinitions.consumption_duo_enterprise.include? sub.Name
|
249
|
+
sub_types.push('sub_consumption_duo_amazon_q') if SubscriptionDefinitions.consumption_duo_amazon_q.include? sub.Name
|
249
250
|
sub_types.push('sub_consumption_eap') if SubscriptionDefinitions.consumption_eap.include? sub.Name
|
250
251
|
sub_types.push('sub_consumption_storage') if SubscriptionDefinitions.consumption_storage.include? sub.Name
|
251
252
|
sub_types.push('sub_proserv') if SubscriptionDefinitions.proserv.include? sub.Name
|
@@ -0,0 +1,178 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Defines the module Readiness.
|
4
|
+
module Readiness
|
5
|
+
# Defines the module SupportSuperFormProcessor
|
6
|
+
module SupportSuperFormProcessor
|
7
|
+
##
|
8
|
+
# Defines the class DisableUSGov within the module {Readiness::Zendesk}.
|
9
|
+
#
|
10
|
+
# @author Jason Colyer
|
11
|
+
# @since 1.0.97
|
12
|
+
class DisableUSGov < Readiness::Client
|
13
|
+
##
|
14
|
+
# Process a Disable US Government request
|
15
|
+
#
|
16
|
+
# @author Jason Colyer
|
17
|
+
# @since 1.0.97
|
18
|
+
def self.process!(gitlab_client, gitlab_admin_client, zendesk_client, sfdc_client)
|
19
|
+
@gitlab_client = gitlab_client
|
20
|
+
@gitlab_admin_client = gitlab_admin_client
|
21
|
+
@zendesk_client = zendesk_client
|
22
|
+
@sfdc_client = sfdc_client
|
23
|
+
requester
|
24
|
+
zd_user
|
25
|
+
checks
|
26
|
+
unless errors.count.zero?
|
27
|
+
Readiness::SupportSuperFormProcessor::Shared.invalid_enable_usgov(requester, errors)
|
28
|
+
end
|
29
|
+
issue = Readiness::GitLab::Issues.new
|
30
|
+
issue.title = 'Remove US Government Support exception'
|
31
|
+
issue.description = message
|
32
|
+
create = Readiness::GitLab::Issues.create!(@gitlab_client, project, issue)
|
33
|
+
puts "Issue created: #{create.web_url}"
|
34
|
+
exit 0
|
35
|
+
end
|
36
|
+
|
37
|
+
##
|
38
|
+
# Peform validity checks for this request
|
39
|
+
#
|
40
|
+
# @author Jason Colyer
|
41
|
+
# @since 1.0.97
|
42
|
+
def self.checks
|
43
|
+
errors.push("Invalid SFDC account given: #{account_id}") if account.nil?
|
44
|
+
return unless errors.count.zero?
|
45
|
+
|
46
|
+
errors.push("SFDC account #{account_id} does not have an exception to remove") if account.Support_Instance__c != 'federal-support'
|
47
|
+
end
|
48
|
+
|
49
|
+
##
|
50
|
+
# Sets the global variable errors
|
51
|
+
#
|
52
|
+
# @author Jason Colyer
|
53
|
+
# @since 1.0.97
|
54
|
+
def self.errors
|
55
|
+
@errors ||= []
|
56
|
+
end
|
57
|
+
|
58
|
+
##
|
59
|
+
# Sets the global variable requester
|
60
|
+
#
|
61
|
+
# @author Jason Colyer
|
62
|
+
# @since 1.0.97
|
63
|
+
def self.requester
|
64
|
+
@requester ||= Readiness::SupportSuperFormProcessor::Shared.gitlab_user_check(@gitlab_admin_client, requester_email)
|
65
|
+
end
|
66
|
+
|
67
|
+
##
|
68
|
+
# Sets the global variable zd_user
|
69
|
+
#
|
70
|
+
# @author Jason Colyer
|
71
|
+
# @since 1.0.97
|
72
|
+
def self.zd_user
|
73
|
+
@zd_user ||= Readiness::SupportSuperFormProcessor::Shared.zendesk_user_check(@zendesk_client, requester_email)
|
74
|
+
end
|
75
|
+
|
76
|
+
##
|
77
|
+
# Sets the global variable requester_email
|
78
|
+
#
|
79
|
+
# @author Jason Colyer
|
80
|
+
# @since 1.0.97
|
81
|
+
def self.requester_email
|
82
|
+
@requester_email ||= ENV.fetch('REQUESTER_EMAIL')
|
83
|
+
end
|
84
|
+
|
85
|
+
##
|
86
|
+
# Sets the global variable account
|
87
|
+
#
|
88
|
+
# @author Jason Colyer
|
89
|
+
# @since 1.0.97
|
90
|
+
def self.account
|
91
|
+
@account ||= fetch_account
|
92
|
+
end
|
93
|
+
|
94
|
+
##
|
95
|
+
# Run a SQOL query to get account information
|
96
|
+
#
|
97
|
+
# @author Jason Colyer
|
98
|
+
# @since 1.0.97
|
99
|
+
def self.fetch_account
|
100
|
+
query = Readiness::Salesforce::Queries.new(account_query)
|
101
|
+
results = Readiness::Salesforce::Queries.run!(@sfdc_client, query)
|
102
|
+
results.first
|
103
|
+
end
|
104
|
+
|
105
|
+
##
|
106
|
+
# Sets the global variable account_id
|
107
|
+
#
|
108
|
+
# @author Jason Colyer
|
109
|
+
# @since 1.0.97
|
110
|
+
def self.account_id
|
111
|
+
@account_id ||= ENV.fetch('DISABLE_US_GOV_SUPPORT_SFDC_ACCOUNT')
|
112
|
+
end
|
113
|
+
|
114
|
+
##
|
115
|
+
# Returns a String to get account information
|
116
|
+
#
|
117
|
+
# @author Jason Colyer
|
118
|
+
# @since 1.0.97
|
119
|
+
def self.account_query
|
120
|
+
<<~STRING
|
121
|
+
SELECT
|
122
|
+
Account_ID_18__c,
|
123
|
+
Name,
|
124
|
+
Ultimate_Parent_Sales_Segment_Employees__c,
|
125
|
+
Account_Owner_Calc__c,
|
126
|
+
Technical_Account_Manager_Name__c,
|
127
|
+
GS_Health_Score_Color__c,
|
128
|
+
Restricted_Account__c,
|
129
|
+
Solutions_Architect_Lookup__r.Name,
|
130
|
+
Support_Hold__c,
|
131
|
+
Support_Instance__c,
|
132
|
+
(
|
133
|
+
SELECT
|
134
|
+
Id,
|
135
|
+
Name,
|
136
|
+
Zuora__ProductName__c,
|
137
|
+
Zuora__EffectiveEndDate__c,
|
138
|
+
Zuora__Quantity__c,
|
139
|
+
Zuora__TotalContractValue__c,
|
140
|
+
Subscription_Status__c
|
141
|
+
FROM Zuora__R00N40000001lGjTEAU__r
|
142
|
+
)
|
143
|
+
FROM Account
|
144
|
+
WHERE
|
145
|
+
Id = '#{account_id}'
|
146
|
+
STRING
|
147
|
+
end
|
148
|
+
|
149
|
+
##
|
150
|
+
# Return the string for the issue body
|
151
|
+
#
|
152
|
+
# @author Jason Colyer
|
153
|
+
# @since 1.0.97
|
154
|
+
def self.message
|
155
|
+
<<~STRING
|
156
|
+
## Remove US Government Support exception for #{account.Account_ID_18__c}
|
157
|
+
|
158
|
+
A request has been filed to remove the US Government Support exception for a SFDC account. The details are as follows:
|
159
|
+
|
160
|
+
- Requester: @#{requester.username}
|
161
|
+
- SFDC Account: [#{account.Account_ID_18__c}](https://gitlab.lightning.force.com/lightning/r/Account/#{account.Account_ID_18__c}/view)
|
162
|
+
|
163
|
+
#### Readiness TODO list
|
164
|
+
|
165
|
+
- [ ] Review above information for accuracy
|
166
|
+
- [ ] Confirm the corresponding organization does not currently have an ongoing tickets
|
167
|
+
- [ ] Follow the process detailed in [this handbook page](https://handbook.gitlab.com/handbook/support/readiness/operations/docs/policies/us_gov_support_exceptions)
|
168
|
+
|
169
|
+
/assign @#{requester.username} @jcolyer @secole @lyle
|
170
|
+
|
171
|
+
/label ~"Readiness::Triage" "Readiness::Current Quarter"
|
172
|
+
|
173
|
+
cc @leeeee-gtlb
|
174
|
+
STRING
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
@@ -27,8 +27,8 @@ module Readiness
|
|
27
27
|
Readiness::SupportSuperFormProcessor::Shared.invalid_enable_usgov(requester, errors)
|
28
28
|
end
|
29
29
|
issue = Readiness::GitLab::Issues.new
|
30
|
-
issue.title = '
|
31
|
-
issue.description = message
|
30
|
+
issue.title = 'Add US Government Support exception'
|
31
|
+
issue.description = message
|
32
32
|
create = Readiness::GitLab::Issues.create!(@gitlab_client, project, issue)
|
33
33
|
puts "Issue created: #{create.web_url}"
|
34
34
|
exit 0
|
@@ -44,7 +44,7 @@ module Readiness
|
|
44
44
|
errors.push("Invalid SFDC opportunity given: #{opportunity_id}") if opportunity.nil?
|
45
45
|
return unless errors.count.zero?
|
46
46
|
|
47
|
-
errors.push("SFDC account #{account_id}
|
47
|
+
errors.push("SFDC account #{account_id} already has the exception") if account.Support_Instance__c == 'federal-support'
|
48
48
|
errors.push("Missing US Government SKU on #{account_id}") unless correct_sku?
|
49
49
|
end
|
50
50
|
|
@@ -54,6 +54,8 @@ module Readiness
|
|
54
54
|
# @author Jason Colyer
|
55
55
|
# @since 1.0.42
|
56
56
|
def self.correct_sku?
|
57
|
+
return false if account.Zuora__R00N40000001lGjTEAU__r.nil?
|
58
|
+
|
57
59
|
account.Zuora__R00N40000001lGjTEAU__r.map { |r| r.Name }.each do |name|
|
58
60
|
return true if Readiness::Salesforce::SubscriptionDefinitions.usgov_12x5.include? name
|
59
61
|
return true if Readiness::Salesforce::SubscriptionDefinitions.usgov_24x7.include? name
|
@@ -172,6 +174,7 @@ module Readiness
|
|
172
174
|
Restricted_Account__c,
|
173
175
|
Solutions_Architect_Lookup__r.Name,
|
174
176
|
Support_Hold__c,
|
177
|
+
Support_Instance__c,
|
175
178
|
(
|
176
179
|
SELECT
|
177
180
|
Id,
|
@@ -211,9 +214,9 @@ module Readiness
|
|
211
214
|
# @since 1.0.42
|
212
215
|
def self.message
|
213
216
|
<<~STRING
|
214
|
-
##
|
217
|
+
## Add US Government Support exception for #{account.Account_ID_18__c}
|
215
218
|
|
216
|
-
A request has been filed to
|
219
|
+
A request has been filed to add the US Government Support exception for a SFDC account. The details are as follows:
|
217
220
|
|
218
221
|
- Requester: @#{requester.username}
|
219
222
|
- SFDC Account: [#{account.Account_ID_18__c}](https://gitlab.lightning.force.com/lightning/r/Account/#{account.Account_ID_18__c}/view)
|
@@ -224,11 +227,13 @@ module Readiness
|
|
224
227
|
#### Readiness TODO list
|
225
228
|
|
226
229
|
- [ ] Review above information
|
227
|
-
- [ ] Follow the process detailed in [this handbook page](https://handbook.gitlab.com/handbook/support/readiness/operations/docs/policies/
|
230
|
+
- [ ] Follow the process detailed in [this handbook page](https://handbook.gitlab.com/handbook/support/readiness/operations/docs/policies/us_gov_support_exceptions)
|
228
231
|
|
229
232
|
/assign @#{requester.username} @jcolyer @secole @lyle
|
230
233
|
|
231
|
-
|
234
|
+
/label ~"Readiness::Triage" "Readiness::Current Quarter"
|
235
|
+
|
236
|
+
cc @jscarborough @leeeee-gtlb
|
232
237
|
STRING
|
233
238
|
end
|
234
239
|
end
|
@@ -215,7 +215,7 @@ module Readiness
|
|
215
215
|
email.subject = 'Invalid Support Super Form submission'
|
216
216
|
email.text = invalid_enable_usgov_message(requester, errors)
|
217
217
|
Readiness::Mailgun::Emails.send!(mailgun_client, email)
|
218
|
-
puts "Invalid enable us gov submission by #{requester.email}"
|
218
|
+
puts "Invalid enable/disable us gov submission by #{requester.email}"
|
219
219
|
exit 0
|
220
220
|
end
|
221
221
|
|
@@ -485,7 +485,7 @@ module Readiness
|
|
485
485
|
<<~STRING
|
486
486
|
Greetings @#{requester.username} ,
|
487
487
|
|
488
|
-
Your recent request to enable US Goverment support was not able to be filed due to the following issues:
|
488
|
+
Your recent request to enable/disable US Goverment support was not able to be filed due to the following issues:
|
489
489
|
|
490
490
|
#{errors.map { |e| "- #{e}" }.join("\n")}
|
491
491
|
|
@@ -12,6 +12,7 @@ module Readiness
|
|
12
12
|
|
13
13
|
require "#{__dir__}/support_super_form_processor/create_article"
|
14
14
|
require "#{__dir__}/support_super_form_processor/create_macro"
|
15
|
+
require "#{__dir__}/support_super_form_processor/disable_us_government"
|
15
16
|
require "#{__dir__}/support_super_form_processor/edit_macro"
|
16
17
|
require "#{__dir__}/support_super_form_processor/enable_us_government"
|
17
18
|
require "#{__dir__}/support_super_form_processor/global_ir_dotcom_subscriptions_billing_entity_change"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.97
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Colyer
|
@@ -319,6 +319,7 @@ files:
|
|
319
319
|
- lib/support_readiness/support_super_form_processor.rb
|
320
320
|
- lib/support_readiness/support_super_form_processor/create_article.rb
|
321
321
|
- lib/support_readiness/support_super_form_processor/create_macro.rb
|
322
|
+
- lib/support_readiness/support_super_form_processor/disable_us_government.rb
|
322
323
|
- lib/support_readiness/support_super_form_processor/edit_macro.rb
|
323
324
|
- lib/support_readiness/support_super_form_processor/enable_us_government.rb
|
324
325
|
- lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_billing_entity_change.rb
|