我怎样才能找到30天前最后建造的詹金斯工作

时间:2017-07-25 18:50:44

标签: jenkins jenkins-api

我想找出30天前建造的jenkins的工作,并且从30天开始就没有建造。

是否有任何其他api或类似的东西可以帮助我做到这一点。

2 个答案:

答案 0 :(得分:1)

Jenkins API:{JENKINS_URL}/job/{JOB_NAME}/api/json?tree=allBuilds[url,result,timestamp,name,description,actions]
将为您提供迄今为止针对该工作运行的所有构建版本。然后,您可以使用JAVA或首选代码语言迭代此JSON,以匹配您的案例时间戳中的搜索条件。

答案 1 :(得分:0)

您可以使用Jenkins脚本控制台。 例如,这是一个代码,显示已定义构建步骤的构建。

def findBuildContainStep(searchClass) {
def jobs = jenkins.model.Jenkins.instance.getAllItems(AbstractProject.class).toArray()
for(int j = 0 ; j < jobs.size(); j++) {
    if (jobs[j].class == hudson.model.FreeStyleProject.class) {
        def steps = jobs[j].getActions().toArray()
        for(int s = 0 ; s < steps.size(); s++) {
            if (steps[s].class == searchClass) {
                println(jobs[j].getName())
            }
        }
        steps = jobs[j].getPublishers()
        steps.each {
       // somewhere here should be your condition  
            if (it.getValue().class == searchClass) {
                println(jobs[j].getName())
            }
        }
    }
  }
}
  findBuildContainStep(org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder.class)