从Jenkins脚本控制台运行groovy脚本vs Dynamic Choice参数
我有一个deployer作业,它试图从另一个作业中查找构建名称。我试图将返回的构建数量限制为仅升级的构建。我尝试在Jenkins脚本控制台中调试我的代码,它似乎可以工作,但是当我将相同的代码放入Dynamic Choice Parameter->Choices脚本中时,我有不同的行为。代码如下:从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
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个结果
我没有什么好经验,也不知道詹金斯的内部情况。你能帮忙吗?谢谢