大家 , 我 正在 使用 插件 " Active Choices " 在 我 的 Jenkins , 我 尝试 做 一些 条件 , 并 返回 基于 环境 主机 , 将 在 shell 命令 中 执行 我 的 Jenkins 文件 。 命令 像 " echo ${BUILD _ ENVIRONMENT} , echo ${BUILD _ VERSION} .. etc " 。
已经 这样 做 了 , 但 列表 仍然 是 空 的 。 现在 , 我 必须 做 什么 才 能 让 这个 工作 ? 谢谢 。
Jenkins 文件 :
properties([
parameters([
[$class: 'ChoiceParameter',
choiceType: 'PT_SINGLE_SELECT',
name: 'ENVIRONMENT',
description: 'Select Environment',
script: [
$class: 'GroovyScript',
script: [
classpath: [],
sandbox: true,
script: '''
def getEnvVar(String name) {
return sh(script: "echo \${$name}", returnStdout: true).trim()
}
def env = getEnvVar("ENVIRONMENT")
if (envs != "testing") {
return ["stage", "dev", "prod"]
}else{
return ["testing"]
}
''',
],
]
]
])
])
中 的 每 一 个
输出 :
1条答案
按热度按时间vbkedwbf1#
我 用 另 一 种 解决 方案 来 解决 它 , 但 也许 不 是 最 好 的 选择 。
首先 创建 一 个 方法 来 加载 env 文件 ( 我 在 上面 设置 了 值 ) , 然后 定义 到 jenkins 全局 变量 。
中 的 每 一 个
然后 在 活动 选择 参数 中 使用
${env.BUILD_ENVIRONMENT}
调用 " BUILD _ ENVIRONMENT " :格式