Have a lot of jobs created with jenkins-jobs-builder that it is proving difficult to maintain.
Looking to move to dsl and possibly pipeline-dsl. Most of jobs have the following logic: - ability to build debug and/or release builds - manually invoked or scm triggered - ability to select whether to promote or not, which I use to store artifacts to package repository or a ssh-server depending on job - users want build artifacts for each build - users may not want those artifacts to be used by dependent jobs OR promoted to package repository. For every job, there are 2 sub-jobs to handle the release and debug builds - actual builds are performed in a docker container - there is a shared id (patch number) between the release and debug builds, but again user can disable one or both via build parameter. I can't quite figure out how to do everything in dsl yet and pipeline-dsl even less. First, thing. I have a set of parameters for each job, 1 that is using PersistentParameter plugin. This is needed for manually triggered usage where user can set a value and it is remembered the next time. Looking at the dsl-plugin api viewer, I can see the plugin, but can not make it work. import com.gem.persistentparameter.* job('ci') { description 'Build and test the app.' parameters { stringParam('p1','master','my des') persistentStringParameterDefinition('p2','t123',false, 'help') } scm { github 'sheehan/job-dsl-playground' } steps { gradle 'test' } publishers { archiveJunit 'build/test-results/**/*.xml' } } javaposse.jobdsl.dsl.DslScriptException: (script, line 7) No signature of method: javaposse.jobdsl.dsl.helpers.BuildParametersContext.persistentStringParameterDefinition() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.Boolean, java.lang.String) values: [p2, t123, false, help] How can I achieve this? However, I can port my yaml/logic to dsl and clean things up and hopefully simplified, and I can use gradle to load jobs into jenkins. For pipeline-dsl, I am less sure. Loading Jenkinsfile from scm doesn't fit my situation, but possibly a dsl seedjob to handle it can work. The pipeline-dsl has less features so I will probably be face with similar issues as above. How would I handle? To really clean my jobs up, ideally, would want my parameters moved up to pipeline parameters. Thanks in advance, Doug -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/922678bd-84b2-4a31-8dc4-476a55922b7a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.