我有一个带有3个参数的Jenkins作业(环境,分支,版本)使用Active Choices插件。如果开发人员正在部署到Prod - 我不希望他们能够从主干推送构建。目前,params的依赖性看起来像环境 - >分支 - >版本
当页面加载时,它默认显示 DEV ,这允许从主干或发布部署以及为选择构建的任何工件,但是当我将环境更改为 PROD - 我希望分支刷新只显示发布(它确实如此),但版本不会更新并继续显示来自主干的工件。
环境参数
return[
'DEV:selected',
'QA',
'BIZ',
'DEMO',
'PROD'
]
分支参数(Try / Catch是我在首次加载时可以显示的唯一方法)
try{
switch(Environment){
case~/.*PROD.*/:
return ['release']
break
default:
return ['trunk','release']
break
}
} catch (all) {
return ['trunk','release']
}
版本参数
def content = newURL("https://{{MyArtifactsUri}}/$Branch/").text
assert content, "Empty."
def json = new groovy.json.JsonSlurper().parseText(content)
return json.name.reverse()
答案 0 :(得分:0)
版本应定义为主动选择反应参数(单选)。
正如我从您的问题中所理解的,版本取决于环境和分支的价值。
您需要编写一些groovy脚本(或使用预定义的Scriptler脚本),该脚本获取Environment和Branch的值,并返回适当的(已过滤的?)可用版本列表供用户选择。