groovy 找不到此字段:运行我的jenkinsfile时出现输入错误

b1uwtaje  于 2022-11-01  发布在  Jenkins
关注(0)|答案(3)|浏览(164)

运行我的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?:''
            }
        }
    }
}
czq61nw1

czq61nw11#

解决方法:

apiinput = userInput ? : ''

说明:
您错误地访问了变量sinput。您的id: 'userInput'确实直接代表用户输入的变量。您试图在调用apiinput = userInput.sinput ? : ''时访问一个不存在的变量。
引用来源3:
如果只列出一个参数,则其值将成为输入步骤的值。如果列出多个参数,则返回值将是以参数名为键的Map。如果未请求参数,则步骤在批准后不返回任何值。
您有1个参数,因此它将成为输入步骤的值。未创建Map。
Cloudbees 1|Cloudbees 2|Pipeline Input Step

cl25kdpy

cl25kdpy2#

我遇到了这样的问题,在我的例子中,这是我使用变量的方式。当我使用$VARIABLE时,它不工作,我遇到了一个错误,就像这里描述的那样。然而,当我使用${VARIABLE}-〉时,它完全工作了!!!

drnojrws

drnojrws3#

对我来说,问题是试图将length作为属性访问,而不是将length()作为方法访问。基本上缺少括号。

相关问题