在Jenkins管道中,我想为用户提供一个选项,让用户在运行时给予交互式输入。我想了解我们如何在groovy脚本中读取用户输入。请求帮助我们提供一个示例代码:
我指的是以下文档:https://jenkins.io/doc/pipeline/steps/pipeline-input-step/
编辑-1:
经过几次试验,我终于成功了:
pipeline {
agent any
stages {
stage("Interactive_Input") {
steps {
script {
def userInput = input(
id: 'userInput', message: 'Enter path of test reports:?',
parameters: [
[$class: 'TextParameterDefinition', defaultValue: 'None', description: 'Path of config file', name: 'Config'],
[$class: 'TextParameterDefinition', defaultValue: 'None', description: 'Test Info file', name: 'Test']
])
echo ("IQA Sheet Path: "+userInput['Config'])
echo ("Test Info file path: "+userInput['Test'])
}
}
}
}
}
在本例中,我可以回显(打印)用户输入参数:
echo ("IQA Sheet Path: "+userInput['Config'])
echo ("Test Info file path: "+userInput['Test'])
但是我不能将这些参数写入文件或将它们赋值给变量,我们如何才能做到这一点呢?
4条答案
按热度按时间tyky79it1#
要保存到变量和文件,请根据您所拥有的内容尝试以下操作:
vcudknz32#
这是input()用法的最简单示例。
在您单击“继续”或“中止”之前,作业将在暂停状态下等待用户输入。
有更多的高级用法来显示参数列表并允许用户选择一个参数。基于选择,您可以编写groovy逻辑以继续并部署到QA或生产。
以下脚本呈现一个下拉列表,用户可以从中进行选择
您还可以使用
StringParameterDefinition
、TextParameterDefinition
或BooleanParameterDefinition
以及链接中提到的许多其他名称2ekbmq323#
解决方案:为了在jenkins管道上设置、获取和访问作为变量的用户输入,您应该使用 ChoiceParameterDefinition,并附加一个快速工作片段:
46qrfjad4#
您可以使用
输入步骤插件
要在运行时暂停jenkins管道并请求用户输入,请阅读本文click here我有编写者明确的步骤要遵循。