-
Bug
-
Resolution: Fixed
-
Minor
-
None
Arguments with
{ isLiteral: true, "value": null }fail schema validation.
I think this needs to allow null values: https://github.com/jenkinsci/pipeline-model-definition-plugin/blob/master/pipeline-model-api/src/main/resources/ast-schema.json#L50 or alternately, don't include those args in the JSON during conversion? Not sure if they are necessarily equivalent.
Took this valid pipeline:
pipeline { agent { docker { image "httpd:2.4.12" args null } } stages { stage("foo") { steps { sh 'cat /usr/local/apache2/conf/extra/httpd-userdir.conf' sh 'echo "The answer is 42"' } } } }
which converts to the corresponding JSON, that no longer passes schema validation due to agent docker args null value:
{ "pipeline": { "agent": { "type": "docker", "arguments": [ { "key": "image", "value": { "isLiteral": true, "value": "httpd:2.4.12" } }, { "key": "args", "value": { "isLiteral": true, "value": null } } ] }, "stages": [ { "name": "foo", "branches": [ { "name": "default", "steps": [ { "name": "sh", "arguments": [ { "key": "script", "value": { "isLiteral": true, "value": "cat /usr/local/apache2/conf/extra/httpd-userdir.conf" } } ] }, { "name": "sh", "arguments": [ { "key": "script", "value": { "isLiteral": true, "value": "echo \"The answer is 42\"" } } ] } ] } ] } ] } }
- links to