gitlab_support_readiness 1.0.142 → 1.1.0

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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/support_readiness/salesforce/accounts.rb +82 -39
  3. data/lib/support_readiness/salesforce/client.rb +1 -0
  4. data/lib/support_readiness/support_super_form_processor/disable_us_government.rb +6 -2
  5. data/lib/support_readiness/support_super_form_processor/enable_us_government.rb +6 -2
  6. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_billing_entity_change.rb +33 -17
  7. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_extension.rb +33 -17
  8. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_investigate.rb +33 -17
  9. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_link.rb +33 -17
  10. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_nfr.rb +33 -17
  11. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_reset_seat_qsr.rb +33 -17
  12. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_trials_edit.rb +33 -17
  13. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_trials_extension.rb +33 -17
  14. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_trials_over_plan.rb +33 -17
  15. data/lib/support_readiness/support_super_form_processor/global_ir_hackerone_license.rb +33 -17
  16. data/lib/support_readiness/support_super_form_processor/global_ir_oem_license.rb +33 -17
  17. data/lib/support_readiness/support_super_form_processor/global_ir_order_management.rb +33 -17
  18. data/lib/support_readiness/support_super_form_processor/global_ir_other.rb +33 -17
  19. data/lib/support_readiness/support_super_form_processor/global_ir_provison_failure.rb +33 -17
  20. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_did_not_receive.rb +33 -17
  21. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_multiyear.rb +33 -17
  22. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_nfr.rb +33 -17
  23. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_resend.rb +33 -17
  24. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_scl.rb +33 -17
  25. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_temp.rb +33 -17
  26. data/lib/support_readiness/support_super_form_processor/global_ir_sm_trials_edit.rb +33 -17
  27. data/lib/support_readiness/support_super_form_processor/global_ir_sm_trials_extension.rb +33 -17
  28. data/lib/support_readiness/support_super_form_processor/global_ir_sm_trials_new.rb +33 -17
  29. data/lib/support_readiness/support_super_form_processor/global_ir_wider_community_license.rb +33 -17
  30. data/lib/support_readiness/support_super_form_processor/global_set_org_ase.rb +1 -1
  31. data/lib/support_readiness/support_super_form_processor/gratis_request.rb +28 -14
  32. data/lib/support_readiness/support_super_form_processor/sa_request_for_support.rb +33 -16
  33. data/lib/support_readiness/support_super_form_processor/team_member_license.rb +6 -2
  34. data/lib/support_readiness/support_super_form_processor/usgov_ir_order_management.rb +9 -4
  35. data/lib/support_readiness/support_super_form_processor/usgov_ir_other.rb +9 -4
  36. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_did_not_receive.rb +9 -4
  37. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_multiyear.rb +9 -4
  38. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_nfr.rb +9 -4
  39. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_resend.rb +9 -4
  40. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_scl.rb +9 -4
  41. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_temp.rb +9 -4
  42. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_trials_edit.rb +9 -4
  43. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_trials_extension.rb +9 -4
  44. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_trials_new.rb +9 -4
  45. data/lib/support_readiness/support_super_form_processor/usgov_set_org_ase.rb +1 -1
  46. data/lib/support_readiness/ticket_processor/account_blocked.rb +18 -8
  47. data/lib/support_readiness/ticket_processor/email_suppressions.rb +7 -4
  48. data/lib/support_readiness/ticket_processor/locked_account.rb +3 -1
  49. data/lib/support_readiness/ticket_processor/namesquatting.rb +7 -5
  50. data/lib/support_readiness/ticket_processor/organization_notes.rb +10 -2
  51. data/lib/support_readiness/ticket_processor/weighting.rb +17 -8
  52. metadata +2 -2
@@ -19,37 +19,53 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @lnr_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'L&R', @ticket_forms)
25
+ @area_of_focus_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Area of Focus', @ticket_fields)
26
+ @ticket_stage_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket Stage', @ticket_fields)
27
+ @prfs_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Preferred Region for Support', @ticket_fields)
28
+ @plan_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'GitLab Plan', @ticket_fields)
29
+ @sales_name_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact name', @ticket_fields)
30
+ @sales_email_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact email', @ticket_fields)
31
+ @severity_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Severity (maps to priority, do not change)', @ticket_fields)
32
+ @arr_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket ARR', @ticket_fields)
33
+ @priority_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Priority', @ticket_fields)
34
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
35
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
36
+ @channel_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Channel (Received at email)', @ticket_fields)
37
+ search = Readiness::Zendesk::Users.find_many(@zendesk_client, [379855863520, 12816218763676])
38
+ end_user = search.detect { |s| s.email == 'gitlab_support@example.com' }
22
39
  requester
23
40
  zd_user
24
41
  ticket = Readiness::Zendesk::Tickets.new
25
42
  ticket.email_ccs = [
26
43
  { user_id: zd_user.id }
27
44
  ]
28
- ticket.requester_id = 379855863520
29
- ticket.submitter_id = 379855863520
45
+ ticket.requester_id = end_user.id
46
+ ticket.submitter_id = end_user.id
30
47
  ticket.comment = { html_body: body }
31
48
  ticket.subject = 'Internal Request - SM - Extend an existing trial'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_trial lnr_sm_trial_extension]
33
50
  ticket.priority = request_priority
34
51
  ticket.status = 'new'
35
- ticket.ticket_form_id = 360000071293
52
+ ticket.ticket_form_id = @lnr_form.id
36
53
  ticket.custom_fields = [
37
- { id: 4414446722578, value: 'ticket_group_not_applicable' },
38
- { id: 360020614420, value: 'aof_lnr' },
39
- { id: 360020735259, value: 'stage-frt' },
40
- { id: 360018253094, value: 'all_regions' },
41
- { id: 360004394559, value: 'free_plan' },
42
- { id: 360005183820, value: zd_user.name },
43
- { id: 360005248219, value: zd_user.email },
44
- { id: 360020735319, value: 'sev3' },
45
- { id: 360020288373, value: '0' },
46
- { id: 360014776453, value: 'medium' },
47
- { id: 6978426204828, value: 'ir_extend_sm_trial' },
48
- { id: 6978366086428, value: zd_user.email },
49
- { id: 45195248, value: 'created_by_agent' }
54
+ { id: @area_of_focus_field.id, value: 'aof_lnr' },
55
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
56
+ { id: @prfs_field.id, value: 'all_regions' },
57
+ { id: @plan_field.id, value: 'free_plan' },
58
+ { id: @sales_name_field.id, value: zd_user.name },
59
+ { id: @sales_email_field.id, value: zd_user.email },
60
+ { id: @severity_field.id, value: 'sev3' },
61
+ { id: @arr_field.id, value: '0' },
62
+ { id: @priority_field.id, value: 'medium' },
63
+ { id: @ir_category_field.id, value: 'ir_extend_sm_trial' },
64
+ { id: @ir_submitter_field.id, value: zd_user.email },
65
+ { id: @channel_field.id, value: 'created_by_agent' }
50
66
  ]
51
67
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
52
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
68
+ puts "Ticket created: #{create.id}"
53
69
  end
54
70
 
55
71
  ##
@@ -19,37 +19,53 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @lnr_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'L&R', @ticket_forms)
25
+ @area_of_focus_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Area of Focus', @ticket_fields)
26
+ @ticket_stage_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket Stage', @ticket_fields)
27
+ @prfs_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Preferred Region for Support', @ticket_fields)
28
+ @plan_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'GitLab Plan', @ticket_fields)
29
+ @sales_name_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact name', @ticket_fields)
30
+ @sales_email_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact email', @ticket_fields)
31
+ @severity_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Severity (maps to priority, do not change)', @ticket_fields)
32
+ @arr_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket ARR', @ticket_fields)
33
+ @priority_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Priority', @ticket_fields)
34
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
35
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
36
+ @channel_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Channel (Received at email)', @ticket_fields)
37
+ search = Readiness::Zendesk::Users.find_many(@zendesk_client, [379855863520, 12816218763676])
38
+ end_user = search.detect { |s| s.email == 'gitlab_support@example.com' }
22
39
  requester
23
40
  zd_user
24
41
  ticket = Readiness::Zendesk::Tickets.new
25
42
  ticket.email_ccs = [
26
43
  { user_id: zd_user.id }
27
44
  ]
28
- ticket.requester_id = 379855863520
29
- ticket.submitter_id = 379855863520
45
+ ticket.requester_id = end_user.id
46
+ ticket.submitter_id = end_user.id
30
47
  ticket.comment = { html_body: body }
