Hudson/jenkins:获取构建早于一个月的作业列表
Hudson/jenkins: Get list of jobs who's build is older than a month
我有一个 hudson 实例 运行,我每天有 100 个作业 运行。
我想获取上次成功的作业是 x 天前的作业列表,以便我可以禁用此类不需要的作业。
示例:hudson 上有一些作业,这些作业上次成功构建是在一年前,现在不再需要了。我想要一种查询和获取旧作业列表的方法。
以下脚本将列出所有超过 30 天的作业(将第一个变量更改为不同的天数):
// Set how old the jobs to list should be (in days)
def numDaysBack = 30
def cutOfDate = System.currentTimeMillis() - 1000L * 60 * 60 * 24 * numDaysBack
for (job in Jenkins.instance.getAllItems(Job.class)) {
build = job.getLastSuccessfulBuild()
if (build != null && build.getTimeInMillis() < cutOfDate) {
println job.getFullName()
}
}
您可以通过管理 Jenkins -> 脚本控制台来执行它。这是为 Jenkins 准备的,您可能需要为 Hudson 稍微调整一下。
我修改了@Jon 的post,以适应哈德森,谢谢@jon。
下面是 hudson 的脚本。
// Set how old the jobs to list should be (in days)
def numDaysBack = 30
def cutOfDate = System.currentTimeMillis() - 1000L * 60 * 60 * 24 * numDaysBack
//Initiallize it to zero
def oldJobsNumber = 0
def size = hudson.model.Hudson.instance.getItems().size()
println "Total Number of Jobs on hudson :" + size
for (i=0;i<size;i++){
def allJob= hudson.model.Hudson.getInstance().getItems().get(i).getAllJobs()
def job =new ArrayList(allJob).get(0)
if (job != null && job .getLastBuild() != null && job.getLastBuild().getTimeInMillis() < cutOfDate) {
println job.getFullName()
oldJobsNumber++
}
}
println oldJobsNumber
我有一个 hudson 实例 运行,我每天有 100 个作业 运行。
我想获取上次成功的作业是 x 天前的作业列表,以便我可以禁用此类不需要的作业。
示例:hudson 上有一些作业,这些作业上次成功构建是在一年前,现在不再需要了。我想要一种查询和获取旧作业列表的方法。
以下脚本将列出所有超过 30 天的作业(将第一个变量更改为不同的天数):
// Set how old the jobs to list should be (in days)
def numDaysBack = 30
def cutOfDate = System.currentTimeMillis() - 1000L * 60 * 60 * 24 * numDaysBack
for (job in Jenkins.instance.getAllItems(Job.class)) {
build = job.getLastSuccessfulBuild()
if (build != null && build.getTimeInMillis() < cutOfDate) {
println job.getFullName()
}
}
您可以通过管理 Jenkins -> 脚本控制台来执行它。这是为 Jenkins 准备的,您可能需要为 Hudson 稍微调整一下。
我修改了@Jon 的post,以适应哈德森,谢谢@jon。
下面是 hudson 的脚本。
// Set how old the jobs to list should be (in days)
def numDaysBack = 30
def cutOfDate = System.currentTimeMillis() - 1000L * 60 * 60 * 24 * numDaysBack
//Initiallize it to zero
def oldJobsNumber = 0
def size = hudson.model.Hudson.instance.getItems().size()
println "Total Number of Jobs on hudson :" + size
for (i=0;i<size;i++){
def allJob= hudson.model.Hudson.getInstance().getItems().get(i).getAllJobs()
def job =new ArrayList(allJob).get(0)
if (job != null && job .getLastBuild() != null && job.getLastBuild().getTimeInMillis() < cutOfDate) {
println job.getFullName()
oldJobsNumber++
}
}
println oldJobsNumber