Я создаю работу трубопровода jenkins, чтобы посеять задания, используя плагин dzl для работы с jenkins. Как получить путь рабочей области внутри файла dsl? код Дженкинс трубопровод как таковойКак получить путь рабочей области в задании dsl внутри конвейера?
#!groovy
node{
stage("build jobs"){
ws{
git poll: true, credentialsId: 'xxxxx', url: 'ssh://[email protected]:/xxx/xxx-xxxx-xxxxx.git'
checkout scm
jobDsl(removedJobAction: 'DISABLE', removedViewAction: 'DELETE', targets: 'jobs/*.groovy', unstableOnDeprecation: true)
}
}
}
и DSL-код, который не удается это:
hudson.FilePath workspace = hudson.model.Executor.currentExecutor().getCurrentWorkspace()
с ошибкой
Processing DSL script pipeline.groovy
java.lang.NullPointerException: Cannot invoke method getCurrentWorkspace() on null object
at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:35)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at pipeline.run(pipeline.groovy:1)
at pipeline$run.call(Unknown Source)
Переменные, создаваемые в зоне трубопровода не, доступные внутри задания dsl step
Возможный дубликат [Как получить текущее рабочее пространство с помощью Jenkins Pipeline Groovy скрипт?] (Http://stackoverflow.com/questions/37846028/how-to-retrieve-current-workspace-using-jenkins-pipe-groovy-script) – StephenKing
Возможный дубликат [Получить абсолютный путь к каталогу рабочей области в плагине Jenkins Pipeline] (http: // stackoverflow.com/questions/36934028/get-absolute-path-to-workspace-directory-in-jenkins-pipe-plugin) –