jenkins - 如何在詹金斯管道中获取输入步骤输出
问题描述
我在管道中使用了输入步骤,如下所示:
input(
message : "some message",
parameters: [
[$class: 'ChoiceParameterDefinition',
choices: string ,
description: 'description',
name:'input'
]
]
)
我想使用我配置的名称输入来获取输入中的值,例如 ${input},但它不起作用。我还尝试将它放在这样的 var 中:
def reg = input : messages : "", paramaters: [...]
但它也不起作用,所以我不明白如何获得用户选择的参数并且在 do.xml 中找不到如何做。
问候,
解决方案
使用时ChoiceParameterDefinition
请记住将选项定义为以 . 分隔的字符串\n
。您可以将input(...)
逐步返回的值分配给变量并稍后使用它。看看下面的例子:
node {
stage('Test') {
def reg = input(
message: 'What is the reg value?',
parameters: [
[$class: 'ChoiceParameterDefinition',
choices: 'Choice 1\nChoice 2\nChoice 3',
name: 'input',
description: 'A select box option']
])
echo "Reg is ${reg}"
}
}
在这个例子中,我定义了一个带有 3 个选项的选择。当我运行这个管道时,我得到这个弹出窗口来选择三个选项之一:
我选择第一个,管道完成以下控制台输出:
[Pipeline] node
Running on Jenkins in /var/jenkins_home/workspace/test-pipeline
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] input
Input requested
Approved by admin
[Pipeline] echo
Reg is Choice 1
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
推荐阅读
- html - 垂直居中一个项目,另一个底部对齐动态高度(flexbox)
- vba - 为什么“Application.ScreenUpdating = False”不起作用?
- python - 在网站的指定部分查找主题标签
- sql - 如何在 Oracle SQL 中传递百分比变量
- json - 使用 MVC5 Ajax 和 Json 在单个调用上绑定多个选择列表
- haskell - 如何创建一种新型解析器?
- c# - Autofac 解析不在表示层中的对象
- asp.net - 具有 UseDefaultCredentials 的 HttpClient 的单个实例
- python - 如何根据过滤的总和合并两个 DataFrame?
- git - 如何在不覆盖更改集中的文件更改的情况下撤消 VS 中的分阶段更改?