【问题标题】:How to get last successful build from jenkins job using hudson classes and groovy如何使用 hudson 类和 groovy 从詹金斯工作中获得最后一次成功的构建
【发布时间】:2017-06-16 20:26:22
【问题描述】:

我正在尝试从 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)

在最后添加 .* 之前,我的 import 语句出现错误,我还尝试像这样调用该方法: Run.getPreviousFailedBuild() 但是,这将导致没有此类属性的 Run 异常。

我需要什么才能访问我以前构建的 Hudson 类,以便我可以发送我需要的信息。

【问题讨论】:

    标签: jenkins groovy hudson


    【解决方案1】:

    使用execute system groovy script

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

    【讨论】:

    • 这对我有用,但我需要 getLastSuccessfullBuild() 代替,但是谢谢你的帮助,没有你就做不到
    【解决方案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
    

    【讨论】:

    • 如果您格式化建议的代码并添加任何解释可能会更好
    猜你喜欢
    • 1970-01-01
    • 2012-06-24
    • 2021-11-14
    • 1970-01-01
    • 2016-10-31
    • 2012-01-08
    • 2020-07-04
    • 2013-07-13
    • 1970-01-01
    相关资源
    最近更新 更多