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

Importing a workspace file into a Job DSL script with the Groovy Sandbox does not work on Java 17

    XMLWordPrintable

Details

    • v1.81.1

    Description

      Hello,

      My setup according to https://github.com/jenkinsci/job-dsl-plugin/wiki/Real-World-Examples#import-other-files-ie-with-class-definitions-into-your-script is not working anymore after some version upgrades of plugins and Jenkins.

       

      Script security is disabled.

       

      I get the error

      Building in workspace /var/jenkins_home/workspace/Import_Jobs_from_DSL
      Processing DSL script job_descriptions/jobs-staging/seed.groovy
      ERROR: startup failed:
      seed.groovy: 1: unable to resolve class utilities.BuildUtil
       @ line 1, column 1.
         import utilities.BuildUtil
         ^
      
      1 error
      
      Finished: FAILURE 

      Is it possible to make it working again?

      Attachments

        Issue Links

          Activity

            basil Basil Crow added a comment -
            basil Basil Crow added a comment - Fixed in jenkinsci/job-dsl-plugin#1264 ; https://ci.jenkins.io/job/Plugins/job/job-dsl-plugin/job/PR-1264/2/ contains a .hpi that can be used for verification.
            rolfhub Rolf Wagner added a comment -

            Thanks basil PR-1264 fixes this issue in our case.

            Tested on Jenkins 2.387.1, JDK 17, Centos 7.

            rolfhub Rolf Wagner added a comment - Thanks basil PR-1264 fixes this issue in our case. Tested on Jenkins 2.387.1, JDK 17, Centos 7.
            jamietanna Jamie Tanna added a comment - - edited

            Thanks basil for the fix, and confirmations that this has resolved things for y'all.

            I'm attempting to reproduce the fix using the above PR, with jenkins/jenkins:2.389 in Docker (the earliest version that the Plugin Portal still supports), with JDK 11, and I appear to be receiving the same issue mentioned above.

            This is happening with a job with config, when using the plugin HPI above (1.82-SNAPSHOT (private-2023-03-10T04:33:57Z-jenkins)):

            <?xml version='1.1' encoding='UTF-8'?>
            <flow-definition plugin="workflow-job@1268.v6eb_e2ee1a_85a">
              <actions/>
              <description></description>
              <keepDependencies>false</keepDependencies>
              <properties/>
              <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@3611.v201b_d9f9eb_f7">
                <scm class="hudson.plugins.git.GitSCM" plugin="git@5.0.0">
                  <configVersion>2</configVersion>
                  <userRemoteConfigs>
                    <hudson.plugins.git.UserRemoteConfig>
                      <url>https://gitlab.com/jamietanna/job-dsl-example</url>
                    </hudson.plugins.git.UserRemoteConfig>
                  </userRemoteConfigs>
                  <branches>
                    <hudson.plugins.git.BranchSpec>
                      <name>*/JENKINS-70361</name>
                    </hudson.plugins.git.BranchSpec>
                  </branches>
                  <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
                  <submoduleCfg class="empty-list"/>
                  <extensions/>
                </scm>
                <scriptPath>jobs/seed.Jenkinsfile</scriptPath>
                <lightweight>true</lightweight>
              </definition>
              <triggers/>
              <disabled>false</disabled>
            </flow-definition>
            

            And I receive:

            ERROR: startup failed:
            seed.groovy: 1: unable to resolve class utilities.MyUtilities
             @ line 1, column 1.
               import utilities.MyUtilities
               ^
            
            1 error
            
            jamietanna Jamie Tanna added a comment - - edited Thanks basil for the fix, and confirmations that this has resolved things for y'all. I'm attempting to reproduce the fix using the above PR, with jenkins/jenkins:2.389 in Docker (the earliest version that the Plugin Portal still supports), with JDK 11, and I appear to be receiving the same issue mentioned above. This is happening with a job with config, when using the plugin HPI above ( 1.82-SNAPSHOT (private-2023-03-10T04:33:57Z-jenkins) ): <?xml version= '1.1' encoding= 'UTF-8' ?> <flow-definition plugin= "workflow-job@1268.v6eb_e2ee1a_85a" > <actions/> <description></description> <keepDependencies> false </keepDependencies> <properties/> <definition class= "org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin= "workflow-cps@3611.v201b_d9f9eb_f7" > <scm class= "hudson.plugins.git.GitSCM" plugin= "git@5.0.0" > <configVersion>2</configVersion> <userRemoteConfigs> <hudson.plugins.git.UserRemoteConfig> <url>https: //gitlab.com/jamietanna/job-dsl-example</url> </hudson.plugins.git.UserRemoteConfig> </userRemoteConfigs> <branches> <hudson.plugins.git.BranchSpec> <name>*/JENKINS-70361</name> </hudson.plugins.git.BranchSpec> </branches> <doGenerateSubmoduleConfigurations> false </doGenerateSubmoduleConfigurations> <submoduleCfg class= "empty-list" /> <extensions/> </scm> <scriptPath>jobs/seed.Jenkinsfile</scriptPath> <lightweight> true </lightweight> </definition> <triggers/> <disabled> false </disabled> </flow-definition> And I receive: ERROR: startup failed: seed.groovy: 1: unable to resolve class utilities.MyUtilities @ line 1, column 1. import utilities.MyUtilities ^ 1 error
            basil Basil Crow added a comment -

            I suggest you read Groovy Sandboxing.

            basil Basil Crow added a comment - I suggest you read Groovy Sandboxing .
            jamietanna Jamie Tanna added a comment - https://github.com/jenkinsci/job-dsl-plugin/releases/tag/job-dsl-1.81.1

            People

              basil Basil Crow
              bmaehr Bernhard M
              Votes:
              5 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: