运行我的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?:''
}
}
}
}
3条答案
按热度按时间czq61nw11#
解决方法:
说明:
您错误地访问了变量
sinput
。您的id: 'userInput'
确实直接代表用户输入的变量。您试图在调用apiinput = userInput.sinput ? : ''
时访问一个不存在的变量。引用来源3:
如果只列出一个参数,则其值将成为输入步骤的值。如果列出多个参数,则返回值将是以参数名为键的Map。如果未请求参数,则步骤在批准后不返回任何值。
您有1个参数,因此它将成为输入步骤的值。未创建Map。
Cloudbees 1|Cloudbees 2|Pipeline Input Step
cl25kdpy2#
我遇到了这样的问题,在我的例子中,这是我使用变量的方式。当我使用
$VARIABLE
时,它不工作,我遇到了一个错误,就像这里描述的那样。然而,当我使用${VARIABLE}
-〉时,它完全工作了!!!drnojrws3#
对我来说,问题是试图将
length
作为属性访问,而不是将length()
作为方法访问。基本上缺少括号。