2014-09-21 61 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