私は毎日100ジョブ実行しているhudsonインスタンスを実行しています。Hudson/jenkins:ビルドが1ヶ月以上経過しているジョブのリストを取得
最後に成功したジョブがx日前だったジョブのリストを取得したいので、そのような不要なジョブを無効にすることができます。
例:ハドソンには、最後に成功したビルドがあり、もはや必要ではない仕事があります。私は、古い仕事のリストを照会して取得する方法が必要です。
私は毎日100ジョブ実行しているhudsonインスタンスを実行しています。Hudson/jenkins:ビルドが1ヶ月以上経過しているジョブのリストを取得
最後に成功したジョブがx日前だったジョブのリストを取得したいので、そのような不要なジョブを無効にすることができます。
例:ハドソンには、最後に成功したビルドがあり、もはや必要ではない仕事があります。私は、古い仕事のリストを照会して取得する方法が必要です。
次のスクリプトでは、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のためのものです。あなたはHudsonのためにそれを少し修正する必要があります。
私はhudsonに感謝@jonに合うように@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