31
48
  ticket.subject = 'Internal Request - SM - Problems starting a new trial'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_trial lnr_sm_trial_new]
33
50
  ticket.priority = request_priority
34
51
  ticket.status = 'new'
35
- ticket.ticket_form_id = 360000071293
52
+ ticket.ticket_form_id = @lnr_form.id
36
53
  ticket.custom_fields = [
37
- { id: 4414446722578, value: 'ticket_group_not_applicable' },
38
- { id: 360020614420, value: 'aof_lnr' },
39
- { id: 360020735259, value: 'stage-frt' },
40
- { id: 360018253094, value: 'all_regions' },
41
- { id: 360004394559, value: 'free_plan' },
42
- { id: 360005183820, value: zd_user.name },
43
- { id: 360005248219, value: zd_user.email },
44
- { id: 360020735319, value: 'sev3' },
45
- { id: 360020288373, value: '0' },
46
- { id: 360014776453, value: 'medium' },
47
- { id: 6978426204828, value: 'ir_issues_sm_trial' },
48
- { id: 6978366086428, value: zd_user.email },
49
- { id: 45195248, value: 'created_by_agent' }
54
+ { id: @area_of_focus_field.id, value: 'aof_lnr' },
55
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
56
+ { id: @prfs_field.id, value: 'all_regions' },
57
+ { id: @plan_field.id, value: 'free_plan' },
58
+ { id: @sales_name_field.id, value: zd_user.name },
59
+ { id: @sales_email_field.id, value: zd_user.email },
60
+ { id: @severity_field.id, value: 'sev3' },
61
+ { id: @arr_field.id, value: '0' },
62
+ { id: @priority_field.id, value: 'medium' },
63
+ { id: @ir_category_field.id, value: 'ir_issues_sm_trial' },
64
+ { id: @ir_submitter_field.id, value: zd_user.email },
65
+ { id: @channel_field.id, value: 'created_by_agent' }
50
66
  ]
51
67
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
52
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
68
+ puts "Ticket created: #{create.id}"
53
69
  end
54
70
 
55
71
  ##
@@ -19,6 +19,23 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @lnr_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'L&R', @ticket_forms)
25
+ @area_of_focus_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Area of Focus', @ticket_fields)
26
+ @ticket_stage_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket Stage', @ticket_fields)
27
+ @prfs_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Preferred Region for Support', @ticket_fields)
28
+ @plan_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'GitLab Plan', @ticket_fields)
29
+ @sales_name_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact name', @ticket_fields)
30
+ @sales_email_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact email', @ticket_fields)
31
+ @severity_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Severity (maps to priority, do not change)', @ticket_fields)
32
+ @arr_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket ARR', @ticket_fields)
33
+ @priority_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Priority', @ticket_fields)
34
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
35
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
36
+ @channel_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Channel (Received at email)', @ticket_fields)
37
+ search = Readiness::Zendesk::Users.find_many(@zendesk_client, [379855863520, 12816218763676])
38
+ end_user = search.detect { |s| s.email == 'gitlab_support@example.com' }
22
39
  requester
23
40
  zd_user
24
41
  if Date.parse(expiration) > (Date.today + 3.months) && requester_email == approver
@@ -28,31 +45,30 @@ module Readiness
28
45
  ticket.email_ccs = [
29
46
  { user_id: zd_user.id }
30
47
  ]
31
- ticket.requester_id = 379855863520
32
- ticket.submitter_id = 379855863520
48
+ ticket.requester_id = end_user.id
49
+ ticket.submitter_id = end_user.id
33
50
  ticket.comment = { html_body: body }
34
51
  ticket.subject = 'Internal Request - SM - Wider Community License'
35
52
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_community_license]
36
53
  ticket.priority = request_priority
37
54
  ticket.status = 'new'
