0

团队,

我想找出 30 天前在 jenkins 中构建的工作,并且自 30 天以来还没有构建。

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

4

2 回答 2

1

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

于 2017-07-25T20:57:09.097 回答
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)
于 2017-07-25T21:50:05.237 回答