2014-09-21 41 views
0

我目前正在编写一个脚本,应该归档所有未曾使用过的工作,我找不到任何应该搁置这些工作的命令。 任何想法如何做到这一点? 这里是我的脚本:Jenkins Shelving使用Groovy的作业

import hudson.model.* 


jobs = hudson.model.Hudson.instance.items 
Date date = new Date() 
currentTimeInMillis = date.getTime(); 
println "Today is " + date + " In MilSec " + currentTimeInMillis 


def milSecondInSecond = 1000 
def secondsInMinute = 60 
def monutesInHour = 60 
def secondsInHour = secondsInMinute*monutesInHour 
def hoursInDay = 24 
def minutesInDay = monutesInHour * hoursInDay 
def secondsInDay = minutesInDay*secondsInMinute 
def daysInYear = 365.242199 
def hoursInYear = daysInYear*hoursInDay 
def minutesInYear = hoursInYear*monutesInHour 
def secondsInYear = minutesInYear*secondsInMinute 
def milSecondsInYear = secondsInYear*milSecondInSecond 
println "The milSeconds in year is " + milSecondsInYear 

for (job in jobs) { 
    lastbuild = job.getLastBuild() 
    if (lastbuild != null) { 
     lastbuildInMilSeconds = lastbuild.getTimeInMillis() 
     def dif = currentTimeInMillis - lastbuildInMilSeconds 
     if (dif > milSecondsInYear) { 
      println job.getDisplayName() + " " + lastbuild.getTimeInMillis() 

     } 
    } 

} 

任何想法,哪些命令要我加,我知道有这个插件,但我想自动化这个proccess。

回答

0

选项1:

安装Shelve Project Plugin,有你的Groovy代码调用ShelveProjectTask做实际的架子工作

选项2:

请阅读Shelve Project Plugin代码和重现它在你的脚本中。

选项1听起来更容易,更可靠。您仍然可以获得自动化的好处。再加上重用的好处。

+0

如何从我的代码中调用'Shelve Project Plugin'? – user3502786 2014-10-06 05:16:28

+0

这是Java代码。您导入它使用的软件包并实例化ShelveProjectTask对象。您需要阅读一些代码,以确保您调用正确的方法。 – 2014-10-07 00:40:41

+0

我还没有找到这个插件的来源,有什么办法可以寄给我吗? – user3502786 2014-10-07 05:20:31

相关问题