Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-59378

Scripted Pipeline linting works from CLI but not from Api

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor

      According to https://jenkins.io/doc/book/pipeline/development/#linter ,

      one can check the syntax of a Jenkinsfile either using the CLI

       

      java-jar jenkins-cli.jar declarative-linter < Jenkinsfile 
      

       

      or using the HTTP API:

       

      curl -X POST -F "jenkinsfile=<Jenkinsfile" $JENKINS_URL/pipeline-model-converter/validate

      Interestingly, though, the former (CLI) validates successfully Scripted Pipelines while the latter (HTTP) does not.

      Here is a trivial example of a Jenkinsfile:

      node {
        pwd
      }
      

      The CLI output is

      Jenkinsfile successfully validated.

      while the HTTP api output is

      Jenkinsfile content 'node {\n  pwd\n}\n' did not contain the 'pipeline' step

      I believe it's very convenient that the CLI can check Scripted Pipelines as well and it would be great if one could do it via the HTTP api as well!

       

            Unassigned Unassigned
            marcosdiez Marcos Diez
            Votes:
            7 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: