Skip to content

Instantly share code, notes, and snippets.

@mythmon
Last active March 5, 2019 20:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mythmon/2db1b99805e2af6fb8fbf83b48cd4823 to your computer and use it in GitHub Desktop.
Save mythmon/2db1b99805e2af6fb8fbf83b48cd4823 to your computer and use it in GitHub Desktop.
{
"multi-addon-experiment": {
$schema: "http://json-schema.org/draft-04/schema#",
title: "Enroll a user in an add-on experiment, with managed branches",
type: "object",
required: [
"name",
"description",
"branches",
],
properties: {
slug: {
description: "Machine-readable identifier",
type: "string",
minLength: 1,
},
name: {
description: "User-facing name of the study",
type: "string",
minLength: 1,
},
description: {
description: "User-facing description of the study",
type: "string",
minLength: 1,
},
isEnrollmentPaused: {
description: "If true, new users will not be enrolled in the study.",
type: "boolean",
default: false,
},
"branches": {
description: "List of experimental branches",
type: "array",
minItems: 1,
items: {
type: "object",
required: ["slug", "ratio", "addonServerId"],
properties: {
slug: {
description: "Unique identifier for this branch of the experiment.",
type: "string",
pattern: "^[A-Za-z0-9\\-_]+$",
},
ratio: {
description: "Ratio of users who should be grouped into this branch.",
type: "integer",
minimum: 1,
},
addonServerId: {
description: "The record ID of the add-on uploaded to the Normandy server. May be null, in which case no add-on will be installed.",
type: ["number", "null"],
default: null,
},
},
},
},
},
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment