From af31a8fa0464d7af77fc019cc2bbf4321b29429b Mon Sep 17 00:00:00 2001 From: Nwanna Isong <nisong@gitlab.com> Date: Wed, 23 Oct 2024 12:57:47 +0000 Subject: [PATCH] Allow generator CLI to generate new definitions using the key 'tiers' --- scripts/internal_events/cli/metric.rb | 1 + scripts/internal_events/cli/metric_definer.rb | 3 +++ .../internal_events/metrics/ee_total_28d_single_event.yml | 3 +++ .../internal_events/metrics/ee_total_7d_single_event.yml | 3 +++ .../scripts/internal_events/metrics/ee_total_single_event.yml | 3 +++ .../internal_events/metrics/keyboard_smashed_metric_28d.yml | 4 ++++ .../internal_events/metrics/keyboard_smashed_metric_7d.yml | 4 ++++ .../metrics/label_28d_single_event_additional_props.yml | 4 ++++ .../metrics/label_7d_single_event_additional_props.yml | 4 ++++ .../metrics/project_id_28d_multiple_events.yml | 4 ++++ .../internal_events/metrics/project_id_7d_multiple_events.yml | 4 ++++ .../metrics/total_multi_event_some_additional_props.yml | 4 ++++ .../metrics/total_multiple_events_with_rename.yml | 4 ++++ .../scripts/internal_events/metrics/total_single_event.yml | 4 ++++ .../internal_events/metrics/user_id_28d_single_event.yml | 4 ++++ .../metrics/user_id_28d_single_event_additional_props.yml | 4 ++++ .../metrics/user_id_28d_single_event_all_additional_props.yml | 4 ++++ .../internal_events/metrics/user_id_7d_single_event.yml | 4 ++++ .../metrics/user_id_7d_single_event_additional_props.yml | 4 ++++ .../metrics/user_id_7d_single_event_all_additional_props.yml | 4 ++++ 20 files changed, 73 insertions(+) diff --git a/scripts/internal_events/cli/metric.rb b/scripts/internal_events/cli/metric.rb index 7bd141aeaae3..f6049a333d31 100755 --- a/scripts/internal_events/cli/metric.rb +++ b/scripts/internal_events/cli/metric.rb @@ -16,6 +16,7 @@ module InternalEventsCli :product_category, :distribution, :tier, + :tiers, :events ].freeze diff --git a/scripts/internal_events/cli/metric_definer.rb b/scripts/internal_events/cli/metric_definer.rb index b8b3370503ed..f8e9d3f090be 100755 --- a/scripts/internal_events/cli/metric_definer.rb +++ b/scripts/internal_events/cli/metric_definer.rb @@ -290,6 +290,8 @@ def prompt_for_tier(defaults) ) end + assign_shared_attr(:tiers) { |metric| [*metric.tier] } + assign_shared_attr(:distribution) do |metric| metric.tier.include?('free') ? %w[ce ee] : %w[ee] end @@ -532,6 +534,7 @@ def collect_values_for_shared_event_properties fields[:section] << find_section(event.product_group) fields[:distribution] << event.distributions&.sort fields[:tier] << event.tiers&.sort + fields[:tiers] << event.tiers&.sort end # Keep event values if every selected event is the same diff --git a/spec/fixtures/scripts/internal_events/metrics/ee_total_28d_single_event.yml b/spec/fixtures/scripts/internal_events/metrics/ee_total_28d_single_event.yml index 4e3f29180319..92315aed777b 100644 --- a/spec/fixtures/scripts/internal_events/metrics/ee_total_28d_single_event.yml +++ b/spec/fixtures/scripts/internal_events/metrics/ee_total_28d_single_event.yml @@ -15,5 +15,8 @@ distribution: tier: - premium - ultimate +tiers: +- premium +- ultimate events: - name: internal_events_cli_used diff --git a/spec/fixtures/scripts/internal_events/metrics/ee_total_7d_single_event.yml b/spec/fixtures/scripts/internal_events/metrics/ee_total_7d_single_event.yml index b9bb0c3580c8..8bf955e6b655 100644 --- a/spec/fixtures/scripts/internal_events/metrics/ee_total_7d_single_event.yml +++ b/spec/fixtures/scripts/internal_events/metrics/ee_total_7d_single_event.yml @@ -15,5 +15,8 @@ distribution: tier: - premium - ultimate +tiers: +- premium +- ultimate events: - name: internal_events_cli_used diff --git a/spec/fixtures/scripts/internal_events/metrics/ee_total_single_event.yml b/spec/fixtures/scripts/internal_events/metrics/ee_total_single_event.yml index 91297eb80f26..829e2df4f8bf 100644 --- a/spec/fixtures/scripts/internal_events/metrics/ee_total_single_event.yml +++ b/spec/fixtures/scripts/internal_events/metrics/ee_total_single_event.yml @@ -15,5 +15,8 @@ distribution: tier: - premium - ultimate +tiers: +- premium +- ultimate events: - name: internal_events_cli_used diff --git a/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_28d.yml b/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_28d.yml index 03f1a41dfec1..8b6335ba8971 100644 --- a/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_28d.yml +++ b/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_28d.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: random_name unique: user.id diff --git a/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_7d.yml b/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_7d.yml index efa1df68b721..7f22aa807713 100644 --- a/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_7d.yml +++ b/spec/fixtures/scripts/internal_events/metrics/keyboard_smashed_metric_7d.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: random_name unique: user.id diff --git a/spec/fixtures/scripts/internal_events/metrics/label_28d_single_event_additional_props.yml b/spec/fixtures/scripts/internal_events/metrics/label_28d_single_event_additional_props.yml index 165423d56883..8b3ca468a0cf 100644 --- a/spec/fixtures/scripts/internal_events/metrics/label_28d_single_event_additional_props.yml +++ b/spec/fixtures/scripts/internal_events/metrics/label_28d_single_event_additional_props.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: label diff --git a/spec/fixtures/scripts/internal_events/metrics/label_7d_single_event_additional_props.yml b/spec/fixtures/scripts/internal_events/metrics/label_7d_single_event_additional_props.yml index 6f2aac0a8012..b67a333c9bff 100644 --- a/spec/fixtures/scripts/internal_events/metrics/label_7d_single_event_additional_props.yml +++ b/spec/fixtures/scripts/internal_events/metrics/label_7d_single_event_additional_props.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: label diff --git a/spec/fixtures/scripts/internal_events/metrics/project_id_28d_multiple_events.yml b/spec/fixtures/scripts/internal_events/metrics/project_id_28d_multiple_events.yml index d6b2a0c40bfa..6efd5619cbe9 100644 --- a/spec/fixtures/scripts/internal_events/metrics/project_id_28d_multiple_events.yml +++ b/spec/fixtures/scripts/internal_events/metrics/project_id_28d_multiple_events.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_closed unique: project.id diff --git a/spec/fixtures/scripts/internal_events/metrics/project_id_7d_multiple_events.yml b/spec/fixtures/scripts/internal_events/metrics/project_id_7d_multiple_events.yml index 9df22f382545..7f47884b4b25 100644 --- a/spec/fixtures/scripts/internal_events/metrics/project_id_7d_multiple_events.yml +++ b/spec/fixtures/scripts/internal_events/metrics/project_id_7d_multiple_events.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_closed unique: project.id diff --git a/spec/fixtures/scripts/internal_events/metrics/total_multi_event_some_additional_props.yml b/spec/fixtures/scripts/internal_events/metrics/total_multi_event_some_additional_props.yml index 33700efec1e1..cd6180dc47f2 100644 --- a/spec/fixtures/scripts/internal_events/metrics/total_multi_event_some_additional_props.yml +++ b/spec/fixtures/scripts/internal_events/metrics/total_multi_event_some_additional_props.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_closed - name: internal_events_cli_used diff --git a/spec/fixtures/scripts/internal_events/metrics/total_multiple_events_with_rename.yml b/spec/fixtures/scripts/internal_events/metrics/total_multiple_events_with_rename.yml index 79aec02e8300..3463caa680cd 100644 --- a/spec/fixtures/scripts/internal_events/metrics/total_multiple_events_with_rename.yml +++ b/spec/fixtures/scripts/internal_events/metrics/total_multiple_events_with_rename.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_closed - name: internal_events_cli_opened diff --git a/spec/fixtures/scripts/internal_events/metrics/total_single_event.yml b/spec/fixtures/scripts/internal_events/metrics/total_single_event.yml index 6a07c346ca51..a3ae9a80e085 100644 --- a/spec/fixtures/scripts/internal_events/metrics/total_single_event.yml +++ b/spec/fixtures/scripts/internal_events/metrics/total_single_event.yml @@ -17,5 +17,9 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used diff --git a/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event.yml b/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event.yml index d866143a50b7..4d5ba4ea99ea 100644 --- a/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event.yml +++ b/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: user.id diff --git a/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_additional_props.yml b/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_additional_props.yml index 58fa9a5a2a38..46847738253b 100644 --- a/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_additional_props.yml +++ b/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_additional_props.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: user.id diff --git a/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_all_additional_props.yml b/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_all_additional_props.yml index d03ece44b06c..ddda99a397c2 100644 --- a/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_all_additional_props.yml +++ b/spec/fixtures/scripts/internal_events/metrics/user_id_28d_single_event_all_additional_props.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: user.id diff --git a/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event.yml b/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event.yml index d0f4edc384b6..253005c84c30 100644 --- a/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event.yml +++ b/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: user.id diff --git a/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_additional_props.yml b/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_additional_props.yml index 4503f0fe882a..0bad13709c2a 100644 --- a/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_additional_props.yml +++ b/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_additional_props.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: user.id diff --git a/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_all_additional_props.yml b/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_all_additional_props.yml index 47c9415c3fcf..6eb8392bd416 100644 --- a/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_all_additional_props.yml +++ b/spec/fixtures/scripts/internal_events/metrics/user_id_7d_single_event_all_additional_props.yml @@ -17,6 +17,10 @@ tier: - free - premium - ultimate +tiers: +- free +- premium +- ultimate events: - name: internal_events_cli_used unique: user.id -- GitLab