Thanks for the detailed followup! Lots to digest. It looks like you were 
having trouble accessing the Shared Library from generated pipeline 
scripts, which is a little different from my problem: I want to reference 
YAML data files stored in the Jenkins Shared Library from inside a Job DSL 
script, but now it appears that's not possible (at least I don't see 
anything like @Library for the Job DSL API), so I think I also need to 
rework the overall logic for my build environment. 

On Tuesday, December 18, 2018 at 4:27:57 AM UTC-8, [email protected] wrote:
>
> Well, not exactly. I found a workaround by reworking the entire logic.
>
> My landscape is: one master declarative pipeline kicks off multiple child 
> pipeline jobs. 
> Both the master and the child pipelines are instances created out of 
> shared libraries (jobBuilder, pipelineBuilder) and I want to be able to run 
> the child items as standalone pipelines (in isolation) as well as running 
> them from master pipeline context (different params).
>
> The child job's Jenkins file looks like this (the syntax is not 
> declarative but scripted - the shared library is loaded on the first line):
>
> library identifier: 
> 'templates@branches/rel/10.4.0.x/build/change-management/jenkinsfiles/templates',
>  
> retriever: modernSCM([$class: 'SubversionSCMSource', remoteBase: 'SVN', 
> credentialsId: 'USER'])
>
> stage('Run Test Suite') {
>     jobBuilder {
> nodeLabels = 'linux'
> antExtraArgs = 'test -Dtest.suite=com.pcbsys.suites.nJMS.PromotionTests'
> jobTimeoutHours = 3
> }
> }
>
>
> jobsdsl syntax was used only to create the actual Jenkins child pipeline:
>
> script {
>     for (String jobName : allJobs) {
>         jobDsl scriptText: """
>             
> pipelineJob('${nirvanaMajor}.${nirvanaMinor}_${devJobPrefix}${jobName}') {
>                  parameters {
>                     stringParam('branch','${svnBranch}','svn repository 
> url')
>                     stringParam('buildmajor',"${nirvanaMajor}",'release 
> major identifier')
>                     stringParam('buildminor',"${nirvanaMinor}",'release 
> minor identifier')
>                     stringParam('fix', '${env.fix}','fix level')
>                     stringParam('buildnumber', 
> '${env.buildNumber}','artifacts build number')
>                     stringParam('revision', '${env.buildNumber}','checkout 
> revision')
>                     stringParam('parentjob', '${pipelineName}','optional 
> parent job')
>                 }
>                 removedJobAction: 'IGNORE'
>                 definition {
>                     cpsScm {
>                         scm {
>                             svn {
>                                 location ('${svnBranch}/${jobName}') {
>                                     credentials('user')
>                                 }
>                             }
>                         }
>                         scriptPath('Jenkinsfile') 
>                     }
>                 }
>             }
>             """.stripIndent()
>     }
> }
>
> On Monday, December 17, 2018 at 11:51:39 PM UTC+2, Philip Steiner wrote:
>>
>> Hi tre..., I know this thread is getting old, but did you ever get an 
>> answer or figure out how to use a Jenkins Shared Library in the Job DSL 
>> script, or some workaround?
>>
>> Thanks
>> Philip
>>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/8b6b6b48-7a95-43a3-9cfc-112c51ead9f0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to