Я использую Jenkins версии 1.658 и плагин Job DSL в версии 1.43, я работаю над преобразованием существующего задания Pipeline в задание, сгенерированное DSL.В исходной работе был раздел «конвейерный скрипт из SCM», и я не могу найти код для его создания в DSL.Я знаю, что в новых версиях плагина DSL у меня есть конфигурация cpsScm, которая работает для этого раздела, но она не подходит для используемой версии.Поэтому я попытался создать это с помощью раздела конфигурации в коде, когда я заявляю версии плагинов, которые используются в работе.
Вот одна из моих попыток:
configure {
def workflow = it / 'org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition' (plugin: 'workflow-cps@2.23') {
workflow << it / 'scm' / 'hudson.plugins.git.GitSCM' (plugin: 'git@3.0.3') {
configVersion 2
}
}
Вот как эта часть выглядит в config.xml задания Jenkins, над которым я работаю:
<flow-definition plugin="workflow-job@2.9">
.
.
.
<definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.23">
<scm class="hudson.plugins.git.GitSCM" plugin="git@3.0.3">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<url>https://github.com/XXXXX.git</url>
<credentialsId>XXXXX</credentialsId>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<submoduleCfg class="list"/>
<extensions/>
</scm>
<scriptPath>buildScripts/workflow_deploy.groovy</scriptPath>
</definition>
<triggers/>
</flow-definition>
Когда я пытаюсь создать задание с использованием этого кода, он добавляет «конвейер»скрипт "box вместо" конвейерный скрипт из SCM ".Я знаю, что это очень специфический случай, и версии старые, но я просто пытаюсь выяснить, как этот вложенный класс внутри класса можно преобразовать в код DSL.
спасибо!