gpt4 book ai didi

Jenkins管道条件阶段,使用 "When"作为选择参数

转载 作者:行者123 更新时间:2023-12-04 22:39:56 24 4
gpt4 key购买 nike

我正在尝试建立一个 Jenkins 管道,其中我有一个带有n个选择的选择参数,并且想要创建一个stage,当从choice参数中选择了一些值时,它会执行某些操作
我有类似下面的内容,但似乎无法正常工作。

#!/usr/bin/env groovy

pipeline {

agent any

parameters {

choice(
choices: 'a\nb\n\c\n\d\ne\nf',
description: 'name of the student',
name: 'name'
)
}
stages {
stage ('callNames') {

when {
expression { params.name == 'a|d|f' }
}
steps{
echo "selected name is: ${name}"
//do something

}
}
}
}

因此,当参数 do something的选定值是 namead时,我想 f对于以上内容,我没有收到任何错误,但是我在控制台输出中看到了这一点

在构建过程中选择值 Stage 'callNames' skipped due to when conditional时的 a/d/f
请让我知道这里缺少什么
提前致谢

最佳答案

您的when表达式有错误。如果参数的name值为'a',则您正在比较代码中的字符串'a' == 'a|d|f',即false

你可能想做

when {
expression {
params.name == 'a' ||
params.name == 'd' ||
params.name == 'f'
}
}

或者,如果您喜欢oneliner,则可以使用正则表达式
when {
expression {
params.name ==~ /a|d|f/
}
}

关于Jenkins管道条件阶段,使用 "When"作为选择参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50381586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com