使用jenkins-job-dsl将新视图添加到现有嵌套视图

mklgxw1f  于 2023-04-19  发布在  Jenkins
关注(0)|答案(1)|浏览(217)

bounty还有7天到期,回答此问题可获得+100声望奖励,Vivek Gupta正在寻找规范答案:寻找一个适当的和描述性的解决我的问题。

我试图在Jenkins中创建一个freestyle job,我将使用它来动态创建视图,在nested view下,目前我处于POC模式,所以这样尝试:
我将下面的script添加到作业中并执行它:

nestedView('nested') {
    views{
        sectionedView('automated-view1') {
            sections {
                listView {
                    name('Build Jobs')
                    jobs {
                        regex(/project-A-.*/)
                    }
                    columns {
                        status()
                        weather()
                        name()
                        lastSuccess()
                        lastFailure()
                    }
                }
            }
        }
    }
}

此执行创建了一个嵌套视图,其中包含一个剖视图:

此外,对于第二次运行,我想将另一个视图添加到相同的嵌套视图中,因此 * 我更改了截面视图的名称并保持嵌套视图的名称不变 *,期望它将新的截面视图添加到现有的嵌套视图中,这是第二次运行执行的脚本-

nestedView('nested') {
    views{
        sectionedView('automated-view2') {
            sections {
                listView {
                    name('Build Jobs')
                    jobs {
                        regex(/project-A-.*/)
                    }
                    columns {
                        status()
                        weather()
                        name()
                        lastSuccess()
                        lastFailure()
                    }
                }
            }
        }
    }
}

因此,不是添加新的剖视图,而是覆盖了已添加的视图,只保留新的剖视图,并删除了前一个剖视图,如下所示:

有人能建议一下使用dsl在嵌套视图下添加新视图需要做什么吗?

iqih9akk

iqih9akk1#

它不会添加新的剖视图,而是替代了已添加的视图
如果您使用的作业的构建步骤为“Process Job DSLs”,则需要将以下选项设置为“Ignore”:

*已删除作业的操作
*删除视图的操作
*删除配置文件的操作

这样,当使用不同的参数第二次运行脚本时,您就有机会保留之前创建的内容。

相关问题