当前位置: 首页 > 面试题库 >

groovy.lang.MissingPropertyException:没有此类属性:类的詹金斯:groovy.lang.Binding

易嘉胜
2023-03-14
问题内容

我们正在升级到Jenkins(2.60.1)的新版本,并且在以前的Jenkins版本(1.596 / 2)中运行的groovy脚本不再起作用。

这是一个Jenkins构建项目,已参数化,我们正在使用Groovy脚本为Choice Provider提供选择(Choice
Provider设置为System Groovy Choice Parameter)。

我们正在尝试访问Jenkins环境变量,并这样做(这是Groovy脚本的一部分):

import hudson.slaves.EnvironmentVariablesNodeProperty
import hudson.EnvVars

EnvironmentVariablesNodeProperty prop = jenkins.getGlobalNodeProperties().get(EnvironmentVariablesNodeProperty.class)
EnvVars env = prop.getEnvVars()

def MY_VAR = env['MY_JENKINS_VAR']

但是,运行脚本时出现以下错误:

Failed to execute script

groovy.lang.MissingPropertyException: No such property: jenkins for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)

在我看来,“ jenkins”引用应该是Jenkins或Groovy提供的内置属性,但是我找不到任何有关如何通过Groovy脚本进行访问的信息。

谢谢你的帮助。


问题答案:

正如@Jayan在另一篇文章中指出的,解决方案是执行以下操作

import jenkins.model.*
jenkins = Jenkins.instance

然后,我可以按原样完成其余脚本。



 类似资料:
  • 问题内容: 我试图在Hudson内调用Groovy(使用groovy插件)来获取我们构建的一些属性。但是我得到了这个例外: groovy.lang.MissingPropertyException:无此类属性:类的管理器:Script1 我得到以下行: 当我在Jenkins中作为内联命令以及使用脚本运行时,会发生这种情况: 我尝试了以下解决方案,但在声明本身(第二行)期间失败: 上面的命令使用:G

  • 问题内容: 我有一个(可创建一个页面,可以通过 Manage Jenkins 进行访问。 我有一些要使用验证的表单字段。如果要在(具有描述符的)页面上执行此操作,则可以在描述符中使用一种简单的方法。 如果我直接向其中添加类似的方法,则实际上可以直接通过URL myPage / myMethod访问, 但是该方法仅返回404,显然我需要发送表单值。 我遇到的一个潜在解决方案是CustomDescri

  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 我已经在Jenkins上创建了一个基本的声明性管道。当我运行构建时,它会抛出以下错误 Jenkins服务器使用最新版本的默认插件设置为默认。Jenkinsfile如下所示 当Jenkins读取Jenkinsfile时,看起来块失败了,这在Jenkinsfile看起来很混乱。

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。