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

javaposse.jobdsl.dsl.Job is not a suitable parent class for javaposse.jobdsl.dsl.jobs.WorkflowJob (org.jenkinsci.plugins.workflow.job.WorkflowJob does not extend hudson.model.AbstractProject)

    XMLWordPrintable

Details

    Description

      javaposse.jobdsl.dsl.jobs.WorkflowJob (which matches org.jenkinsci.plugins.workflow.job.WorkflowJob) extends javaposse.jobdsl.dsl.Job (which mainly matches hudson.model.AbstractProject) whereas hudson.model.AbstractProject is not a parent class of org.jenkinsci.plugins.workflow.job.WorkflowJob.
      That results in invalid configuration file being generated when using the javaposse.jobdsl.dsl.Job API combined with javaposse.jobdsl.dsl.DslFactory#workflowJob(java.lang.String, groovy.lang.Closure).
      That means we cannot trust the delegate type to select which customization to apply.

      Closure foo = {
        if (getDelegate() instanceof javaposse.jobdsl.dsl.Job) {
          // label will generate 'assignedNode' / 'canRoam' elements
          label('XXX')
        }
      }
      // below XML is OK, FreeStyleProject has 'assignedNode' / 'canRoam' via AbstractProject
      freeStyleJob('A', foo)
      
      // below resulting XML does not match org.jenkinsci.plugins.workflow.job.WorkflowJob (does not extend AbstractProject)
      workflowJob('B', foo)
      

      Attachments

        Issue Links

          Activity

            As authenticationToken is still configurable in the GUI, what is the new equivalent in the JobDSL?

            redeamer Michael Musenbrock added a comment - As authenticationToken is still configurable in the GUI, what is the new equivalent in the JobDSL?

            The next release will fix support for authenticationToken.

            daspilker Daniel Spilker added a comment - The next release will fix support for authenticationToken .
            basil Basil Crow added a comment -

            Hi daspilker,

            I see that you've marked this bug as "Fixed but unreleased"; I'm afraid that it has not yet been fixed. As I wrote in my previous comment, it's not just authenticationToken that has regressed, but also concurrentBuild. Your PR addresses the former, but not the latter.

            basil Basil Crow added a comment - Hi daspilker , I see that you've marked this bug as "Fixed but unreleased"; I'm afraid that it has not yet been fixed. As I wrote in my previous comment , it's not just authenticationToken that has regressed, but also concurrentBuild . Your PR addresses the former, but not the latter.
            franknarf888 Frank Gen added a comment -

            Hello,

            Will this issue be resolved and released any time soon? We started having builds launched in parallel, even though they should have been queued.

            Thanks

            franknarf888 Frank Gen added a comment - Hello, Will this issue be resolved and released any time soon? We started having builds launched in parallel, even though they should have been queued. Thanks
            basil Basil Crow added a comment -

            We started having builds launched in parallel, even though they should have been queued.

            franknarf888 You might want to take a look at JENKINS-53775, where I discuss how I solved a similar-sounding problem with Job DSL and concurrent builds.

            basil Basil Crow added a comment - We started having builds launched in parallel, even though they should have been queued. franknarf888 You might want to take a look at JENKINS-53775 , where I discuss how I solved a similar-sounding problem with Job DSL and concurrent builds.

            People

              jamietanna Jamie Tanna
              fchuong Frédéric Chuong
              Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: