workflowAnalyticsEvents.tsx 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import type {IssueCategory, ResolutionStatus} from 'sentry/types';
  2. import {Tab} from 'sentry/views/organizationGroupDetails/types';
  3. type RuleViewed = {
  4. alert_type: 'issue' | 'metric';
  5. project_id: string;
  6. };
  7. type IssueDetailsWithAlert = {
  8. group_id: number;
  9. issue_category: IssueCategory;
  10. project_id: number;
  11. /** The time that the alert was initially fired. */
  12. alert_date?: string;
  13. /** Id of the rule that triggered the alert */
  14. alert_rule_id?: string;
  15. /** The type of alert notification - email/slack */
  16. alert_type?: string;
  17. };
  18. export type TeamInsightsEventParameters = {
  19. 'alert_builder.filter': {query: string; session_id?: string};
  20. 'alert_details.viewed': {alert_id: number};
  21. 'alert_rule_details.viewed': {alert: string; has_chartcuterie: string; rule_id: number};
  22. 'alert_rules.viewed': {sort: string};
  23. 'alert_stream.viewed': {};
  24. 'alert_wizard.option_selected': {alert_type: string};
  25. 'alert_wizard.option_viewed': {alert_type: string};
  26. 'edit_alert_rule.add_row': {
  27. name: string;
  28. project_id: string;
  29. type: string;
  30. };
  31. 'edit_alert_rule.viewed': RuleViewed;
  32. 'issue_alert_rule_details.edit_clicked': {rule_id: number};
  33. 'issue_alert_rule_details.viewed': {rule_id: number};
  34. 'issue_details.action_clicked': IssueDetailsWithAlert & {
  35. action_type:
  36. | 'deleted'
  37. | 'mark_reviewed'
  38. | 'bookmarked'
  39. | 'subscribed'
  40. | 'shared'
  41. | 'discarded'
  42. | 'open_in_discover'
  43. | 'assign'
  44. | ResolutionStatus;
  45. };
  46. 'issue_details.event_json_clicked': {group_id: number};
  47. 'issue_details.event_navigation_clicked': {button: string; project_id: number};
  48. 'issue_details.tab_changed': IssueDetailsWithAlert & {
  49. tab: Tab;
  50. };
  51. 'issue_details.viewed': IssueDetailsWithAlert;
  52. 'new_alert_rule.viewed': RuleViewed & {
  53. duplicate_rule: string;
  54. session_id: string;
  55. wizard_v3: string;
  56. };
  57. 'project_creation_page.created': {
  58. issue_alert: 'Default' | 'Custom' | 'No Rule';
  59. metric_alerts: string;
  60. project_id: string;
  61. rule_id: string;
  62. };
  63. 'project_creation_page.viewed': {};
  64. 'team_insights.viewed': {};
  65. };
  66. export type TeamInsightsEventKey = keyof TeamInsightsEventParameters;
  67. export const workflowEventMap: Record<TeamInsightsEventKey, string | null> = {
  68. 'alert_builder.filter': 'Alert Builder: Filter',
  69. 'alert_details.viewed': 'Alert Details: Viewed',
  70. 'alert_rule_details.viewed': 'Alert Rule Details: Viewed',
  71. 'alert_rules.viewed': 'Alert Rules: Viewed',
  72. 'alert_stream.viewed': 'Alert Stream: Viewed',
  73. 'alert_wizard.option_selected': 'Alert Wizard: Option Selected',
  74. 'alert_wizard.option_viewed': 'Alert Wizard: Option Viewed',
  75. 'edit_alert_rule.add_row': 'Edit Alert Rule: Add Row',
  76. 'edit_alert_rule.viewed': 'Edit Alert Rule: Viewed',
  77. 'issue_alert_rule_details.edit_clicked': 'Issue Alert Rule Details: Edit Clicked',
  78. 'issue_alert_rule_details.viewed': 'Issue Alert Rule Details: Viewed',
  79. 'issue_details.action_clicked': 'Issue Details: Action Clicked',
  80. 'issue_details.event_json_clicked': 'Issue Details: Event JSON Clicked',
  81. 'issue_details.event_navigation_clicked': 'Issue Details: Event Navigation Clicked',
  82. 'issue_details.viewed': 'Issue Details: Viewed',
  83. 'issue_details.tab_changed': 'Issue Details: Tab Changed',
  84. 'new_alert_rule.viewed': 'New Alert Rule: Viewed',
  85. 'team_insights.viewed': 'Team Insights: Viewed',
  86. 'project_creation_page.viewed': 'Project Create: Creation page viewed',
  87. 'project_creation_page.created': 'Project Create: Project Created',
  88. };