gitlab_support_readiness 1.0.101 → 1.0.103

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: 18d066501ccc3c72dd601e30f5084f239b2ba0fff4f79e8ecbbfda5e53d9e344
4
- data.tar.gz: a1939980514c43c95a3b090c143931cf53fef850ae1513c162b41dca43dc79ae
3
+ metadata.gz: 8213b6d41e62c123097ae8d3515392cfa2015bf411458204ea443995ee30a2cb
4
+ data.tar.gz: b4d28def67555c45d19b7262f7e05123dec524220b931295bfadba274cd70008
5
5
  SHA512:
6
- metadata.gz: 7aec35c7cb5e2c8cefd09125bb10dbe5bd9fb2cd86f95dc797397ffe35acf8d3f2bb5b069818247f36f679e859835f21d2dc02da58d266e40d32884c7c7b3650
7
- data.tar.gz: a9e53c57c6d23dafaf0e2b70ecc5bdc43bb2d045c12f3805fc337a53468e06481add0f251e03430364fc2aadf75c3f9b82a7d2af013734aa9cafdfd90d02e191
6
+ metadata.gz: 6c66cd621d632d6fb41099c363467eaa7cc379319ba245f7db27c43389498c1dc004a40b5ed21faa202dfd5bf1d3c4f559b27bfd856b5828bf9205ec2adb107a
7
+ data.tar.gz: 62dfa2b87c2e145b0ca96eafb5f3f49a5785f86c570cbfece6f8f6d8a1ab3df728ef97a2f65a92833380077ca879d362005db6b8236fb2f6cb25c4470fef92ca
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Defines the module Readiness.
4
+ module Readiness
5
+ # Defines the module TicketProcessor
6
+ module TicketProcessor
7
+ ##
8
+ # Defines the class CodeRequestAdvancedSAST within the module {Readiness::Zendesk}.
9
+ #
10
+ # @author Jason Colyer
11
+ # @since 1.0.102
12
+ class CodeRequestAdvancedSAST < Readiness::Client
13
+ ##
14
+ # Process a code request for Advanced SAST
15
+ #
16
+ # @author Jason Colyer
17
+ # @since 1.0.102
18
+ def self.process!(zendesk_client, slack_client, ticket_id)
19
+ @slack_client = slack_client
20
+ @zendesk_client = zendesk_client
21
+ ticket = Readiness::Zendesk::Tickets.find!(@zendesk_client, ticket_id)
22
+ print 'Processing request...'
23
+ rejection(ticket) if ticket.organization_id.nil?
24
+ organization = Readiness::Zendesk::Tickets.find!(@zendesk_client, ticket.organization_id)
25
+ approval(ticket) if organization.organization_fields['sub_dotcom_ultimate']
26
+ approval(ticket) if organization.organization_fields['sub_sm_ultimate']
27
+ approval(ticket) if organization.organization_fields['sub_gitlab_dedicated']
28
+ approval(ticket) if %w[open_partner select_partner alliance_partner].include? organization.organization_fields['account_type']
29
+ rejection(ticket)
30
+ end
31
+
32
+ ##
33
+ # Update ticket for a rejection
34
+ #
35
+ # @author Jason Colyer
36
+ # @since 1.0.102
37
+ def self.rejection(ticket)
38
+ new_ticket = Readiness::Zendesk::Tickets.new
39
+ new_ticket.tags = ticket.tags + ['advanced_sast_code_request_denied']
40
+ Readiness::Zendesk::Tickets.update!(@zendesk_client, new_ticket)
41
+ puts 'done (rejection)'
42
+ exit 0
43
+ end
44
+
45
+ ##
46
+ # Update ticket for an approval
47
+ #
48
+ # @author Jason Colyer
49
+ # @since 1.0.102
50
+ def self.approval(ticket)
51
+ new_ticket = Readiness::Zendesk::Tickets.new
52
+ new_ticket.tags = ticket.tags + ['advanced_sast_code_request_approved']
53
+ Readiness::Zendesk::Tickets.update!(@zendesk_client, new_ticket)
54
+ puts 'done (approval)'
55
+ print 'Posting in Slack...'
56
+ Readiness::Slack::Messages.create!(@slack_client, legal_slack_message(ticket))
57
+ puts 'done'
58
+ exit 0
59
+ end
60
+
61
+ ##
62
+ # Return the message for the Slack post
63
+ #
64
+ # @author Jason Colyer
65
+ # @since 1.0.102
66
+ def self.legal_slack_message(ticket)
67
+ <<~STRING
68
+ Ticket <https://#{domain}/agent/tickets/#{ticket.id}|#{ticket.id}> has requested code information for Advanced SAST. They are being directed to legal@gitlab.com for this request.
69
+ STRING
70
+ end
71
+
72
+ ##
73
+ # Return the domain of the zendesk instance being worked with
74
+ #
75
+ # @author Jason Colyer
76
+ # @since 1.0.102
77
+ def self.domain
78
+ @zendesk_client.connection.url_prefix.to_s.split('/')[2]
79
+ end
80
+ end
81
+ end
82
+ end
@@ -8,6 +8,7 @@ module Readiness
8
8
  # @since 1.0.44
9
9
  module TicketProcessor
10
10
  require "#{__dir__}/ticket_processor/account_blocked"
11
+ require "#{__dir__}/ticket_processor/code_request_advanced_sast"
11
12
  require "#{__dir__}/ticket_processor/email_suppressions"
12
13
  require "#{__dir__}/ticket_processor/link_tagger"
13
14
  require "#{__dir__}/ticket_processor/locked_account"
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.101
4
+ version: 1.0.103
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-10 00:00:00.000000000 Z
11
+ date: 2025-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -44,6 +44,20 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: 0.4.1
47
+ - !ruby/object:Gem::Dependency
48
+ name: concurrent-ruby
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: 1.3.4
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 1.3.4
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: digest
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -377,6 +391,7 @@ files:
377
391
  - lib/support_readiness/support_super_form_processor/usgov_set_org_ase.rb
378
392
  - lib/support_readiness/ticket_processor.rb
379
393
  - lib/support_readiness/ticket_processor/account_blocked.rb
394
+ - lib/support_readiness/ticket_processor/code_request_advanced_sast.rb
380
395
  - lib/support_readiness/ticket_processor/email_suppressions.rb
381
396
  - lib/support_readiness/ticket_processor/link_tagger.rb
382
397
  - lib/support_readiness/ticket_processor/locked_account.rb