Add Documentation to Ci Lint API

This commit is contained in:
Katarzyna Kobierska 2016-08-31 11:16:25 +02:00
parent 0d81fd05b9
commit b63d20a106
3 changed files with 51 additions and 4 deletions

View File

@ -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

45
doc/api/ci_lint.md Normal file
View File

@ -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"
}
```

View File

@ -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