gitlab_support_readiness 1.0.143 → 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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/support_readiness/salesforce/client.rb +1 -0
  3. data/lib/support_readiness/support_super_form_processor/disable_us_government.rb +6 -2
  4. data/lib/support_readiness/support_super_form_processor/enable_us_government.rb +6 -2
  5. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_billing_entity_change.rb +33 -17
  6. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_extension.rb +33 -17
  7. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_investigate.rb +33 -17
  8. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_link.rb +33 -17
  9. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_nfr.rb +33 -17
  10. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_subscriptions_reset_seat_qsr.rb +33 -17
  11. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_trials_edit.rb +33 -17
  12. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_trials_extension.rb +33 -17
  13. data/lib/support_readiness/support_super_form_processor/global_ir_dotcom_trials_over_plan.rb +33 -17
  14. data/lib/support_readiness/support_super_form_processor/global_ir_hackerone_license.rb +33 -17
  15. data/lib/support_readiness/support_super_form_processor/global_ir_oem_license.rb +33 -17
  16. data/lib/support_readiness/support_super_form_processor/global_ir_order_management.rb +33 -17
  17. data/lib/support_readiness/support_super_form_processor/global_ir_other.rb +33 -17
  18. data/lib/support_readiness/support_super_form_processor/global_ir_provison_failure.rb +33 -17
  19. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_did_not_receive.rb +33 -17
  20. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_multiyear.rb +33 -17
  21. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_nfr.rb +33 -17
  22. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_resend.rb +33 -17
  23. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_scl.rb +33 -17
  24. data/lib/support_readiness/support_super_form_processor/global_ir_sm_subscriptions_temp.rb +33 -17
  25. data/lib/support_readiness/support_super_form_processor/global_ir_sm_trials_edit.rb +33 -17
  26. data/lib/support_readiness/support_super_form_processor/global_ir_sm_trials_extension.rb +33 -17
  27. data/lib/support_readiness/support_super_form_processor/global_ir_sm_trials_new.rb +33 -17
  28. data/lib/support_readiness/support_super_form_processor/global_ir_wider_community_license.rb +33 -17
  29. data/lib/support_readiness/support_super_form_processor/global_set_org_ase.rb +1 -1
  30. data/lib/support_readiness/support_super_form_processor/gratis_request.rb +28 -14
  31. data/lib/support_readiness/support_super_form_processor/sa_request_for_support.rb +33 -16
  32. data/lib/support_readiness/support_super_form_processor/team_member_license.rb +6 -2
  33. data/lib/support_readiness/support_super_form_processor/usgov_ir_order_management.rb +9 -4
  34. data/lib/support_readiness/support_super_form_processor/usgov_ir_other.rb +9 -4
  35. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_did_not_receive.rb +9 -4
  36. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_multiyear.rb +9 -4
  37. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_nfr.rb +9 -4
  38. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_resend.rb +9 -4
  39. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_scl.rb +9 -4
  40. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_subs_temp.rb +9 -4
  41. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_trials_edit.rb +9 -4
  42. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_trials_extension.rb +9 -4
  43. data/lib/support_readiness/support_super_form_processor/usgov_ir_sm_trials_new.rb +9 -4
  44. data/lib/support_readiness/support_super_form_processor/usgov_set_org_ase.rb +1 -1
  45. data/lib/support_readiness/ticket_processor/account_blocked.rb +18 -8
  46. data/lib/support_readiness/ticket_processor/email_suppressions.rb +7 -4
  47. data/lib/support_readiness/ticket_processor/locked_account.rb +3 -1
  48. data/lib/support_readiness/ticket_processor/namesquatting.rb +7 -5
  49. data/lib/support_readiness/ticket_processor/organization_notes.rb +10 -2
  50. data/lib/support_readiness/ticket_processor/weighting.rb +17 -8
  51. metadata +2 -2
@@ -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
  unless Readiness::SupportSuperFormProcessor::Shared.namespace_exists?(@gitlab_admin_client, namespace_provided)
@@ -29,31 +46,30 @@ module Readiness
29
46
  ticket.email_ccs = [
30
47
  { user_id: zd_user.id }
31
48
  ]
32
- ticket.requester_id = 379855863520
33
- ticket.submitter_id = 379855863520
49
+ ticket.requester_id = end_user.id
50
+ ticket.submitter_id = end_user.id
34
51
  ticket.comment = { html_body: body }
35
52
  ticket.subject = 'Internal Request - GitLab.com - Extend an existing trial'
36
53
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_saas_trial lnr_saas_trial_extension]
37
54
  ticket.priority = request_priority
38
55
  ticket.status = 'new'
