从Jenkins脚本控制台和动态选择参数运行groovy脚本

时间:2014-11-26 15:44:20

标签: groovy jenkins

我有一个部署工作,试图从另一个工作中找到构建名称。我试图将返回的构建数量限制为仅提升的构建数量。我尝试在Jenkins脚本控制台中调试我的代码,它似乎工作,但是当我在Dynamic Choice Parameter中添加相同的代码时 - >选择脚本我有不同的行为。这是代码:

import hudson.model.*
import hudson.plugins.promoted_builds.*

def getPromotedBuildNames(Job job, String promotionName) {
    def buildNames = []
    (job.getBuilds()).each { build ->
        (build.getActions(PromotedBuildAction)).each { action ->
            if (action.contains(promotionName)) {
                buildNames.add(build.displayName)
            }
        }
    }
    return buildNames
}

def job1 = findJobByName(...)

return getPromotedBuildNames(job1, "PROMOTED")

我遇到的一个问题是脚本失败,因为没有定义PromoteBuildAction.class。我使用了动态选择参数 - >类路径并将其设置为 /var/lib/jenkins/plugins/promoted-builds/WEB-INF/lib/promoted-builds.jar 这使我的脚本编译,但是我从0收到0结果的getActions()。

我没有多少经验,也不了解詹金斯的内部情况。你能帮忙吗?感谢。

0 个答案:

没有答案