gpt4 book ai didi

Jenkins groovy.lang.MissingPropertyException : No such property: for class: Script1

转载 作者:行者123 更新时间:2023-12-03 01:44:40 24 4
gpt4 key购买 nike

此程序的目的是替换所有 TFS 用户的密码。如果我直接在代码中使用用户 ID 和密码,它就可以工作,但是当我将其转换为参数化构建时,它会失败并出现此错误。

Started by user Jirong Hu
[EnvInject] - Loading node environment variables.
Building remotely on public_jenprodslave_1 in workspace D:\public_jenprodslave_1\workspace\DevOps\Update-TFSPlugin-Password
param userid value : devops_test_user
ERROR: Build step failed with exception
groovy.lang.MissingPropertyException: No such property: userid_param_value for class: Script1


import hudson.model.*
import hudson.triggers.*
import hudson.util.Secret;
import hudson.plugins.tfs.TeamFoundationServerScm

def thr = Thread.currentThread()
def build = thr?.executable
def resolver = build.buildVariableResolver

def userid_param = "userid"
def userid_param_value = resolver.resolve(userid_param)
println "param ${userid_param} value : ${userid_param_value}"

def password_param = "password"
def password_param_value = resolver.resolve(password_param)
//println "param ${password_param} value : ${password_param_value}"


updateTFSPluginPassword(Hudson.instance.items)

def updateTFSPluginPassword(items) {

for(item in items) {
if (item.class.canonicalName != 'com.cloudbees.hudson.plugins.folder.Folder') {

if (item.scm instanceof TeamFoundationServerScm) {

// Update the TFS user id here:
//if (item.scm.getUserName() == 'devops_test_user') {
if (item.scm.getUserName() == userid_param_value) {
println("Working on project <$item.name>")
println item.scm.getType()
println item.scm.getServerUrl()
println item.scm.getProjectPath()
println item.scm.getWorkspaceName()
println item.scm.isUseUpdate()
println item.scm.getUserName()
println item.scm.getPassword()

// Update the TFS user password hash here:
Secret secret = Secret.fromString(password_param_value)

tfsSCM = new TeamFoundationServerScm(item.scm.getServerUrl(),
item.scm.getProjectPath(),
null,
item.scm.isUseUpdate(),
item.scm.getWorkspaceName(),
item.scm.getUserName(),
secret)
item.scm = tfsSCM

println ("")

}
}

} else {
updateTFSPluginPassword(((com.cloudbees.hudson.plugins.folder.Folder) item).getItems())
}
}
}

最佳答案

引发 groovy.lang.MissingPropertyException 的原因之一是当您尝试访问超出其范围的变量或尚未定义该变量时。

关于 Jenkins groovy.lang.MissingPropertyException : No such property: for class: Script1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com