38
- ticket.ticket_form_id = 360000071293
55
+ ticket.ticket_form_id = @lnr_form.id
39
56
  ticket.custom_fields = [
40
- { id: 4414446722578, value: 'ticket_group_not_applicable' },
41
- { id: 360020614420, value: 'aof_lnr' },
42
- { id: 360020735259, value: 'stage-frt' },
43
- { id: 360018253094, value: 'all_regions' },
44
- { id: 360004394559, value: 'free_plan' },
45
- { id: 360005183820, value: zd_user.name },
46
- { id: 360005248219, value: zd_user.email },
47
- { id: 360020735319, value: 'sev3' },
48
- { id: 360020288373, value: '0' },
49
- { id: 360014776453, value: 'medium' },
50
- { id: 6978426204828, value: 'ir_wcl' },
51
- { id: 6978366086428, value: zd_user.email },
52
- { id: 45195248, value: 'created_by_agent' }
57
+ { id: @area_of_focus_field.id, value: 'aof_lnr' },
58
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
59
+ { id: @prfs_field.id, value: 'all_regions' },
60
+ { id: @plan_field.id, value: 'free_plan' },
61
+ { id: @sales_name_field.id, value: zd_user.name },
62
+ { id: @sales_email_field.id, value: zd_user.email },
63
+ { id: @severity_field.id, value: 'sev3' },
64
+ { id: @arr_field.id, value: '0' },
65
+ { id: @priority_field.id, value: 'medium' },
66
+ { id: @ir_category_field.id, value: 'ir_wcl' },
67
+ { id: @ir_submitter_field.id, value: zd_user.email },
68
+ { id: @channel_field.id, value: 'created_by_agent' }
53
69
  ]
54
70
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
55
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
71
+ puts "Ticket created: #{create.id}"
56
72
  end
57
73
 
58
74
  ##
@@ -107,7 +107,7 @@ module Readiness
107
107
  return false if agent.is_a? Hash
108
108
  return false if agent.role == 'end-user'
109
109
  return false if agent.suspended
110
- return false if agent.custom_role_id == 360004984553
110
+ return false unless [360004984553, 12510471332508].include? agent.custom_role_id
111
111
 
112
112
  true
113
113
  end
@@ -15,9 +15,23 @@ module Readiness
15
15
  #
16
16
  # @author Jason Colyer
17
17
  # @since 1.0.51
18
- def self.process!(sfdc_client, zendesk_client)
18
+ def self.process!(sfdc_client, zendesk_client, sandbox = false)
19
19
  @sfdc_client = sfdc_client
20
20
  @zendesk_client = zendesk_client
21
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
22
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
23
+ @support_ir_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'Support Internal Request', @ticket_forms)
24
+ @area_of_focus_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Area of Focus', @ticket_fields)
25
+ @ticket_stage_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket Stage', @ticket_fields)
26
+ @prfs_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Preferred Region for Support', @ticket_fields)
27
+ @plan_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'GitLab Plan', @ticket_fields)
28
+ @sales_name_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact name', @ticket_fields)
29
+ @sales_email_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact email', @ticket_fields)
30
+ @severity_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Severity (maps to priority, do not change)', @ticket_fields)
31
+ @arr_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket ARR', @ticket_fields)
32
+ @priority_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Priority', @ticket_fields)
33
+ @channel_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Channel (Received at email)', @ticket_fields)
34
+ @ir_sfdc_id_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR SFDC ID', @ticket_fields)
21
35
  zd_user
22
36
  ticket = Readiness::Zendesk::Tickets.new
