@@ -5,31 +5,28 @@ info: To determine the technical writer assigned to the Stage/Group associated w
type:reference, howto
---
# External Pipeline Validation
# External pipeline validation
You can use an external service to validate a pipeline before it's created.
WARNING:
This is an experimental feature and subject to change without notice.
## Usage
GitLab sends a POST request to the external service URL with the pipeline
data as payload. GitLab then invalidates the pipeline based on the response
code. If there's an error or the request times out, the pipeline is not
invalidated.
Response codes:
data as payload. The response code from the external service determines if GitLab
should accept or reject the pipeline. If the response is:
-`200`: Accepted
-`4XX`: Rejected
-All other codes: accepted and logged
-`200`, the pipeline is accepted.
-`4XX`, the pipeline is rejected.
-Other codes, the pipeline is accepted and logged.
### Service Result
If there's an error or the request times out, the pipeline is accepted.
Pipelines rejected by the external validation service aren't created or visible in pipeline lists, in either the GitLab user interface or API. Creating an unaccepted pipeline when using the GitLab user interface displays an error message that states: `Pipeline cannot be run. External validation failed`
Pipelines rejected by the external validation service aren't created, and don't
appear in pipeline lists in the GitLab UI or API. If you create a pipeline in the
UI that is rejected, `Pipeline cannot be run. External validation failed` is displayed.
## Configuration
## Configure external pipeline validation
To configure external pipeline validation, add the