Schema validation while importing pipeline configuration
sheroy opened this issue · 2 comments
Currently the yaml config plugin doesn't have a mechanism to validate the schema of the YAML pipeline configuration. There is no indication of errors in YAML configuration due to non-conformance to the GoCD pipeline schema.
Example:
pipelines:
pipe1:
group: simple
materials:
mygit:
git: <Some URL>
stages:
- build: # name of stage
elastic_profile_id: demo-app
jobs:
build: # name of the job
tasks:
- exec: # indicates type of task
command: echo "hello world"
This configuration should have thrown an error because the elastic_profile_id element is in the wrong location. Currently, there is no error or warning displayed anywhere to indicate something was misconfigured.
\cc: @tomzo @marques-work @arvindsv
Is there the configuration schema defined as JSON Schema?
I couldn't find it (e.g. on http://schemastore.org/json/) but if there was one, it could be loaded to e.g. Visual Studio Code using https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml extension and provide a real-time validation while editing the YAML schema.
When I edit the YAML GoCD configuration in Visual Studio Code, it seems to know the available configuration keys, but it suggest to put any anywhere, i.e. even in incorrect places like suggested in this issue.