gitlab_support_readiness 1.0.63 → 1.0.65
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/repos/zendesk_salesforce_sync.rb +1 -4
- data/lib/support_readiness/support_super_form_processor/enable_us_government.rb +2 -2
- data/lib/support_readiness/support_super_form_processor/gratis_request.rb +3 -0
- data/lib/support_readiness/support_super_form_processor/shared.rb +48 -12
- data/lib/support_readiness/ticket_processor/account_blocked.rb +4 -2
- data/lib/support_readiness/ticket_processor/link_tagger.rb +13 -0
- data/lib/support_readiness/ticket_processor/locked_account.rb +1 -1
- 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: 7b7912aaaceff61c5330ff68593cdb3d02b885234628735b6e021df027290b10
|
4
|
+
data.tar.gz: d6917d2e6e7d9df2df7e6583af3160cdf46782d0d223ef9502ad8efece2f2a5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed0d01911c128ee9eb52a814a055e107322816b42041035aabe3ad6d33f21c87b39178d472105a37034143554e90e6d5a01bd0f1a823d2162f29c8c6baaecafd
|
7
|
+
data.tar.gz: '0079272673ae45ce6a8cc899ec621d316b001938fcea7373fd33c64e247cf6c5ab9a9fb7cef024e803715a5580aa8044889db3f720cb61ff979bcd331b23948b'
|
@@ -1068,10 +1068,7 @@ module Readiness
|
|
1068
1068
|
end
|
1069
1069
|
|
1070
1070
|
def self.sfdc_links(sfdc_id)
|
1071
|
-
|
1072
|
-
"<https://gitlab.my.salesforce.com/#{sfdc_id}|Classic>",
|
1073
|
-
"<https://gitlab.lightning.force.com/lightning/r/Account/#{sfdc_id}/view|Lightning>"
|
1074
|
-
].join(' | ')
|
1071
|
+
"<https://gitlab.lightning.force.com/lightning/r/Account/#{sfdc_id}/view|#{sfdc_id}>"
|
1075
1072
|
end
|
1076
1073
|
|
1077
1074
|
def self.global_slack_message(org)
|
@@ -216,8 +216,8 @@ module Readiness
|
|
216
216
|
A request has been filed to enable US Government Support for a SFDC account. The details are as follows:
|
217
217
|
|
218
218
|
- Requester: @#{requester.username}
|
219
|
-
- SFDC Account: [#{account.Account_ID_18__c}](https://gitlab.
|
220
|
-
- SFDC Opportunity: [#{opportunity.
|
219
|
+
- SFDC Account: [#{account.Account_ID_18__c}](https://gitlab.lightning.force.com/lightning/r/Account/#{account.Account_ID_18__c}/view)
|
220
|
+
- SFDC Opportunity: [#{opportunity.Id}](https://gitlab.lightning.force.com/lightning/r/Opportunity/#{opportunity.Id}/view)
|
221
221
|
- Product Charges on SFDC account:
|
222
222
|
#{account.Zuora__R00N40000001lGjTEAU__r.map { |r| " - #{r.Name}" }.join("\n")}
|
223
223
|
|
@@ -137,6 +137,9 @@ module Readiness
|
|
137
137
|
query = Readiness::Salesforce::Queries.new(opportunity_query)
|
138
138
|
results = Readiness::Salesforce::Queries.run!(@sfdc_client, query)
|
139
139
|
results.first
|
140
|
+
rescue Restforce::ErrorCode::InvalidQueryFilterOperator
|
141
|
+
puts 'Invalid SFDC opp link provided'
|
142
|
+
Readiness::SupportSuperFormProcessor::Shared.invalid_opportunity_link(requester, opportunity_link)
|
140
143
|
end
|
141
144
|
|
142
145
|
##
|
@@ -206,6 +206,22 @@ module Readiness
|
|
206
206
|
exit 0
|
207
207
|
end
|
208
208
|
|
209
|
+
##
|
210
|
+
# Sends an email if not a valid opportunity link for a gratis request
|
211
|
+
#
|
212
|
+
# @author Jason Colyer
|
213
|
+
# @since 1.0.65
|
214
|
+
def self.invalid_opportunity_link(requester, opportunity_link)
|
215
|
+
email = Readiness::Mailgun::Emails.new
|
216
|
+
email.from = 'GitLab Support <techsupport@gitlab.com>'
|
217
|
+
email.to = requester.email
|
218
|
+
email.subject = 'Invalid Support Super Form submission'
|
219
|
+
email.text = invalid_opportunity_link_message(requester, opportunity_link)
|
220
|
+
Readiness::Mailgun::Emails.send!(mailgun_client, email)
|
221
|
+
puts "Invalid opportunity link provided for gratis request by #{requester.email}"
|
222
|
+
exit 0
|
223
|
+
end
|
224
|
+
|
209
225
|
##
|
210
226
|
# Sets a global variable for an instance of {Readiness::Mailgun::Client}
|
211
227
|
#
|
@@ -470,15 +486,38 @@ module Readiness
|
|
470
486
|
STRING
|
471
487
|
end
|
472
488
|
|
489
|
+
##
|
490
|
+
# Returns the email body message when not a valid SFDC opportunity link for gratis requests
|
491
|
+
#
|
492
|
+
# @author Jason Colyer
|
493
|
+
# @since 1.0.65
|
494
|
+
# @return [String]
|
495
|
+
def self.invalid_opportunity_link_message(requester, opportunity_link)
|
496
|
+
<<~STRING
|
497
|
+
Greetings @#{requester.username} ,
|
498
|
+
|
499
|
+
Your recent gratis request was not able to be filed due to the following issues:
|
500
|
+
|
501
|
+
- Invalid SFDC opportunity link provided: #{opportunity_link}
|
502
|
+
|
503
|
+
Please rectify the above issues and re-submit your request via the form.
|
504
|
+
|
505
|
+
Thank you,
|
506
|
+
|
507
|
+
GitLab Support
|
508
|
+
|
509
|
+
Please note this is sent from an unmonitored inbox and replies to it will not be followed up on.
|
510
|
+
STRING
|
511
|
+
end
|
512
|
+
|
473
513
|
def self.sfdc_account_string(link)
|
474
514
|
id = if link =~ /lightning/
|
475
515
|
link.split('/')[-2]
|
476
516
|
else
|
477
517
|
link.split('/').last
|
478
518
|
end
|
479
|
-
|
480
|
-
|
481
|
-
"SFDC Account: #{id} (#{classic} | #{lightning})"
|
519
|
+
lightning = "<a href='https://gitlab.lightning.force.com/lightning/r/Account/#{id}/view' target='_blank'>#{id}</a>"
|
520
|
+
"SFDC Account: #{lightning}"
|
482
521
|
end
|
483
522
|
|
484
523
|
def self.sfdc_opportunity_string(link)
|
@@ -487,9 +526,8 @@ module Readiness
|
|
487
526
|
else
|
488
527
|
link.split('/').last
|
489
528
|
end
|
490
|
-
|
491
|
-
|
492
|
-
"SFDC Opportunity: #{id} (#{classic} | #{lightning})"
|
529
|
+
lightning = "<a href='https://gitlab.lightning.force.com/lightning/r/Opportunity/#{id}/view' target='_blank'>#{id}</a>"
|
530
|
+
"SFDC Opportunity: #{lightning}"
|
493
531
|
end
|
494
532
|
|
495
533
|
def self.sfdc_upload_string(link)
|
@@ -498,9 +536,8 @@ module Readiness
|
|
498
536
|
else
|
499
537
|
link.split('/').last
|
500
538
|
end
|
501
|
-
|
502
|
-
|
503
|
-
"Customer verification proof: #{id} (#{classic} | #{lightning})"
|
539
|
+
lightning = "<a href='https://gitlab.lightning.force.com/lightning/r/ContentDocument/#{id}/view' target='_blank'>#{id}</a>"
|
540
|
+
"Customer verification proof: #{lightning}"
|
504
541
|
end
|
505
542
|
|
506
543
|
def self.sfdc_chattr_string(link)
|
@@ -509,9 +546,8 @@ module Readiness
|
|
509
546
|
else
|
510
547
|
link.split('/').last
|
511
548
|
end
|
512
|
-
|
513
|
-
|
514
|
-
"Chattr link containing approval: #{id} (#{classic} | #{lightning})"
|
549
|
+
lightning = "<a href='https://gitlab.lightning.force.com/lightning/r/#{id}/view' target='_blank'>#{id}</a>"
|
550
|
+
"Chattr link containing approval: #{lightning}"
|
515
551
|
end
|
516
552
|
end
|
517
553
|
end
|
@@ -25,8 +25,10 @@ module Readiness
|
|
25
25
|
exit 0 if @ticket.is_a? Hash
|
26
26
|
|
27
27
|
email = @ticket.custom_fields.detect { |t| t['id'] == 4413932829586 }['value']
|
28
|
-
|
29
|
-
|
28
|
+
if email.to_s == ''
|
29
|
+
puts 'No email in the field, so nothing to autowork'
|
30
|
+
exit 0
|
31
|
+
end
|
30
32
|
|
31
33
|
search = Readiness::GitLab::Users.search_by_email(@gitlab_admin_client, email)
|
32
34
|
@user = search.detect { |s| s.email.downcase == email.downcase }
|
@@ -31,6 +31,19 @@ module Readiness
|
|
31
31
|
comments = Readiness::Zendesk::Tickets.comments(@zendesk_client, @ticket)
|
32
32
|
public_comments = comments.select { |c| c['public'] }
|
33
33
|
comment_to_check = public_comments.select { |c| c['author_id'] == @user.id }.last
|
34
|
+
if comment_to_check.nil?
|
35
|
+
public_comments.reverse.each do |comment|
|
36
|
+
new_user = Readiness::Zendesk::Users.find(@zendesk_client, comment['author_id'])
|
37
|
+
next unless %w[admin agent].include? new_user.role
|
38
|
+
|
39
|
+
comment_to_check = comment
|
40
|
+
break
|
41
|
+
end
|
42
|
+
end
|
43
|
+
if comment_to_check.nil?
|
44
|
+
puts 'Cannot determine a comment to check, so exiting...'
|
45
|
+
exit 0
|
46
|
+
end
|
34
47
|
tags_to_add = []
|
35
48
|
Nokogiri::HTML(comment_to_check['html_body']).css('a').each do |p|
|
36
49
|
link = p['href'].split('?').first.split('#').first
|
@@ -22,7 +22,7 @@ module Readiness
|
|
22
22
|
puts 'No ticket found, so no org notes to add' if @ticket.is_a? Hash
|
23
23
|
exit 0 if @ticket.is_a? Hash
|
24
24
|
|
25
|
-
puts 'Ticket is closed, so
|
25
|
+
puts 'Ticket is closed, so ticket to process' if @ticket.status == 'closed'
|
26
26
|
exit 0 if @ticket.status == 'closed'
|
27
27
|
|
28
28
|
new_ticket = Readiness::Zendesk::Tickets.new
|
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.65
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Colyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-12-
|
11
|
+
date: 2024-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|