23
37
  ticket.email_ccs = [
@@ -29,22 +43,22 @@ module Readiness
29
43
  ticket.tags = %w[support_gratis_request manual_support_upgrade]
30
44
  ticket.priority = 'medium'
31
45
  ticket.status = 'new'
32
- ticket.ticket_form_id = 12829030177948
46
+ ticket.ticket_form_id = @support_ir_form.id
33
47
  ticket.custom_fields = [
34
- { id: 360020614420, value: 'aof_other' },
35
- { id: 360020735259, value: 'stage-frt' },
36
- { id: 360004394559, value: 'free_plan' },
37
- { id: 360005183820, value: zd_user.name },
38
- { id: 360005248219, value: zd_user.email },
39
- { id: 360020735319, value: 'medium' },
40
- { id: 360020288373, value: ticket_arr },
41
- { id: 360014776453, value: 'medium' },
42
- { id: 45195248, value: 'created_by_agent' },
43
- { id: 360018253094, value: region },
44
- { id: 6978327875612, value: opportunity_link.split('/')[-2] }
48
+ { id: @area_of_focus_field.id, value: 'aof_other' },
49
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
50
+ { id: @plan_field.id, value: 'free_plan' },
51
+ { id: @sales_name_field.id, value: zd_user.name },
52
+ { id: @sales_email_field.id, value: zd_user.email },
53
+ { id: @severity_field.id, value: 'medium' },
54
+ { id: @arr_field.id, value: ticket_arr },
55
+ { id: @priority_field.id, value: 'medium' },
56
+ { id: @channel_field.id, value: 'created_by_agent' },
57
+ { id: @prfs_field.id, value: region },
58
+ { id: @ir_sfdc_id_field.id, value: opportunity_link.split('/')[-2] }
45
59
  ]
46
60
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
47
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
61
+ puts "Ticket created: #{create.id}"
48
62
  end
49
63
 
50
64
  ##
@@ -15,40 +15,57 @@ module Readiness
15
15
  #
16
16
  # @author Jason Colyer
17
17
  # @since 1.0.42
18
- def self.process!(gitlab_client, gitlab_admin_client, zendesk_client)
18
+ def self.process!(gitlab_client, gitlab_admin_client, zendesk_client, sandbox = false)
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @support_ir_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'Support Internal Request', @ticket_forms)
25
+ @area_of_focus_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Area of Focus', @ticket_fields)
26
+ @ticket_stage_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket Stage', @ticket_fields)
27
+ @prfs_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Preferred Region for Support', @ticket_fields)
28
+ @plan_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'GitLab Plan', @ticket_fields)
29
+ @sales_name_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact name', @ticket_fields)
30
+ @sales_email_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Sales contact email', @ticket_fields)
31
+ @severity_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Severity (maps to priority, do not change)', @ticket_fields)
32
+ @arr_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Ticket ARR', @ticket_fields)
33
+ @priority_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Customer Priority', @ticket_fields)
34
+ @channel_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'Channel (Received at email)', @ticket_fields)
22
35
  requester
23
36
  zd_user
24
37
  ticket = Readiness::Zendesk::Tickets.new
25
38
  ticket.email_ccs = [
26
39
  { user_id: zd_user.id }
27
40
  ]
28
- ticket.requester_id = 379855863520
29
- ticket.submitter_id = 379855863520
41
+ if sandbox
42
+ ticket.requester_id = 12816218763676
43
+ ticket.submitter_id = 12816218763676
44
+ else
45
+ ticket.requester_id = 379855863520
46
+ ticket.submitter_id = 379855863520
47
+ end
30
48
  ticket.comment = { html_body: body }
31
49
  ticket.subject = ticket_subject
32
50
  ticket.tags = %w[support_internal_request support_valid_request support_ir_sa_request_for_support]
33
51
  ticket.tags.push("support_internal_request_category_#{category}")
34
52
  ticket.priority = request_priority
35
53
  ticket.status = 'new'
36
- ticket.ticket_form_id = 12829030177948
54
+ ticket.ticket_form_id = @support_ir_form.id
37
55
  ticket.custom_fields = [
38
- { id: 4414446722578, value: '' },
39
- { id: 360020614420, value: 'aof_other' },
40
- { id: 360020735259, value: 'stage-frt' },
41
- { id: 360018253094, value: region_string },
42
- { id: 360004394559, value: 'free_plan' },
43
- { id: 360005183820, value: zd_user.name },
44
- { id: 360005248219, value: zd_user.email },
45
- { id: 360020735319, value: severity },
46
- { id: 360020288373, value: '0' },
47
- { id: 360014776453, value: request_priority },
48
- { id: 45195248, value: 'created_by_agent' }
56
+ { id: @area_of_focus_field.id, value: 'aof_other' },
57
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
58
+ { id: @prfs_field.id, value: region_string },
59
+ { id: @plan_field.id, value: 'free_plan' },
60
+ { id: @sales_name_field.id, value: zd_user.name },
61
+ { id: @sales_email_field.id, value: zd_user.email },
62
+ { id: @severity_field.id, value: severity },
63
+ { id: @arr_field.id, value: '0' },
64
+ { id: @priority_field.id, value: request_priority },
65
+ { id: @channel_field.id, value: 'created_by_agent' }
49
66
  ]
50
67
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
51
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
68
+ puts "Ticket created: #{create.id}"
52
69
  end
53
70
 
54
71
  ##
@@ -15,12 +15,16 @@ module Readiness
15
15
  #
16
16
  # @author Jason Colyer
17
17
  # @since 1.0.42
18
- def self.process!(client, admin_client)
18
+ def self.process!(client, admin_client, sandbox = false)
19
19
  @gitlab_client = client
