gitlab-org--gitlab-foss/doc/api/experiments.md

79 lines
2.1 KiB
Markdown

---
stage: Growth
group: Expansion
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
# Experiments API (GitLab team only) **(FREE SAAS)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/262725) in GitLab 13.5.
This API is for listing A/B experiments [defined in GitLab](../development/experiment_guide/index.md).
The user must be a [GitLab team member](https://gitlab.com/groups/gitlab-com/-/group_members) to access the API.
## List all experiments
Get a list of all experiments. Each experiment has an `enabled` status that indicates whether the experiment is enabled globally, or only in specific contexts.
```plaintext
GET /experiments
```
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/experiments"
```
Example response:
```json
[
{
"key": "code_quality_walkthrough",
"definition": {
"name": "code_quality_walkthrough",
"introduced_by_url": "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58900",
"rollout_issue_url": "https://gitlab.com/gitlab-org/gitlab/-/issues/327229",
"milestone": "13.12",
"type": "experiment",
"group": "group::activation",
"default_enabled": false
},
"current_status": {
"state": "conditional",
"gates": [
{
"key": "boolean",
"value": false
},
{
"key": "percentage_of_actors",
"value": 25
}
]
}
},
{
"key": "ci_runner_templates",
"definition": {
"name": "ci_runner_templates",
"introduced_by_url": "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58357",
"rollout_issue_url": "https://gitlab.com/gitlab-org/gitlab/-/issues/326725",
"milestone": "14.0",
"type": "experiment",
"group": "group::activation",
"default_enabled": false
},
"current_status": {
"state": "off",
"gates": [
{
"key": "boolean",
"value": false
}
]
}
}
]
```