如何在Jenkins上触发非活动作业(使用ScriptTrigger插件和Groovy)?

时间:2015-11-29 23:21:27

标签: groovy jenkins triggers

我们在Jenkins配置了几百个项目,我们希望触发非活动作业以检查它们是否仍然可以。 (例如,检查依赖性范围是否正常,如果出现新的依赖性版本,则不会导致失败)

“不活跃”是指目前尚未开发的工作,因此没有提交。 (所以SCM触发器不起作用......)

目前的解决方案是在晚上到周一建立所有工作;) - 但这会在Jenkins上产生很高的负载,并且在构建期间大规模热部署期间也会造成一些麻烦......

所以我的想法是使用ScriptTrigger Plugin并仅在最后一次构建时间(例如一周)时触发构建。

我们有一个Groovy脚本,显示哪些作业处于非活动状态:

def now = Calendar.instance.time.time;

for (item in Hudson.instance.items) { 
    def days = (now - item.getLastBuild().time.time) / 86400000;
    def inactive = days > 7;

    println(item.toString() + "\t" + days + "\t" + inactive);
}

此脚本在Jenkins脚本控制台上运行完美。

但我们不知道如何采用它来使其与ScriptTrigger插件一起使用,因为我们不知道如何访问作业。 - 在这种情况下变量item ......

我们尝试过:

//println(job);
//println(module);
//println(lastBuild);
//println(project);

那么如何访问作业和lastBuild?

或者是否有更好的方法可以在没有提交的情况下触发(仅)工作?

0 个答案:

没有答案