20
20
  @gitlab_admin_client = admin_client
21
21
  requester
22
22
  issue = Readiness::GitLab::Issues.new
23
- issue.title = "GitLab Team Member License request - #{requester.name}"
23
+ if sandbox
24
+ issue.title = "[SANDBOX REQUEST] GitLab Team Member License request - #{requester.name}"
25
+ else
26
+ issue.title = "GitLab Team Member License request - #{requester.name}"
27
+ end
24
28
  issue.description = team_member_license_message
25
29
  create = Readiness::GitLab::Issues.create!(@gitlab_client, project, issue)
26
30
  puts "Issue created: #{create.web_url}"
@@ -19,6 +19,11 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
25
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
26
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
22
27
  requester
23
28
  zd_user
24
29
  unless zd_user.tags.include? 'order_management_team'
@@ -32,13 +37,13 @@ module Readiness
32
37
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_order_management]
33
38
  ticket.priority = 'normal'
34
39
  ticket.status = 'new'
35
- ticket.ticket_form_id = 360001803151
40
+ ticket.ticket_form_id = @license_issue_form.id
36
41
  ticket.custom_fields = [
37
- { id: 11717320292244, value: 'ir_order_management' },
38
- { id: 11717222771604, value: zd_user.email }
42
+ { id: @ir_category_field.id, value: 'ir_order_management' },
43
+ { id: @ir_submitter_field.id, value: zd_user.email }
39
44
  ]
40
45
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
41
- puts "Ticket created: https://gitlab-federal-support.zendesk.com/agent/tickets/#{create.id}"
46
+ puts "Ticket created: #{create.id}"
42
47
  end
43
48
 
44
49
  ##
@@ -19,6 +19,11 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
25
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
26
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
22
27
  requester
23
28
  zd_user
24
29
  ticket = Readiness::Zendesk::Tickets.new
@@ -29,13 +34,13 @@ module Readiness
29
34
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_internal_request_other]
30
35
  ticket.priority = 'normal'
31
36
  ticket.status = 'new'
32
- ticket.ticket_form_id = 360001803151
37
+ ticket.ticket_form_id = @license_issue_form.id
33
38
  ticket.custom_fields = [
34
- { id: 11717320292244, value: 'ir_other' },
35
- { id: 11717222771604, value: zd_user.email }
39
+ { id: @ir_category_field.id, value: 'ir_other' },
40
+ { id: @ir_submitter_field.id, value: zd_user.email }
36
41
  ]
37
42
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
38
- puts "Ticket created: https://gitlab-federal-support.zendesk.com/agent/tickets/#{create.id}"
43
+ puts "Ticket created: #{create.id}"
39
44
  end
40
45
 
41
46
  ##
@@ -19,6 +19,11 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
25
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
26
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
22
27
  requester
23
28
  zd_user
24
29
  ticket = Readiness::Zendesk::Tickets.new
@@ -29,13 +34,13 @@ module Readiness
29
34
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_new_contact]
30
35
  ticket.priority = 'normal'
31
36
  ticket.status = 'new'
32
- ticket.ticket_form_id = 360001803151
37
+ ticket.ticket_form_id = @license_issue_form.id
33
38
  ticket.custom_fields = [
34
- { id: 11717320292244, value: 'ir_sm_did_not_receive' },
35
- { id: 11717222771604, value: zd_user.email }
39
+ { id: @ir_category_field.id, value: 'ir_sm_did_not_receive' },
40
+ { id: @ir_submitter_field.id, value: zd_user.email }
36
41
  ]
37
42
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
38
- puts "Ticket created: https://gitlab-federal-support.zendesk.com/agent/tickets/#{create.id}"
43
+ puts "Ticket created: #{create.id}"
39
44
  end
40
45
 
41
46
  ##
@@ -19,6 +19,11 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
25
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
26
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
22
27
  requester
23
28
  zd_user
24
29
  ticket = Readiness::Zendesk::Tickets.new
@@ -29,13 +34,13 @@ module Readiness
29
34
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_multiyear_license]
30
35
  ticket.priority = 'normal'
31
36
  ticket.status = 'new'
