Hey,
I am looking for advice how to achieve usage of Jenkins shared library in
Job DSL –
I use this snipped to seed a job whose functionality is in Jenkins file:
job('my-small-test-job') {
parameters {
stringParam('branch', '${branch}')
}
removedJobAction: 'IGNORE'
def releaseScript = readFileFromWorkspace('Jenkinsfile')
steps {
dsl {
text(releaseScript)
}
}
}
The newly created [my-small-test-job] has this content (taken out of the
Jenkinsfile):
@Library('templates')_
stage('Demo') {
echo 'Hello world'
jobBuilder {
nodeLabels = 'linux && test'
antExtraArgs = 'test
-Dtest.suite=com.softwareag.suites.custom.ToolsTestSuite'
}
}
I have a shared library under [templates] that is a generic job builder
(the syntax is typical groovy like jenkins pipeline, similar to what is
explained here: https://jenkins.io/doc/book/pipeline/shared-libraries/)
When I try to run the newly created [my-small-test-job] I get this:
Processing provided DSL script
ERROR: startup failed:
script: 1: unable to resolve class Library , unable to find class for
annotation
@ line 1, column 1.
@Library('templates')_
^
1 error
The shared library is obviusly not added to classpath. How do I fix this?
--
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/6e3b23aa-873b-40c6-9859-c5cd7356611f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.