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 - 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
  ##
@@ -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 - Multi-year license needs to be generated'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_multiyear_license]
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_multiyear' },
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_multiyear' },
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? 'partner_support_agent'
@@ -31,31 +48,30 @@ module Readiness
31
48
  ticket.email_ccs = [
32
49
  { user_id: zd_user.id }
33
50
  ]
34
- ticket.requester_id = 379855863520
35
- ticket.submitter_id = 379855863520
51
+ ticket.requester_id = end_user.id
52
+ ticket.submitter_id = end_user.id
36
53
  ticket.comment = { html_body: body }
37
54
  ticket.subject = 'Internal Request - SM - NFR license request'
38
55
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_nfr]
39
56
  ticket.priority = request_priority
40
57
  ticket.status = 'new'
41
- ticket.ticket_form_id = 360000071293
58
+ ticket.ticket_form_id = @lnr_form.id
42
59
  ticket.custom_fields = [
43
- { id: 4414446722578, value: 'ticket_group_not_applicable' },
44
- { id: 360020614420, value: 'aof_lnr' },
45
- { id: 360020735259, value: 'stage-frt' },
46
- { id: 360018253094, value: 'all_regions' },
47
- { id: 360004394559, value: 'free_plan' },
48
- { id: 360005183820, value: zd_user.name },
49
- { id: 360005248219, value: zd_user.email },
50
- { id: 360020735319, value: 'sev3' },
51
- { id: 360020288373, value: '0' },
52
- { id: 360014776453, value: 'medium' },
53
- { id: 6978426204828, value: 'ir_sm_nfr' },
54
- { id: 6978366086428, value: zd_user.email },
55
- { id: 45195248, value: 'created_by_agent' }
60
+ { id: @area_of_focus_field.id, value: 'aof_lnr' },
61
+ { id: @ticket_stage_field.id, value: 'stage-frt' },
62
+ { id: @prfs_field.id, value: 'all_regions' },
63
+ { id: @plan_field.id, value: 'free_plan' },
64
+ { id: @sales_name_field.id, value: zd_user.name },
65
+ { id: @sales_email_field.id, value: zd_user.email },
66
+ { id: @severity_field.id, value: 'sev3' },
67
+ { id: @arr_field.id, value: '0' },
68
+ { id: @priority_field.id, value: 'medium' },
69
+ { id: @ir_category_field.id, value: 'ir_sm_nfr' },
70
+ { id: @ir_submitter_field.id, value: zd_user.email },
71
+ { id: @channel_field.id, value: 'created_by_agent' }
56
72
  ]
57
73
  create = Readiness::Zendesk::Tickets.create!(@zendesk_client, ticket)
58
- puts "Ticket created: https://gitlab.zendesk.com/agent/tickets/#{create.id}"
74
+ puts "Ticket created: #{create.id}"
59
75
  end
60
76
 
61
77
  ##
@@ -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 - Forward existing license to an email not on the license'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_receive_error]
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_resend' },
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_resend' },
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 - Cloud Licensing exemption'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_scl]
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_scl_exemption' },
48
- { id: 6978366086428, value: zd_user.email },
49
- { id: 45195248, value: 'created_by_agent' }
54
+ { id: @area_of_focus_field, value: 'aof_lnr' },
55
+ { id: @ticket_stage_field, value: 'stage-frt' },
56
+ { id: @prfs_field, value: 'all_regions' },
57
+ { id: @plan_field, value: 'free_plan' },
58
+ { id: @sales_name_field, value: zd_user.name },
59
+ { id: @sales_email_field, value: zd_user.email },
60
+ { id: @severity_field, value: 'sev3' },
61
+ { id: @arr_field, value: '0' },
62
+ { id: @priority_field, value: 'medium' },
63
+ { id: @ir_category_field, value: 'ir_scl_exemption' },
64
+ { id: @ir_submitter_field, value: zd_user.email },
65
+ { id: @channel_field, 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 - Extend an (almost) expired subscription'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_license lnr_sm_license_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_sm_temp' },
48
- { id: 6978366086428, value: zd_user.email },
49
- { id: 45195248, value: 'created_by_agent' }
54
+ { id: @area_of_focus_field, value: 'aof_lnr' },
55
+ { id: @ticket_stage_field, value: 'stage-frt' },
56
+ { id: @prfs_field, value: 'all_regions' },
57
+ { id: @plan_field, value: 'free_plan' },
58
+ { id: @sales_name_field, value: zd_user.name },
59
+ { id: @sales_email_field, value: zd_user.email },
60
+ { id: @severity_field, value: 'sev3' },
61
+ { id: @arr_field, value: '0' },
62
+ { id: @priority_field, value: 'medium' },
63
+ { id: @ir_category_field, value: 'ir_sm_temp' },
64
+ { id: @ir_submitter_field, value: zd_user.email },
65
+ { id: @channel_field, 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 - Modify an existing trial'
32
49
  ticket.tags = %w[lnr_internal_request lnr_valid_request lnr_sm_trial lnr_sm_trial_edit]
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_modify_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_modify_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
  ##