Class: Readiness::SupportSuperFormProcessor::USGovIROther

Inherits:
Client
  • Object
show all
Defined in:
lib/support_readiness/support_super_form_processor/usgov_ir_other.rb

Overview

Defines the class USGovIROther within the module Zendesk.

Author:

  • Jason Colyer

Since:

  • 1.0.42

Class Method Summary collapse

Methods inherited from Client

auth_error, bad_request_error, convert_actions, convert_conditions, convert_standard_names_to_ids, convert_ticket_form_agent_conditions, convert_ticket_form_brands, convert_ticket_form_end_user_conditions, convert_ticket_form_names_to_ids, convert_view_names_to_ids, convert_view_restrictions, covert_ticket_form_field_ids, create_package!, erb_renderer, handle_request_error, not_found_error, not_processible_error, put_into_archive, recursively_deflate_directory, timestamp_filename, to_clean_json, to_clean_json_with_key, to_hash, to_nearly_clean_json, to_nearly_clean_json_with_key, to_param_string, write_entries

Class Method Details

.bodyString

Returns the ticket body

Returns:

  • (String)

Author:

  • Jason Colyer

Since:

  • 1.0.42



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_other.rb', line 97

def self.body
  <<~STRING
    <p>
      Greetings
    </p>
    <p>
      Please note that this is an <b>INTERNAL</b> ticket and should <b>NEVER</b> be shared with anyone. Please do not CC, BCC, forward, or anything else that can send the information from this ticket. <b>NEVER</b> add <i>anyone</i> outside of GitLab to this ticket or communications stemming from this ticket.
    </p>
    <p>
      A request has been filed for Other (nothing else fits the request).
    </p>
    <ul>
      <li>#{Readiness::SupportSuperFormProcessor::Shared.()}</li>
    </ul>
    <p>
      Some additional context for this request is:
    </p>
    <pre>
      #{context}
    </pre>
  STRING
end

.contextObject

Sets the global variable context

Author:

  • Jason Colyer

Since:

  • 1.0.42



78
79
80
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_other.rb', line 78

def self.context
  @context ||= ENV.fetch('LNR_OTHER_CONTEXT')
end

.process!(gitlab_client, gitlab_admin_client, zendesk_client) ⇒ Object

Process a US Government Internal Request Other request

Author:

  • Jason Colyer

Since:

  • 1.0.42



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_other.rb', line 18

def self.process!(gitlab_client, gitlab_admin_client, zendesk_client)
  @gitlab_client = gitlab_client
  @gitlab_admin_client = gitlab_admin_client
  @zendesk_client = zendesk_client
  @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
  @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
  @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
  @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
  @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)        
  requester
  zd_user
  ticket = Readiness::Zendesk::Tickets.new
  ticket.requester_id = zd_user.id
  ticket.submitter_id = zd_user.id
  ticket.comment = { html_body: body }
  ticket.subject = 'Internal Request - Other (nothing else fits the request)'
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_internal_request_other]
  ticket.priority = 'normal'
  ticket.status = 'new'
  ticket.ticket_form_id = @license_issue_form.id
  ticket.custom_fields = [
    { id: @ir_category_field.id, value: 'ir_other' },
    { id: @ir_submitter_field.id,  value: zd_user.email }
  ]
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
  puts "Ticket created: #{create.id}"
end

.requesterObject

Sets the global variable requester

Author:

  • Jason Colyer

Since:

  • 1.0.42



51
52
53
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_other.rb', line 51

def self.requester
  @requester ||= Readiness::SupportSuperFormProcessor::Shared.gitlab_user_check(@gitlab_admin_client, requester_email)
end

.requester_emailObject

Sets the global variable requester_email

Author:

  • Jason Colyer

Since:

  • 1.0.42



69
70
71
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_other.rb', line 69

def self.requester_email
  @requester_email ||= ENV.fetch('REQUESTER_EMAIL')
end

.sfdc_accountObject

Sets the global variable sfdc_account

Author:

  • Jason Colyer

Since:

  • 1.0.42



87
88
89
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_other.rb', line 87

def self.
  @sfdc_account ||= ENV.fetch('SFDC_ACCOUNT')
end

.zd_userObject

Sets the global variable zd_user

Author:

  • Jason Colyer

Since:

  • 1.0.42



60
61
62
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_other.rb', line 60

def self.zd_user
  @zd_user ||= Readiness::SupportSuperFormProcessor::Shared.zendesk_user_check(@zendesk_client, requester_email)
end