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:
Diffstat (limited to 'doc/api/status_checks.md')
-rw-r--r--doc/api/status_checks.md180
1 files changed, 180 insertions, 0 deletions
diff --git a/doc/api/status_checks.md b/doc/api/status_checks.md
index e6a9c633418..7299e529bda 100644
--- a/doc/api/status_checks.md
+++ b/doc/api/status_checks.md
@@ -71,6 +71,186 @@ POST /projects/:id/merge_requests/:merge_request_iid/status_check_responses
NOTE:
`sha` must be the SHA at the `HEAD` of the merge request's source branch.
+## Retry failed status check for a merge request
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/383200) in GitLab 15.7.
+
+For a single merge request, retry the specified failed external status check. Even
+though the merge request hasn't changed, this endpoint resends the current state of
+merge request to the defined external service.
+
+```plaintext
+POST /projects/:id/merge_requests/:merge_request_iid/status_checks/:external_status_check_id/retry
+```
+
+**Parameters:**
+
+| Attribute | Type | Required | Description |
+| -------------------------- | ------- | -------- | ------------------------------------- |
+| `id` | integer | yes | ID of a project |
+| `merge_request_iid` | integer | yes | IID of a merge request |
+| `external_status_check_id` | integer | yes | ID of a failed external status check |
+
+## Response
+
+In case of success status code is 202.
+
+```json
+{
+ "message": "202 Accepted"
+}
+```
+
+In case status check is already passed status code is 422
+
+```json
+{
+ "message": "External status check must be failed"
+}
+```
+
+## Example payload sent to external service
+
+```json
+{
+ "object_kind": "merge_request",
+ "event_type": "merge_request",
+ "user": {
+ "id": 1,
+ "name": "Administrator",
+ "username": "root",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
+ "email": "[REDACTED]"
+ },
+ "project": {
+ "id": 6,
+ "name": "Flight",
+ "description": "Ipsa minima est consequuntur quisquam.",
+ "web_url": "http://example.com/flightjs/Flight",
+ "avatar_url": null,
+ "git_ssh_url": "ssh://example.com/flightjs/Flight.git",
+ "git_http_url": "http://example.com/flightjs/Flight.git",
+ "namespace": "Flightjs",
+ "visibility_level": 20,
+ "path_with_namespace": "flightjs/Flight",
+ "default_branch": "master",
+ "ci_config_path": null,
+ "homepage": "http://example.com/flightjs/Flight",
+ "url": "ssh://example.com/flightjs/Flight.git",
+ "ssh_url": "ssh://example.com/flightjs/Flight.git",
+ "http_url": "http://example.com/flightjs/Flight.git"
+ },
+ "object_attributes": {
+ "assignee_id": null,
+ "author_id": 1,
+ "created_at": "2022-12-07 07:53:43 UTC",
+ "description": "",
+ "head_pipeline_id": 558,
+ "id": 144,
+ "iid": 4,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "merge_commit_sha": null,
+ "merge_error": null,
+ "merge_params": {
+ "force_remove_source_branch": "1"
+ },
+ "merge_status": "can_be_merged",
+ "merge_user_id": null,
+ "merge_when_pipeline_succeeds": false,
+ "milestone_id": null,
+ "source_branch": "root-master-patch-30152",
+ "source_project_id": 6,
+ "state_id": 1,
+ "target_branch": "master",
+ "target_project_id": 6,
+ "time_estimate": 0,
+ "title": "Update README.md",
+ "updated_at": "2022-12-07 07:53:43 UTC",
+ "updated_by_id": null,
+ "url": "http://example.com/flightjs/Flight/-/merge_requests/4",
+ "source": {
+ "id": 6,
+ "name": "Flight",
+ "description": "Ipsa minima est consequuntur quisquam.",
+ "web_url": "http://example.com/flightjs/Flight",
+ "avatar_url": null,
+ "git_ssh_url": "ssh://example.com/flightjs/Flight.git",
+ "git_http_url": "http://example.com/flightjs/Flight.git",
+ "namespace": "Flightjs",
+ "visibility_level": 20,
+ "path_with_namespace": "flightjs/Flight",
+ "default_branch": "master",
+ "ci_config_path": null,
+ "homepage": "http://example.com/flightjs/Flight",
+ "url": "ssh://example.com/flightjs/Flight.git",
+ "ssh_url": "ssh://example.com/flightjs/Flight.git",
+ "http_url": "http://example.com/flightjs/Flight.git"
+ },
+ "target": {
+ "id": 6,
+ "name": "Flight",
+ "description": "Ipsa minima est consequuntur quisquam.",
+ "web_url": "http://example.com/flightjs/Flight",
+ "avatar_url": null,
+ "git_ssh_url": "ssh://example.com/flightjs/Flight.git",
+ "git_http_url": "http://example.com/flightjs/Flight.git",
+ "namespace": "Flightjs",
+ "visibility_level": 20,
+ "path_with_namespace": "flightjs/Flight",
+ "default_branch": "master",
+ "ci_config_path": null,
+ "homepage": "http://example.com/flightjs/Flight",
+ "url": "ssh://example.com/flightjs/Flight.git",
+ "ssh_url": "ssh://example.com/flightjs/Flight.git",
+ "http_url": "http://example.com/flightjs/Flight.git"
+ },
+ "last_commit": {
+ "id": "141be9714669a4c1ccaa013c6a7f3e462ff2a40f",
+ "message": "Update README.md",
+ "title": "Update README.md",
+ "timestamp": "2022-12-07T07:52:11+00:00",
+ "url": "http://example.com/flightjs/Flight/-/commit/141be9714669a4c1ccaa013c6a7f3e462ff2a40f",
+ "author": {
+ "name": "Administrator",
+ "email": "admin@example.com"
+ }
+ },
+ "work_in_progress": false,
+ "total_time_spent": 0,
+ "time_change": 0,
+ "human_total_time_spent": null,
+ "human_time_change": null,
+ "human_time_estimate": null,
+ "assignee_ids": [
+ ],
+ "reviewer_ids": [
+ ],
+ "labels": [
+ ],
+ "state": "opened",
+ "blocking_discussions_resolved": true,
+ "first_contribution": false,
+ "detailed_merge_status": "mergeable"
+ },
+ "labels": [
+ ],
+ "changes": {
+ },
+ "repository": {
+ "name": "Flight",
+ "url": "ssh://example.com/flightjs/Flight.git",
+ "description": "Ipsa minima est consequuntur quisquam.",
+ "homepage": "http://example.com/flightjs/Flight"
+ },
+ "external_approval_rule": {
+ "id": 1,
+ "name": "QA",
+ "external_url": "https://example.com/"
+ }
+}
+```
+
## Get project external status checks
You can request information about a project's external status checks using the following endpoint: