从Jenkins脚本控制台运行groovy脚本vs Dynamic Choice参数

从Jenkins脚本控制台运行groovy脚本vs Dynamic Choice参数,groovy,jenkins,Groovy,Jenkins,我有一个deployer作业,它试图从另一个作业中查找构建名称。我试图将返回的构建数量限制为仅升级的构建。我尝试在Jenkins脚本控制台中调试我的代码,它似乎可以工作,但是当我将相同的代码放入Dynamic Choice Parameter->Choices脚本中时,我有不同的行为。代码如下: import hudson.model.* import hudson.plugins.promoted_builds.* def getPromotedBuildNames(Job job, Str

我有一个deployer作业,它试图从另一个作业中查找构建名称。我试图将返回的构建数量限制为仅升级的构建。我尝试在Jenkins脚本控制台中调试我的代码,它似乎可以工作,但是当我将相同的代码放入Dynamic Choice Parameter->Choices脚本中时,我有不同的行为。代码如下:

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,这使我的脚本得以编译,但我从getActions()返回了0个结果

我没有什么好经验,也不知道詹金斯的内部情况。你能帮忙吗?谢谢