找不到这样的字段:字段 java.lang.String sinput error while 运行 my jenkinsfile
No such field found: field java.lang.String sinput error while running my jenkinsfile
在 运行 连接我的 Jenkinsfile 时出现 No such field found: field java.lang.String sinput
错误。
我开发了一个 Jenkinsfile,它将接受用户输入并进一步 运行 远程机器上的命令将用户输入作为变量
stages {
stage("Interactive_Input") {
steps {
script {
def apiinput
def userInput = input(
id: 'userInput', message: 'This is my project',
parameters: [
string(defaultValue: 'None',
description: 'Enter the name of the service',
name: 'sinput'),
])
// Save to variables. Default to empty string if not found.
apiinput = userInput.sinput?:''
}
}
}
}
解决方案:
apiinput = userInput?:''
将解决您的问题。
解释:
您正在错误地访问您的变量 sinput
。您的 id: 'userInput'
确实直接代表用户输入的变量。您在调用 apiinput = userInput.sinput?:''
.
时尝试访问不存在的变量
引自 Source3:
If just one parameter is listed, its value will become the value of
the input step.
If multiple parameters are listed, the return value will be a map
keyed by the parameter names. If parameters are not requested, the
step returns nothing if approved.
你有1个参数所以它成为输入步骤的值。没有创建地图。
嗯...我有这样的问题,在我的例子中,这是我使用变量的方式
当我确实喜欢 $VARIABLE
时,它不起作用,并且我遇到了此处描述的错误。
但是,当我这样做时 ${VARIABLE}
-> 一切正常!!!
对我来说,问题是试图将 length
作为属性访问,而不是将 length()
作为方法访问。基本上缺少括号。
在 运行 连接我的 Jenkinsfile 时出现 No such field found: field java.lang.String sinput
错误。
我开发了一个 Jenkinsfile,它将接受用户输入并进一步 运行 远程机器上的命令将用户输入作为变量
stages {
stage("Interactive_Input") {
steps {
script {
def apiinput
def userInput = input(
id: 'userInput', message: 'This is my project',
parameters: [
string(defaultValue: 'None',
description: 'Enter the name of the service',
name: 'sinput'),
])
// Save to variables. Default to empty string if not found.
apiinput = userInput.sinput?:''
}
}
}
}
解决方案:
apiinput = userInput?:''
将解决您的问题。
解释:
您正在错误地访问您的变量 sinput
。您的 id: 'userInput'
确实直接代表用户输入的变量。您在调用 apiinput = userInput.sinput?:''
.
引自 Source3:
If just one parameter is listed, its value will become the value of the input step. If multiple parameters are listed, the return value will be a map keyed by the parameter names. If parameters are not requested, the step returns nothing if approved.
你有1个参数所以它成为输入步骤的值。没有创建地图。
嗯...我有这样的问题,在我的例子中,这是我使用变量的方式
当我确实喜欢 $VARIABLE
时,它不起作用,并且我遇到了此处描述的错误。
但是,当我这样做时 ${VARIABLE}
-> 一切正常!!!
对我来说,问题是试图将 length
作为属性访问,而不是将 length()
作为方法访问。基本上缺少括号。