From 7e1786b5b28e80154f97a910c36206ebe0994e6c Mon Sep 17 00:00:00 2001 From: Nan Jiang Date: Tue, 24 Mar 2020 15:34:10 -0400 Subject: [PATCH] Replace shiled_id with experiments for activity-stream and messaging-system --- .../events/events.1.schema.json | 14 ++++++++- .../impression-stats.1.schema.json | 14 ++++++++- .../sessions/sessions.1.schema.json | 14 ++++++++- .../spoc-fills/spoc-fills.1.schema.json | 14 ++++++++- .../messaging-system/cfr/cfr.1.schema.json | 14 ++++++++- .../onboarding/onboarding.1.schema.json | 14 ++++++++- .../snippets/snippets.1.schema.json | 14 ++++++++- .../undesired-events.1.schema.json | 14 ++++++++- .../events/events.1.schema.json | 3 +- .../impression-stats.1.schema.json | 3 +- .../sessions/sessions.1.schema.json | 3 +- .../spoc-fills/spoc-fills.1.schema.json | 3 +- .../activity-stream/experiments.1.schema.json | 12 +++++++ .../messaging-system/cfr/cfr.1.schema.json | 3 +- .../onboarding/onboarding.1.schema.json | 3 +- .../snippets/snippets.1.schema.json | 3 +- .../undesired-events.1.schema.json | 3 +- .../events.1.experiments.pass.json | 24 ++++++++++++++ .../impression-stats.1.experiments.pass.json | 31 +++++++++++++++++++ .../sessions.1.sample.pass.json | 9 +++++- .../spoc-fills.1.sample.pass.json | 10 +++++- .../cfr.1.experiments.pass.json | 20 ++++++++++++ .../onboarding.1.experiments.pass.json | 19 ++++++++++++ .../snippets.1.event.pass.json | 10 +++++- .../undesired-events.1.event.pass.json | 10 +++++- 25 files changed, 261 insertions(+), 20 deletions(-) create mode 100644 templates/include/activity-stream/experiments.1.schema.json create mode 100644 validation/activity-stream/events.1.experiments.pass.json create mode 100644 validation/activity-stream/impression-stats.1.experiments.pass.json create mode 100644 validation/messaging-system/cfr.1.experiments.pass.json create mode 100644 validation/messaging-system/onboarding.1.experiments.pass.json diff --git a/schemas/activity-stream/events/events.1.schema.json b/schemas/activity-stream/events/events.1.schema.json index c05cad7..3e0c710 100644 --- a/schemas/activity-stream/events/events.1.schema.json +++ b/schemas/activity-stream/events/events.1.schema.json @@ -20,6 +20,18 @@ "description": "An event identifier", "type": "string" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "locale": { "type": "string" }, @@ -50,7 +62,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "source": { diff --git a/schemas/activity-stream/impression-stats/impression-stats.1.schema.json b/schemas/activity-stream/impression-stats/impression-stats.1.schema.json index 890b4ef..b121b4a 100644 --- a/schemas/activity-stream/impression-stats/impression-stats.1.schema.json +++ b/schemas/activity-stream/impression-stats/impression-stats.1.schema.json @@ -12,6 +12,18 @@ "description": "A 0-based index to record which tile in the 'tiles' list the user just interacted with", "type": "integer" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "impression_id": { "description": "A UUID representing this user. Note that it's not client_id, nor can it be used to link to a client_id", "pattern": "^\\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\}$", @@ -50,7 +62,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "source": { diff --git a/schemas/activity-stream/sessions/sessions.1.schema.json b/schemas/activity-stream/sessions/sessions.1.schema.json index cf7018a..622606d 100644 --- a/schemas/activity-stream/sessions/sessions.1.schema.json +++ b/schemas/activity-stream/sessions/sessions.1.schema.json @@ -8,6 +8,18 @@ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", "type": "string" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "locale": { "type": "string" }, @@ -112,7 +124,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "user_prefs": { diff --git a/schemas/activity-stream/spoc-fills/spoc-fills.1.schema.json b/schemas/activity-stream/spoc-fills/spoc-fills.1.schema.json index 18b9f2e..68fafbc 100644 --- a/schemas/activity-stream/spoc-fills/spoc-fills.1.schema.json +++ b/schemas/activity-stream/spoc-fills/spoc-fills.1.schema.json @@ -4,6 +4,18 @@ "addon_version": { "type": "string" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "impression_id": { "description": "A UUID representing this user. Note that it's not client_id, nor can it be used to link to a client_id", "pattern": "^\\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\}$", @@ -16,7 +28,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "spoc_fills": { diff --git a/schemas/messaging-system/cfr/cfr.1.schema.json b/schemas/messaging-system/cfr/cfr.1.schema.json index 1e84c9e..85b199e 100644 --- a/schemas/messaging-system/cfr/cfr.1.schema.json +++ b/schemas/messaging-system/cfr/cfr.1.schema.json @@ -43,6 +43,18 @@ "description": "A string that describes the context about this event", "type": "string" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "impression_id": { "description": "A UUID representing this user. Note that it's not client_id, nor can it be used to link to a client_id", "pattern": "^\\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\}$", @@ -61,7 +73,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "version": { diff --git a/schemas/messaging-system/onboarding/onboarding.1.schema.json b/schemas/messaging-system/onboarding/onboarding.1.schema.json index f28a99a..c35d9dc 100644 --- a/schemas/messaging-system/onboarding/onboarding.1.schema.json +++ b/schemas/messaging-system/onboarding/onboarding.1.schema.json @@ -20,6 +20,18 @@ "description": "A string that describes the context about this event", "type": "string" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "locale": { "type": "string" }, @@ -33,7 +45,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "version": { diff --git a/schemas/messaging-system/snippets/snippets.1.schema.json b/schemas/messaging-system/snippets/snippets.1.schema.json index 1b8741c..7f8b4da 100644 --- a/schemas/messaging-system/snippets/snippets.1.schema.json +++ b/schemas/messaging-system/snippets/snippets.1.schema.json @@ -16,6 +16,18 @@ "description": "A string that describes the context about this event", "type": "string" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "locale": { "type": "string" }, @@ -29,7 +41,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "version": { diff --git a/schemas/messaging-system/undesired-events/undesired-events.1.schema.json b/schemas/messaging-system/undesired-events/undesired-events.1.schema.json index afb5de6..5abbc94 100644 --- a/schemas/messaging-system/undesired-events/undesired-events.1.schema.json +++ b/schemas/messaging-system/undesired-events/undesired-events.1.schema.json @@ -12,6 +12,18 @@ "description": "A string that describes the context about this event", "type": "string" }, + "experiments": { + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "type": "object" + }, "impression_id": { "description": "A UUID representing this user. Note that it's not client_id, nor can it be used to link to a client_id", "pattern": "^\\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\}$", @@ -30,7 +42,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "version": { diff --git a/templates/activity-stream/events/events.1.schema.json b/templates/activity-stream/events/events.1.schema.json index 8dd3d53..e0b0e0b 100644 --- a/templates/activity-stream/events/events.1.schema.json +++ b/templates/activity-stream/events/events.1.schema.json @@ -9,8 +9,9 @@ }, @ACTIVITY-STREAM_SESSIONID_1_JSON@, @ACTIVITY-STREAM_PAGE_1_JSON@, + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "event": { diff --git a/templates/activity-stream/impression-stats/impression-stats.1.schema.json b/templates/activity-stream/impression-stats/impression-stats.1.schema.json index b0d78a0..eebc72b 100644 --- a/templates/activity-stream/impression-stats/impression-stats.1.schema.json +++ b/templates/activity-stream/impression-stats/impression-stats.1.schema.json @@ -5,8 +5,9 @@ "properties": { @ACTIVITY-STREAM_IMPRESSIONID_1_JSON@, @ACTIVITY-STREAM_PAGE_1_JSON@, + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "addon_version": { diff --git a/templates/activity-stream/sessions/sessions.1.schema.json b/templates/activity-stream/sessions/sessions.1.schema.json index 43e121b..48f0e66 100644 --- a/templates/activity-stream/sessions/sessions.1.schema.json +++ b/templates/activity-stream/sessions/sessions.1.schema.json @@ -8,11 +8,12 @@ @COMMON_PATTERN_UUID_1_JSON@ }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, @ACTIVITY-STREAM_SESSIONID_1_JSON@, @ACTIVITY-STREAM_PAGE_1_JSON@, + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "addon_version": { "type": "string" }, diff --git a/templates/activity-stream/spoc-fills/spoc-fills.1.schema.json b/templates/activity-stream/spoc-fills/spoc-fills.1.schema.json index babc534..f133cf2 100644 --- a/templates/activity-stream/spoc-fills/spoc-fills.1.schema.json +++ b/templates/activity-stream/spoc-fills/spoc-fills.1.schema.json @@ -4,6 +4,7 @@ "title": "spoc-fills", "properties": { @ACTIVITY-STREAM_IMPRESSIONID_1_JSON@, + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "locale": { "type": "string" }, @@ -14,7 +15,7 @@ "type": "string" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "release_channel": { diff --git a/templates/include/activity-stream/experiments.1.schema.json b/templates/include/activity-stream/experiments.1.schema.json new file mode 100644 index 0000000..4b5c7d0 --- /dev/null +++ b/templates/include/activity-stream/experiments.1.schema.json @@ -0,0 +1,12 @@ +"experiments": { + "description": "An object to record all active experiments, experiments IDs are stored as keys, and the value object stores the branch information. Example: {\"experiment_1\": {\"branch\": \"control\"}, \"experiment_2\": {\"branch\": \"treatment\"}}. This deprecates the \"shield_id\" used in activity-stream and messaging-system.", + "additionalProperties": { + "properties": { + "branch": { + "type": "string" + } + }, + "type": "object" + }, + "type": "object" +} diff --git a/templates/messaging-system/cfr/cfr.1.schema.json b/templates/messaging-system/cfr/cfr.1.schema.json index 84fc375..3bb0c0c 100644 --- a/templates/messaging-system/cfr/cfr.1.schema.json +++ b/templates/messaging-system/cfr/cfr.1.schema.json @@ -3,6 +3,7 @@ "type": "object", "title": "cfr", "properties": { + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "client_id": { "type": "string", @COMMON_PATTERN_UUID_1_JSON@ @@ -13,7 +14,7 @@ "pattern": "^\\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\}$" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "event": { diff --git a/templates/messaging-system/onboarding/onboarding.1.schema.json b/templates/messaging-system/onboarding/onboarding.1.schema.json index b2e71a9..59f4a7d 100644 --- a/templates/messaging-system/onboarding/onboarding.1.schema.json +++ b/templates/messaging-system/onboarding/onboarding.1.schema.json @@ -3,12 +3,13 @@ "type": "object", "title": "onboarding", "properties": { + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "client_id": { "type": "string", @COMMON_PATTERN_UUID_1_JSON@ }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "event": { diff --git a/templates/messaging-system/snippets/snippets.1.schema.json b/templates/messaging-system/snippets/snippets.1.schema.json index e682ee9..9603dd5 100644 --- a/templates/messaging-system/snippets/snippets.1.schema.json +++ b/templates/messaging-system/snippets/snippets.1.schema.json @@ -3,12 +3,13 @@ "type": "object", "title": "snippets", "properties": { + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "client_id": { "type": "string", @COMMON_PATTERN_UUID_1_JSON@ }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "event": { diff --git a/templates/messaging-system/undesired-events/undesired-events.1.schema.json b/templates/messaging-system/undesired-events/undesired-events.1.schema.json index 84d6016..84dd4ae 100644 --- a/templates/messaging-system/undesired-events/undesired-events.1.schema.json +++ b/templates/messaging-system/undesired-events/undesired-events.1.schema.json @@ -3,13 +3,14 @@ "type": "object", "title": "undesired-events", "properties": { + @ACTIVITY-STREAM_EXPERIMENTS_1_JSON@, "impression_id": { "description": "A UUID representing this user. Note that it's not client_id, nor can it be used to link to a client_id", "type": "string", "pattern": "^\\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\}$" }, "shield_id": { - "description": "A semicolon separated string to store a list of Shield study IDs", + "description": "[DEPRECATED]: use `experiments` instead. A semicolon separated string to store a list of Shield study IDs", "type": "string" }, "event": { diff --git a/validation/activity-stream/events.1.experiments.pass.json b/validation/activity-stream/events.1.experiments.pass.json new file mode 100644 index 0000000..8284a62 --- /dev/null +++ b/validation/activity-stream/events.1.experiments.pass.json @@ -0,0 +1,24 @@ +{ + "locale": "en-US", + "client_id": "4dd69e99-07e7-c040-a514-ccde0cfd4881", + "version": "72.0a1", + "release_channel": "nightly", + "addon_version": "20191119043902", + "user_prefs": 255, + "session_id": "{3e3fce7a-d015-7d44-9404-3547a600a9ec}", + "page": "about:newtab", + "event": "CLICK", + "source": "TOP_SITES", + "action_position": 0, + "value": "{\"icon_type\": \"rich_icon\"}", + "profile_creation_date": 16587, + "region": "CA", + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } + } +} diff --git a/validation/activity-stream/impression-stats.1.experiments.pass.json b/validation/activity-stream/impression-stats.1.experiments.pass.json new file mode 100644 index 0000000..ef81a61 --- /dev/null +++ b/validation/activity-stream/impression-stats.1.experiments.pass.json @@ -0,0 +1,31 @@ +{ + "action": "activity_stream_impression_stats", + "client_id": "n/a", + "session_id": "n/a", + "locale": "en-US", + "topic": "activity-stream", + "version": "65.0a1", + "release_channel": "nightly", + "addon_version": "20181206092619", + "user_prefs": 63, + "page": "about:newtab", + "source": "TOP_STORIES", + "click": 0, + "tiles": [ + { + "id": 30001, + "pos": 0 + } + ], + "impression_id": "{94642acb-4996-034b-916c-147da723cc41}", + "profile_creation_date": 17817, + "region": "US", + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } + } +} diff --git a/validation/activity-stream/sessions.1.sample.pass.json b/validation/activity-stream/sessions.1.sample.pass.json index d961bc1..a517a61 100644 --- a/validation/activity-stream/sessions.1.sample.pass.json +++ b/validation/activity-stream/sessions.1.sample.pass.json @@ -8,7 +8,6 @@ "session_id": "{3e3fce7a-d015-7d44-9404-3547a600a9ec}", "page": "about:home", "profile_creation_date": 16587, - "shield_id": "activity-stream-shield-study-bug-1238122", "session_duration": 7000, "perf": { "load_trigger_type": "first_window_opened", @@ -28,5 +27,13 @@ "topsites_data_late_by_ms": 197, "highlights_data_late_by_ms": 241, "topsites_first_painted_ts": 1578946834726 + }, + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } } } diff --git a/validation/activity-stream/spoc-fills.1.sample.pass.json b/validation/activity-stream/spoc-fills.1.sample.pass.json index f075cae..615b4a5 100644 --- a/validation/activity-stream/spoc-fills.1.sample.pass.json +++ b/validation/activity-stream/spoc-fills.1.sample.pass.json @@ -55,5 +55,13 @@ "reason": "flight_duplicate", "full_recalc": 0 } - ] + ], + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } + } } diff --git a/validation/messaging-system/cfr.1.experiments.pass.json b/validation/messaging-system/cfr.1.experiments.pass.json new file mode 100644 index 0000000..ce107a5 --- /dev/null +++ b/validation/messaging-system/cfr.1.experiments.pass.json @@ -0,0 +1,20 @@ +{ + "impression_id": "{94642acb-4996-034b-916c-147da723cc41}", + "event": "IMPRESSION", + "value": "n/a", + "message_id": "n/a", + "bucket_id": "CFR_M1", + "locale": "en-US", + "version": "71.0a1", + "release_channel": "nightly", + "addon_version": "20181206092619", + "profile_creation_date": 17817, + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } + } +} diff --git a/validation/messaging-system/onboarding.1.experiments.pass.json b/validation/messaging-system/onboarding.1.experiments.pass.json new file mode 100644 index 0000000..161af3b --- /dev/null +++ b/validation/messaging-system/onboarding.1.experiments.pass.json @@ -0,0 +1,19 @@ +{ + "client_id": "94642acb-4996-034b-916c-147da723cc41", + "event": "IMPRESSION", + "event_context": "n/a", + "message_id": "12345", + "locale": "en-US", + "version": "71.0a1", + "release_channel": "nightly", + "addon_version": "20181206092619", + "profile_creation_date": 17817, + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } + } +} diff --git a/validation/messaging-system/snippets.1.event.pass.json b/validation/messaging-system/snippets.1.event.pass.json index 405eeab..d3c79bd 100644 --- a/validation/messaging-system/snippets.1.event.pass.json +++ b/validation/messaging-system/snippets.1.event.pass.json @@ -7,5 +7,13 @@ "version": "71.0a1", "release_channel": "nightly", "addon_version": "20181206092619", - "profile_creation_date": 17817 + "profile_creation_date": 17817, + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } + } } diff --git a/validation/messaging-system/undesired-events.1.event.pass.json b/validation/messaging-system/undesired-events.1.event.pass.json index 23448d5..ee76264 100644 --- a/validation/messaging-system/undesired-events.1.event.pass.json +++ b/validation/messaging-system/undesired-events.1.event.pass.json @@ -5,5 +5,13 @@ "version": "71.0a1", "release_channel": "nightly", "addon_version": "20181206092619", - "profile_creation_date": 17817 + "profile_creation_date": 17817, + "experiments": { + "exp_id_foo": { + "branch": "control" + }, + "exp_id_bar": { + "branch": "treatment" + } + } }