Jenkins使用Groovy搁置作业
我目前正在编写一个脚本,该脚本应该归档去年未使用的所有作业,我找不到任何命令可以搁置这些作业。 你知道怎么做吗? 这是我的剧本:Jenkins使用Groovy搁置作业,groovy,jenkins,hudson,jenkins-plugins,hudson-plugins,Groovy,Jenkins,Hudson,Jenkins Plugins,Hudson Plugins,我目前正在编写一个脚本,该脚本应该归档去年未使用的所有作业,我找不到任何命令可以搁置这些作业。 你知道怎么做吗? 这是我的剧本: import hudson.model.* jobs = hudson.model.Hudson.instance.items Date date = new Date () currentTimeInMillis = date.getTime(); println "Today is " + date + " In MilSec " + currentT
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()
}
}
}
任何关于我应该添加哪些命令的想法,我知道有一个插件用于此,但我想自动化此过程。选项1:
安装并让Groovy代码调用ShelveProjectTask来执行实际的搁置工作
备选案文2:
阅读的代码,并复制到您的脚本中
选项1听起来更简单、更可靠。您仍然可以享受自动化带来的好处。再加上重用的好处。如何从代码中调用搁置项目插件?它是Java代码。导入它使用的包并实例化ShelveProjectTask对象。你需要做一些代码阅读,以确保你调用了正确的方法。我还没有找到这个插件的源代码,你有什么办法可以发送给我吗?