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

Scripted Pipeline linting works from CLI but not from Api

    • 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!

       

          [JENKINS-59378] Scripted Pipeline linting works from CLI but not from Api

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

              Created:
              Updated: