Commit 2b727d6c authored by Phil Calder's avatar Phil Calder Committed by Marcel Amirault

Define experiment feature flag type

parent 4178b7be
...@@ -12,7 +12,7 @@ Experiments are run as an A/B test and are behind a feature flag to turn the tes ...@@ -12,7 +12,7 @@ Experiments are run as an A/B test and are behind a feature flag to turn the tes
## Experiment tracking issue ## Experiment tracking issue
Each experiment should have an [Experiment tracking](https://gitlab.com/groups/gitlab-org/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=growth%20experiment&search=%22Experiment+tracking%22) issue to track the experiment from roll-out through to cleanup/removal. Immediately after an experiment is deployed, the due date of the issue should be set (this depends on the experiment but can be up to a few weeks in the future). Each experiment should have an [Experiment tracking](https://gitlab.com/groups/gitlab-org/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=growth%20experiment&search=%22Experiment+tracking%22) issue to track the experiment from roll-out through to cleanup/removal. The tracking issue is similar to a feature flag rollout issue, and is also used to track the status of an experiment. Immediately after an experiment is deployed, the due date of the issue should be set (this depends on the experiment but can be up to a few weeks in the future).
After the deadline, the issue needs to be resolved and either: After the deadline, the issue needs to be resolved and either:
- It was successful and the experiment becomes the new default. - It was successful and the experiment becomes the new default.
...@@ -36,7 +36,17 @@ and link to the issue that resolves the experiment. If the experiment is ...@@ -36,7 +36,17 @@ and link to the issue that resolves the experiment. If the experiment is
successful and becomes part of the product, any follow up issues should be successful and becomes part of the product, any follow up issues should be
addressed. addressed.
## How to create an A/B test ## Experiments using `gitlab-experiment`
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/300383) in GitLab 13.7.
> - It's [deployed behind a feature flag](../../user/feature_flags.md), disabled by default.
> - It's enabled on GitLab.com.
> - It is not yet intended for use in GitLab self-managed instances.
[GitLab Experiment](https://gitlab.com/gitlab-org/gitlab-experiment/) is a gem included
in GitLab that can be used for running experiments.
## How to create an A/B test using `experimentation.rb`
### Implement the experiment ### Implement the experiment
......
...@@ -66,6 +66,13 @@ Feature.disabled?(:my_ops_flag, project, type: :ops) ...@@ -66,6 +66,13 @@ Feature.disabled?(:my_ops_flag, project, type: :ops)
push_frontend_feature_flag(:my_ops_flag, project, type: :ops) push_frontend_feature_flag(:my_ops_flag, project, type: :ops)
``` ```
### `experiment` type
`experiment` feature flags are used for A/B testing on GitLab.com.
An `experiment` feature flag should conform to the same standards as a `development` feature flag,
although the interface has some differences. More information can be found in the [experiment guide](../experiment_guide/index.md).
## Feature flag definition and validation ## Feature flag definition and validation
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/229161) in GitLab 13.3. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/229161) in GitLab 13.3.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment