External Pipeline Validation
You can use an external service for validating a pipeline before it’s created.
Warning:
This is an experimental feature and subject to change without notice.
Usage
GitLab will send a POST request to the external service URL with the pipeline data as payload. GitLab will then invalidate the pipeline based on the response code. If there’s an error or the request times out, the pipeline will not be invalidated.
Response Code Legend:
-
200
- Accepted -
4xx
- Not Accepted - Other Codes - Accepted and Logged
Configuration
Set the EXTERNAL_VALIDATION_SERVICE_URL
to the external service url.
Payload Schema
{
"type": "object",
"required" : [
"project",
"user",
"pipeline",
"builds"
],
"properties" : {
"project": {
"type": "object",
"required": [
"id",
"path"
],
"properties": {
"id": { "type": "integer" },
"path": { "type": "string" }
}
},
"user": {
"type": "object",
"required": [
"id",
"username",
"email"
],
"properties": {
"id": { "type": "integer" },
"username": { "type": "string" },
"email": { "type": "string" }
}
},
"pipeline": {
"type": "object",
"required": [
"sha",
"ref",
"type"
],
"properties": {
"sha": { "type": "string" },
"ref": { "type": "string" },
"type": { "type": "string" }
}
},
"builds": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"stage",
"image",
"services",
"script"
],
"properties": {
"name": { "type": "string" },
"stage": { "type": "string" },
"image": { "type": ["string", "null"] },
"services": {
"type": ["array", "null"],
"items": { "type": "string" }
},
"script": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
},
"additionalProperties": false
}
Help and feedback
If there's something you don't like about this feature
To propose functionality that GitLab does not yet offer
To further help GitLab in shaping new features
If you didn't find what you were looking for
If you want help with something very specific to your use case, and can use some community support
POST ON GITLAB FORUM
If you have problems setting up or using this feature (depending on your GitLab subscription)
REQUEST SUPPORT
To view all GitLab tiers and features or to upgrade
If you want to try all features available in GitLab.com
If you want to try all features available in GitLab self-managed
If you spot an error or a need for improvement and would like to fix it yourself in a merge request
EDIT THIS PAGE
If you would like to suggest an improvement to this doc