【发布时间】:2017-11-02 01:57:17
【问题描述】:
我有一个使用 Active Choices 插件的 Jenkins 工作,其中包含 3 个参数(环境、分支、版本)。如果开发人员正在部署到 Prod - 我不希望他们能够从主干推送构建。目前params的依赖是这样的Environment -> Branch -> Version。
当页面加载时,默认显示 DEV,这允许从主干或发布部署以及为选择构建的任何工件,但是当我将环境更改为 PROD - 我希望 Branch 刷新以仅显示 release(确实如此),但 Version 不会更新并继续显示来自 trunk 的工件。
环境参数
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()
【问题讨论】:
标签: jenkins groovy jenkins-plugins