我有一个部署工作,试图从另一个工作中找到构建名称。我试图将返回的构建数量限制为仅提升的构建数量。我尝试在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()。
我没有多少经验,也不了解詹金斯的内部情况。你能帮忙吗?感谢。