Class: Readiness::SupportSuperFormProcessor::USGovIRSMSubscriptionsDidNotReceive

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

Overview

Defines the class USGovIRSMSubscriptionsDidNotReceive 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



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_did_not_receive.rb', line 133

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 Customer did not receive the license.
    </p>
    <p>
      Please note we cannot send licenses to anyone other than the account owner. To send it to someone else, please ask the customer to file a ticket so we can go through the contact change process.
    </p>
    <p>
      The information for this is as follows:
    </p>
    <ul>
      <li>Contact's name: #{contact_name}</li>
      <li>Contact's email: #{contact_email}</li>
      <li>#{Readiness::SupportSuperFormProcessor::Shared.sfdc_opportunity_string(opp_link)}</li>
      <li>GitLab Version: #{version}</li>
      <li>#{Readiness::SupportSuperFormProcessor::Shared.()}</li>
    </ul>
    <p>
      Some additional context for this request is:
    </p>
    <pre>
      #{context}
    </pre>
  STRING
end

.contact_emailObject

Sets the global variable contact_email

Author:

  • Jason Colyer

Since:

  • 1.0.42



96
97
98
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_did_not_receive.rb', line 96

def self.contact_email
  @contact_email ||= ENV.fetch('CONTACT_EMAIL')
end

.contact_nameObject

Sets the global variable contact_name

Author:

  • Jason Colyer

Since:

  • 1.0.42



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

def self.contact_name
  @contact_name ||= ENV.fetch('CONTACT_NAME')
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_sm_subs_did_not_receive.rb', line 78

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

Sets the global variable opp_link

Author:

  • Jason Colyer

Since:

  • 1.0.42



105
106
107
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_did_not_receive.rb', line 105

def self.opp_link
  @opp_link ||= ENV.fetch('SFDC_OPPORTUNITY')
end

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

Process a US Government Internal Request Self-Managed Subscriptions Did Not Recieve 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_sm_subs_did_not_receive.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 - SM - Customer did not receive the license'
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_new_contact]
  ticket.priority = 'normal'
  ticket.status = 'new'
  ticket.ticket_form_id = @license_issue_form.id
  ticket.custom_fields = [
    { id: @ir_category_field.id, value: 'ir_sm_did_not_receive' },
    { 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_sm_subs_did_not_receive.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_sm_subs_did_not_receive.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



114
115
116
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_did_not_receive.rb', line 114

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

.versionObject

Sets the global variable version

Author:

  • Jason Colyer

Since:

  • 1.0.42



123
124
125
# File 'lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_did_not_receive.rb', line 123

def self.version
  @version ||= ENV.fetch('SM_VERSION')
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_sm_subs_did_not_receive.rb', line 60

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