diff options
Diffstat (limited to 'doc/api/status_checks.md')
-rw-r--r-- | doc/api/status_checks.md | 119 |
1 files changed, 34 insertions, 85 deletions
diff --git a/doc/api/status_checks.md b/doc/api/status_checks.md index f4e384a2efb..25ccd5d767a 100644 --- a/doc/api/status_checks.md +++ b/doc/api/status_checks.md @@ -7,14 +7,8 @@ type: reference, api # External Status Checks API **(ULTIMATE)** -> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/3869) in GitLab 14.0. -> - It's [deployed behind a feature flag](../user/feature_flags.md), disabled by default. -> - It's disabled on GitLab.com. -> - It's not recommended for production use. -> - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-status-checks). **(ULTIMATE SELF)** - -WARNING: -This feature might not be available to you. Check the **version history** note above for details. +> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/3869) in GitLab 14.0, disabled behind the `:ff_external_status_checks` feature flag. +> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/320783) in GitLab 14.1. ## List status checks for a merge request @@ -58,22 +52,16 @@ POST /projects/:id/merge_requests/:merge_request_iid/status_check_responses **Parameters:** -| Attribute | Type | Required | Description | -| ------------------------ | ------- | -------- | -------------------------------------- | -| `id` | integer | yes | ID of a project | -| `merge_request_iid` | integer | yes | IID of a merge request | -| `sha` | string | yes | SHA at `HEAD` of the source branch | +| Attribute | Type | Required | Description | +| -------------------------- | ------- | -------- | ------------------------------------- | +| `id` | integer | yes | ID of a project | +| `merge_request_iid` | integer | yes | IID of a merge request | +| `sha` | string | yes | SHA at `HEAD` of the source branch | +| `external_status_check_id` | integer | yes | ID of an external status check | NOTE: `sha` must be the SHA at the `HEAD` of the merge request's source branch. -## Enable or disable status checks **(ULTIMATE SELF)** - -Status checks are under development and not ready for production use. It is -deployed behind a feature flag that is **disabled by default**. -[GitLab administrators with access to the GitLab Rails console](../administration/feature_flags.md) -can enable it. - ## Get project external status checks **(ULTIMATE)** You can request information about a project's external status checks using the following endpoint: @@ -86,7 +74,7 @@ GET /projects/:id/external_status_checks | Attribute | Type | Required | Description | |---------------------|---------|----------|---------------------| -| `id` | integer | yes | The ID of a project | +| `id` | integer | yes | ID of a project | ```json [ @@ -109,7 +97,7 @@ GET /projects/:id/external_status_checks ] ``` -### Create external status check **(ULTIMATE)** +## Create external status check **(ULTIMATE)** You can create a new external status check for a project using the following endpoint: @@ -117,14 +105,18 @@ You can create a new external status check for a project using the following end POST /projects/:id/external_status_checks ``` -| Attribute | Type | Required | Description | -|------------------------|----------------|----------|----------------------------------------------------| -| `id` | integer | yes | The ID of a project | -| `name` | string | yes | Display name of status check | -| `external_url` | string | yes | URL of status check resource | -| `protected_branch_ids` | `array<Integer>` | no | The ids of protected branches to scope the rule by | +WARNING: +External status checks send information about all applicable merge requests to the +defined external service. This includes confidential merge requests. + +| Attribute | Type | Required | Description | +|------------------------|------------------|----------|------------------------------------------------| +| `id` | integer | yes | ID of a project | +| `name` | string | yes | Display name of status check | +| `external_url` | string | yes | URL of status check resource | +| `protected_branch_ids` | `array<Integer>` | no | IDs of protected branches to scope the rule by | -### Delete external status check **(ULTIMATE)** +## Delete external status check **(ULTIMATE)** You can delete an external status check for a project using the following endpoint: @@ -132,12 +124,12 @@ You can delete an external status check for a project using the following endpoi DELETE /projects/:id/external_status_checks/:check_id ``` -| Attribute | Type | Required | Description | -|------------------------|----------------|----------|----------------------------------------------------| -| `rule_id` | integer | yes | The ID of an status check | -| `id` | integer | yes | The ID of a project | +| Attribute | Type | Required | Description | +|------------------------|----------------|----------|-----------------------| +| `rule_id` | integer | yes | ID of an status check | +| `id` | integer | yes | ID of a project | -### Update external status check **(ULTIMATE)** +## Update external status check **(ULTIMATE)** You can update an existing external status check for a project using the following endpoint: @@ -145,57 +137,14 @@ You can update an existing external status check for a project using the followi PUT /projects/:id/external_status_checks/:check_id ``` -| Attribute | Type | Required | Description | -|------------------------|----------------|----------|----------------------------------------------------| -| `id` | integer | yes | The ID of a project | -| `rule_id` | integer | yes | The ID of an external status check | -| `name` | string | no | Display name of status check | -| `external_url` | string | no | URL of external status check resource | -| `protected_branch_ids` | `array<Integer>` | no | The ids of protected branches to scope the rule by | - -### Enable or disable External Project-level MR status checks **(ULTIMATE SELF)** - -Enable or disable External Project-level MR status checks is under development and not ready for production use. It is -deployed behind a feature flag that is **disabled by default**. -[GitLab administrators with access to the GitLab Rails console](../user/feature_flags.md) -can enable it. - -To enable it: - -```ruby -# For the instance -Feature.enable(:ff_compliance_approval_gates) -# For a single project -Feature.enable(:ff_compliance_approval_gates, Project.find(<project id>)) -``` - -To disable it: - -```ruby -# For the instance -Feature.disable(:ff_compliance_approval_gates) -# For a single project -Feature.disable(:ff_compliance_approval_gates, Project.find(<project id>)) -``` - -To enable it: - -```ruby -# For the instance -Feature.enable(:ff_compliance_approval_gates) -# For a single project -Feature.enable(:ff_compliance_approval_gates, Project.find(<project id>)) -``` - -To disable it: - -```ruby -# For the instance -Feature.disable(:ff_compliance_approval_gates) -# For a single project -Feature.disable(:ff_compliance_approval_gates, Project.find(<project id>) -``` +| Attribute | Type | Required | Description | +|------------------------|------------------|----------|------------------------------------------------| +| `id` | integer | yes | ID of a project | +| `rule_id` | integer | yes | ID of an external status check | +| `name` | string | no | Display name of status check | +| `external_url` | string | no | URL of external status check resource | +| `protected_branch_ids` | `array<Integer>` | no | IDs of protected branches to scope the rule by | ## Related links -- [External status checks](../user/project/merge_requests/status_checks.md) +- [External status checks](../user/project/merge_requests/status_checks.md). |