Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-26 15:10:41 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-26 15:10:41 +0300
commit04f9cef437b65b4a62624936a37a99cfbfb4d61c (patch)
tree9edb887220b45ecd69f2aefa22a0fea09ed03ee1 /doc/api/status_checks.md
parent47d07def1648ffc0787fe92ea5e351ccc5e9c4a4 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/api/status_checks.md')
-rw-r--r--doc/api/status_checks.md93
1 files changed, 93 insertions, 0 deletions
diff --git a/doc/api/status_checks.md b/doc/api/status_checks.md
new file mode 100644
index 00000000000..116044adb41
--- /dev/null
+++ b/doc/api/status_checks.md
@@ -0,0 +1,93 @@
+---
+stage: Manage
+group: Compliance
+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"
+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.
+
+## List status checks for a merge request
+
+For a single merge request, list the external status checks that apply to it and their status.
+
+```plaintext
+GET /projects/:id/merge_requests/:merge_request_iid/status_checks
+```
+
+**Parameters:**
+
+| Attribute | Type | Required | Description |
+| ------------------------ | ------- | -------- | -------------------------- |
+| `id` | integer | yes | ID of a project |
+| `merge_request_iid` | integer | yes | IID of a merge request |
+
+```json
+[
+ {
+ "id": 2,
+ "name": "Rule 1",
+ "external_url": "https://gitlab.com/test-endpoint",
+ "status": "approved"
+ },
+ {
+ "id": 1,
+ "name": "Rule 2",
+ "external_url": "https://gitlab.com/test-endpoint-2",
+ "status": "pending"
+ }
+]
+```
+
+## Set approval status of an external status check
+
+For a single merge request, use the API to inform GitLab that a merge request has been approved by an external service.
+
+```plaintext
+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 |
+
+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.
+
+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>)
+```