39
- ticket.ticket_form_id = 360000071293
56
+ ticket.ticket_form_id = @lnr_form.id
40
57
  ticket.custom_fields = [
41
- { id: 4414446722578, value: 'ticket_group_not_applicable' },
42
- { id: 360020614420, value: 'aof_lnr' },
43
- { id: 360020735259, value: 'stage-frt' },
44
- { id: 360018253094, value: 'all_regions' },
45
- { id: 360004394559, value: 'free_plan' },
46
- { id: 360005183820, value: zd_user.name },
47
- { id: 360005248219, value: zd_user.email },
48
- { id: 360020735319, value: 'sev3' },
49
- { id: 360020288373, value: '0' },
50
- { id: 360014776453, value: 'medium' },
51
- { id: 6978426204828, value: 'ir_extend_saas_trial' },
52
- { id: 6978366086428, value: zd_user.email },
53
- { id: 45195248, value: 'created_by_agent' }
58
+ { id: @area_of_focus_field.id, value: 'aof_lnr' },
59
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
60
+ { id: @prfs_field.id, value: 'all_regions' },
61
+ { id: @plan_field.id, value: 'free_plan' },
62
+ { id: @sales_name_field.id, value: zd_user.name },
63
+ { id: @sales_email_field.id, value: zd_user.email },
64
+ { id: @severity_field.id, value: 'sev3' },
65
+ { id: @arr_field.id, value: '0' },
66
+ { id: @priority_field.id, value: 'medium' },
67
+ { id: @ir_category_field.id, value: 'ir_extend_saas_trial' },
68
+ { id: @ir_submitter_field.id, value: zd_user.email },
69
+ { id: @channel_field.id, value: 'created_by_agent' }
54
70
  ]
55
71
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
56
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
72
+ puts "Ticket created: #{create.id}"
57
73
  end
58
74
 
59
75
  ##
@@ -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
  unless Readiness::SupportSuperFormProcessor::Shared.namespace_exists?(@gitlab_admin_client, namespace_provided)
@@ -29,31 +46,30 @@ module Readiness
29
46
  ticket.email_ccs = [
30
47
  { user_id: zd_user.id }
31
48
  ]
32
- ticket.requester_id = 379855863520
33
- ticket.submitter_id = 379855863520
49
+ ticket.requester_id = end_user.id
50
+ ticket.submitter_id = end_user.id
34
51
  ticket.comment = { html_body: body }
35
52
  ticket.subject = 'Internal Request - GitLab.com - Request trial over plan'
36
53
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_saas_trial lnr_saas_trial_over_plan]
37
54
  ticket.priority = request_priority
38
55
  ticket.status = 'new'
39
- ticket.ticket_form_id = 360000071293
56
+ ticket.ticket_form_id = @lnr_form.id
40
57
  ticket.custom_fields = [
41
- { id: 4414446722578, value: 'ticket_group_not_applicable' },
42
- { id: 360020614420, value: 'aof_lnr' },
43
- { id: 360020735259, value: 'stage-frt' },
44
- { id: 360018253094, value: 'all_regions' },
45
- { id: 360004394559, value: 'free_plan' },
46
- { id: 360005183820, value: zd_user.name },
47
- { id: 360005248219, value: zd_user.email },
48
- { id: 360020735319, value: 'sev3' },
49
- { id: 360020288373, value: '0' },
50
- { id: 360014776453, value: 'medium' },
51
- { id: 6978426204828, value: 'ir_extend_saas_trial' },
52
- { id: 6978366086428, value: zd_user.email },
53
- { id: 45195248, value: 'created_by_agent' }
58
+ { id: @area_of_focus_field.id, value: 'aof_lnr' },
59
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
60
+ { id: @prfs_field.id, value: 'all_regions' },
61
+ { id: @plan_field.id, value: 'free_plan' },
62
+ { id: @sales_name_field.id, value: zd_user.name },
63
+ { id: @sales_email_field.id, value: zd_user.email },
64
+ { id: @severity_field.id, value: 'sev3' },
65
+ { id: @arr_field.id, value: '0' },
66
+ { id: @priority_field.id, value: 'medium' },
67
+ { id: @ir_category_field.id, value: 'ir_extend_saas_trial' },
68
+ { id: @ir_submitter_field.id, value: zd_user.email },
69
+ { id: @channel_field.id, value: 'created_by_agent' }
54
70
  ]
55
71
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
56
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
72
+ puts "Ticket created: #{create.id}"
57
73
  end
58
74
 
59
75
  ##
@@ -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 - Hacker One Reporter License'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_hackerone]
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_hackerone' },
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_hackerone' },
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
  unless zd_user.tags.include? 'oem_management_team'
@@ -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 - OEM License'
35
52
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_oem_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_oem' },
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_oem' },
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
  ##
@@ -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
  unless zd_user.tags.include? 'order_management_team'
@@ -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 - Order Management'
35
52
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_order_management]
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_order_management' },
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_order_management' },
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
  ##
@@ -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 - Other (nothing else fits the request)'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_internal_request_other]
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_other' },
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_other' },
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 - Provision Failure'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_provision_failure]
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_provision_failure' },
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_provision_failure' },
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 - Resend existing license to the email on the license'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_new_contact]
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_sm_did_not_receive' },
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_sm_did_not_receive' },
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
  ##