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
path: root/doc
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-14 12:07:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-14 12:07:51 +0300
commit00b8ecb72c9f77d864aff3572f028613f45af03c (patch)
treecb8f42234547d61f2721e3fe9361e84c6a710235 /doc
parent138c61238317b2a61f387749a1f4583309675a83 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r--doc/administration/external_pipeline_validation.md103
-rw-r--r--doc/administration/index.md1
2 files changed, 104 insertions, 0 deletions
diff --git a/doc/administration/external_pipeline_validation.md b/doc/administration/external_pipeline_validation.md
new file mode 100644
index 00000000000..19d4de3b705
--- /dev/null
+++ b/doc/administration/external_pipeline_validation.md
@@ -0,0 +1,103 @@
+# External Pipeline Validation
+
+You can use an external service for validating a pipeline before it's created.
+
+CAUTION: **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
+
+```json
+{
+ "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
+}
+```
diff --git a/doc/administration/index.md b/doc/administration/index.md
index 40ec9b85455..1652b287258 100644
--- a/doc/administration/index.md
+++ b/doc/administration/index.md
@@ -152,6 +152,7 @@ Learn how to install, configure, update, and maintain your GitLab instance.
- [Enable/disable GitLab CI/CD](../ci/enable_or_disable_ci.md#site-wide-admin-setting): Enable or disable GitLab CI/CD for your instance.
- [GitLab CI/CD admin settings](../user/admin_area/settings/continuous_integration.md): Enable or disable Auto DevOps site-wide and define the artifacts' max size and expiration time.
+- [External Pipeline Validation](external_pipeline_validation.md): Enable, disable and configure external pipeline validation.
- [Job artifacts](job_artifacts.md): Enable, disable, and configure job artifacts (a set of files and directories which are outputted by a job when it completes successfully).
- [Job logs](job_logs.md): Information about the job logs.
- [Register Shared and specific Runners](../ci/runners/README.md#registering-a-shared-runner): Learn how to register and configure Shared and specific Runners to your own instance.