首页 > 解决方案 > Jenkins Pipeline 脚本中逻辑 Groovy 运算符的问题

问题描述

我在“Active Choice (Uno) Plugin”的 Groovy 脚本中有复合 if 条件。

对于两个条件检查,它工作正常;但是当我有 3 个条件要检查时失败。

注意:Locat、Envir 和 regio 是此管道中的参数。

下面的工作正常。

if (Locat.equals("Dub") && Envir.equals("Dev")) {
return["DD1", "DD2", "DD3", "DD4"]
} else if (Locat.equals("Dub") && Envir.equals("Production")) {
return["DP1", "DP2"]
} else {
return ["Select an IP from the drop-down"]
} 

当我添加第三个条件并且插件回退到我们指定的错误消息时,以下失败。

if (Locat.equals("Dub") && Envir.equals("Dev") && region.equals("PRD")) {
return["DD1", "DD2", "DD3", "DD4"]
} else if (Locat.equals("Dub") && Envir.equals("Production")) {
return["DP1", "DP2"]
} else {
return ["Select an IP from the drop-down"]
} 

此外,复合和/或分组条件例如在下面失败。

if (Locat.equals("Dub") && (Envir.equals("Dev") || region.equals("PRD"))) {

我试图找到如何为 Groovy 脚本编写复合条件语句,但没有找到任何文章显示 Groovy 脚本中的 3 个或超过 3 个条件检查。

需要帮助。

标签: jenkinsgroovyjenkins-pipelinelogical-operatorsjenkins-groovy

解决方案


推荐阅读