32
- ticket.ticket_form_id = 360001803151
37
+ ticket.ticket_form_id = @license_issue_form.id
33
38
  ticket.custom_fields = [
34
- { id: 11717320292244, value: 'ir_sm_multiyear' },
35
- { id: 11717222771604, value: zd_user.email }
39
+ { id: @ir_category_field.id, value: 'ir_sm_multiyear' },
40
+ { id: @ir_submitter_field.id, value: zd_user.email }
36
41
  ]
37
42
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
38
- puts "Ticket created: https://gitlab-federal-support.zendesk.com/agent/tickets/#{create.id}"
43
+ puts "Ticket created: #{create.id}"
39
44
  end
40
45
 
41
46
  ##
@@ -19,6 +19,11 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
25
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
26
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
22
27
  requester
23
28
  zd_user
24
29
  unless zd_user.tags.include? 'partner_support_agent'
@@ -35,13 +40,13 @@ module Readiness
35
40
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_nfr]
36
41
  ticket.priority = 'normal'
37
42
  ticket.status = 'new'
38
- ticket.ticket_form_id = 360001803151
43
+ ticket.ticket_form_id = @license_issue_form.id
39
44
  ticket.custom_fields = [
40
- { id: 11717320292244, value: 'ir_sm_nfr' },
41
- { id: 11717222771604, value: zd_user.email }
45
+ { id: @ir_category_field.id, value: 'ir_sm_nfr' },
46
+ { id: @ir_submitter_field.id, value: zd_user.email }
42
47
  ]
43
48
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
44
- puts "Ticket created: https://gitlab-federal-support.zendesk.com/agent/tickets/#{create.id}"
49
+ puts "Ticket created: #{create.id}"
45
50
  end
46
51
 
47
52
  ##
@@ -19,6 +19,11 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
25
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
26
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
22
27
  requester
23
28
  zd_user
24
29
  ticket = Readiness::Zendesk::Tickets.new
@@ -29,13 +34,13 @@ module Readiness
29
34
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_receive_error]
30
35
  ticket.priority = 'normal'
31
36
  ticket.status = 'new'
32
- ticket.ticket_form_id = 360001803151
37
+ ticket.ticket_form_id = @license_issue_form.id
33
38
  ticket.custom_fields = [
34
- { id: 11717320292244, value: 'ir_sm_resend' },
35
- { id: 11717222771604, value: zd_user.email }
39
+ { id: @ir_category_field.id, value: 'ir_sm_resend' },
40
+ { id: @ir_submitter_field.id, value: zd_user.email }
36
41
  ]
37
42
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
38
- puts "Ticket created: https://gitlab-federal-support.zendesk.com/agent/tickets/#{create.id}"
43
+ puts "Ticket created: #{create.id}"
39
44
  end
40
45
 
41
46
  ##
@@ -19,6 +19,11 @@ module Readiness
19
19
  @gitlab_client = gitlab_client
20
20
  @gitlab_admin_client = gitlab_admin_client
21
21
  @zendesk_client = zendesk_client
22
+ @ticket_forms = Readiness::Zendesk::TicketForms.list(@zendesk_client)
23
+ @ticket_fields = Readiness::Zendesk::TicketFields.list(@zendesk_client)
24
+ @license_issue_form = Readiness::Zendesk::TicketForms.find_by_name(@zendesk_client, 'License Issue', @ticket_forms)
25
+ @ir_category_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Category', @ticket_fields)
26
+ @ir_submitter_field = Readiness::Zendesk::TicketFields.find_by_name(@zendesk_client, 'IR Submitter', @ticket_fields)
22
27
  requester
23
28
  zd_user
24
29
  ticket = Readiness::Zendesk::Tickets.new
@@ -29,13 +34,13 @@ module Readiness
29
34
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_scl]
30
35
  ticket.priority = 'normal'
31
36
  ticket.status = 'new'
32
- ticket.ticket_form_id = 360001803151
37
+ ticket.ticket_form_id = @license_issue_form.id
33
38
  ticket.custom_fields = [
34
- { id: 11717320292244, value: 'ir_scl_exemption' },
35
- { id: 11717222771604, value: zd_user.email }
39
+ { id: @ir_category_field.id, value: 'ir_scl_exemption' },
40
+ { id: @ir_submitter_field.id, value: zd_user.email }
36
41
  ]
37
42
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
38
- puts "Ticket created: https://gitlab-federal-support.zendesk.com/agent/tickets/#{create.id}"
43
+ puts "Ticket created: #{create.id}"
39
44
  end
40
45
 
41
46
  ##