2014-09-21 6 views
0

저는 작년에 사용되지 않은 모든 작업을 보관해야하는 스크립트를 작성 중입니다. 작업을 보류해야하는 명령을 찾을 수 없습니다. 어떻게 할 수 있습니까? 여기 내 스크립트입니다Jenkins Shelving jobs using 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() 

     } 
    } 

} 

나는 이것에 대한 플러그인이 있다는 것을 알고,하지만 난이 였는지를 자동화하려면, 추가해야합니다 명령을 어떤 생각.

답변

0

옵션 1 :

Shelve Project Plugin에 대한 코드를 읽고 재생 :

옵션 2 Shelve Project Plugin를 설치하고 실제 선반 작업을 수행하도록 그루비 코드를 호출 ShelveProjectTask이 그것은 당신의 대본에 있습니다.

옵션 1 소리가 훨씬 쉽고 안정적입니다. 당신은 여전히 ​​자동화의 이점을 얻습니다. 또한 재사용의 이점.

+0

내 코드에서 어떻게 'Shelve Project Plugin'을 호출합니까? – user3502786

+0

Java 코드입니다. 사용하는 패키지를 가져오고 ShelveProjectTask 개체를 인스턴스화합니다. 올바른 방법으로 전화를 걸려면 코드를 약간 읽어야합니다. –

+0

이 플러그인의 소스를 찾지 못했습니다. 저에게 보낼 수있는 방법이 있습니까? – user3502786