Чтобы определить источник Mercurial SCM в формате dsl, пользователь может использовать метод mercurialSCMSource, предоставленный плагином DSL, для определения учетных данных, источника и идентификатора.В настоящее время в рамках этого метода mercurialSCMSource вы не можете определить Hg "установка".Следовательно, одним из способов указать параметр «установка» было использование блока настройки.
Когда я использовал блок настройки ТОЛЬКО для определения «установки», он создавал 2 разных узла «BranchSource», как указано в снимке экрана xml.выше.Таким образом, другим способом решения этой проблемы было использование блока конфигурации для определения всего mercurialSCMSource, который включает в себя учетные данные, источник и установку (что мне было нужно).Таким образом, он сгенерировал правильное задание (или config.xml)
ПРИМЕЧАНИЕ. Это исправление также учитывает «Append (<<) не работающий с атрибутами», упомянутый в этом посте: <code>https://github.com/jenkinsci/job-dsl-plugin/wiki/The-Configure-Block
Надеюсь, это поможет !!!
configure { project ->
def node_base = (project / sources / data / 'jenkins.branch.BranchSource' (plugin: 'branch-api@2.0.20') / 'source' (plugin: 'mercurial@2.3' , class: 'hudson.plugins.mercurial.MercurialSCMSource'))
node_base << {
source 'https://somerepolink'
credentialsId 'username'
}
node_base << 'traits' {
'hudson.plugins.mercurial.traits.MercurialInstallationSCMSourceTrait'{
installation 'TortoiseHg-4.5.2-x64'
}
}
}