diff options
author | Katarzyna Kobierska <kkobierska@gmail.com> | 2016-08-31 11:16:25 +0200 |
---|---|---|
committer | Katarzyna Kobierska <kkobierska@gmail.com> | 2016-09-07 12:10:49 +0200 |
commit | b63d20a1064c20204defd1d78af97893eb2b3fc8 (patch) | |
tree | f0dbefcd5702a833200397705413639518408c68 | |
parent | 0d81fd05b905e5fe41fee6bb48214748ccf85e78 (diff) | |
download | gitlab-ce-b63d20a1064c20204defd1d78af97893eb2b3fc8.tar.gz |
Add Documentation to Ci Lint API
-rw-r--r-- | doc/api/README.md | 4 | ||||
-rw-r--r-- | doc/api/ci_lint.md | 45 | ||||
-rw-r--r-- | lib/api/lint.rb | 6 |
3 files changed, 51 insertions, 4 deletions
diff --git a/doc/api/README.md b/doc/api/README.md index 96d94e08487..67ec502346e 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -41,8 +41,10 @@ following locations: - [Sidekiq metrics](sidekiq_metrics.md) - [System Hooks](system_hooks.md) - [Tags](tags.md) -- [Users](users.md) - [Todos](todos.md) +- [Users](users.md) +- [Validate the .gitlab-ci.yaml](ci_lint.md) + ### Internal CI API diff --git a/doc/api/ci_lint.md b/doc/api/ci_lint.md new file mode 100644 index 00000000000..2b169176dd6 --- /dev/null +++ b/doc/api/ci_lint.md @@ -0,0 +1,45 @@ +# Validate the .gitlab-ci.yaml + +Check whether your .gitlab-ci.yml file is valid. + +``` +POST ci/lint +``` + +| Attribute | Type | Required | Description | +| ---------- | ------- | -------- | -------- | +| `content` | hash | yes | the .gitlab-ci.yaml content| + +```bash +curl --request POST "https://gitlab.example.com/api/v3/ci/lint?content=YAML+Content" +``` + +Example response: + +* valid content + +```json +{ + "status": "valid", + "errors": [] +} +``` + +* invalid content + +```json +{ + "status": "invalid", + "errors": [ + "variables config should be a hash of key value pairs" + ] +} +``` + +* without the content attribute + +```json +{ + "error": "content is missing" +} +``` diff --git a/lib/api/lint.rb b/lib/api/lint.rb index ec9c8c710e4..0af132803ba 100644 --- a/lib/api/lint.rb +++ b/lib/api/lint.rb @@ -7,14 +7,14 @@ module API namespace :ci do post '/lint' do - errors = Ci::GitlabCiYamlProcessor.validation_message(params[:content]) + error = Ci::GitlabCiYamlProcessor.validation_message(params[:content]) status 200 - if errors.blank? + if error.blank? { status: 'valid', errors: [] } else - { status: 'invalid', errors: [errors] } + { status: 'invalid', errors: [error] } end end end |