如何使用hudson类和groovy从jenkins作业获得最后的成功构建

时间:2017-06-16 20:26:22

标签: jenkins groovy hudson

我正试图从jenkins的一个工作中获得最后一次成功的构建,这样当另一个条件满足时,该构建的详细信息将被传递给另一个工作。我正在尝试使用Hudson的Run类,因为它有方法来获得最后一次成功的构建,但是我无法编译它。由于我的所有构建都失败了,现在我使用的是getPreviousFailedBuild(),但是稍后它将被交换成功构建。目前我有这个:

import hudson.model.Run.*

def lastFailedBuild = getPreviousFailedBuild()

目前,当我尝试运行脚本时,我收到此错误消息

Caught: groovy.lang.MissingMethodException: No signature of method: hudson7682146427918660061.getPreviousFailedBuild() is applicable for argument types: () values: [] at hudson7682146427918660061.run(hudson7682146427918660061.groovy:5)

我在导入语句中遇到错误,直到最后添加了.*,我也尝试调用这样的方法: Run.getPreviousFailedBuild()但是这会导致没有这样的属性运行异常。

为了访问我之前构建的Hudson类,我需要具备什么才能发送我需要的信息。

2 个答案:

答案 0 :(得分:2)

使用execute system groovy script

def lastSuccess = build.getProject().getLastSuccessfulBuild()

答案 1 :(得分:2)

import jenkins.model.Jenkins

def test_job = Jenkins.instance.getItemByFullName("My-Test-Dev")

last_sucessful_build_number=test_job.getLastSuccessfulBuild().getNumber()   

println last_sucessful_build_number