根据我的经验,这是一个完全手动的重写过程.参考资料位于https://jenkinsci.github.io/job-dsl-plugin/#.
xml中的许多元素都是默认的,因此可以跳过大部分xml.如果DSL不直接支持您已配置的插件的插件或功能,则只需要逐个元素地转换xml.
转换过程如下:
浏览每个配置的属性(通过Jenkins GUI),例如"Discard old builds".
确定DSL是否具有该元素的本机支持.如果是这样,请在DSL中重写它.例如,logRotator提供"Discard old builds"功能.
如果DSL不直接支持,则必须手动使用configure输出xml.这非常棘手,如果可能的话应该避免.
如果您不确定哪个插件提供了job元素,您通常可以在该元素的帮助文本中看到插件名称(单击小问号图标).否则,xml元素通常包含插件名称.
另外要知道的是,作业元素在DSL中以与在Jenkins的配置屏幕上相同的方式分解.因此,如果它是触发器,那么您可以在触发器的DSL中找到它.
简单的例子(我知道,你的事情要复杂得多):
freeStyleJob("Arthur's Example") { description('Description') logRotator(30) }