从Groovy脚本访问Jenkins插件包

从Groovy脚本访问Jenkins插件包,groovy,jenkins,Groovy,Jenkins,如果我想从groovy脚本中使用Jenkins插件,如何找到它的路径 例如,仅在master上进行测试,我希望能够使用NodeLabelParameter插件中的LabelParameterValue类。下面是我正在寻找的一个例子(尽管它不起作用) currentParameters.add(new hudson.plugins.nodelabelparameter.LabelParameterValue(nodeName))在后期构建Groovy脚本中,您可以指定其他Groovy类路径。例如:

如果我想从groovy脚本中使用Jenkins插件,如何找到它的路径

例如,仅在master上进行测试,我希望能够使用NodeLabelParameter插件中的LabelParameterValue类。下面是我正在寻找的一个例子(尽管它不起作用)


currentParameters.add(new hudson.plugins.nodelabelparameter.LabelParameterValue(nodeName))

在后期构建Groovy脚本中,您可以指定其他Groovy类路径。例如:
/var/jenkins/plugins/claim/WEB-INF/classes
用于索赔插件代码。我试过了,它成功了


不幸的是,路径必须是绝对的,并且不允许环境变量(例如
${JENKINS_HOME}
)。另外,我也不完全确定在从机上运行时脚本会显示在哪里——从机上还是主机上。

我可以从Jenkins Groovy控制台和通过Groovy插件运行的Groovy系统脚本中执行您正在执行的操作。我在Claim插件中使用了一个类。那么:(1)你是如何运行Groovy脚本的(2)插件加载了吗?我发现它在Jenkins控制台中工作,并且可能在系统脚本中工作,但在Groovy后期构建中不工作(可能是因为它没有在主Jenkins上运行)。我想现在的问题是如何通过Groovy Postbuild脚本访问master
import org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterValue
(取自Github上的包名),效果非常好。谢谢对于专门寻找此插件的人来说,它位于
/var/lib/jenkins/plugins/nodelabelparameter/WEB-INF/classes
,其中
/var/lib/jenkins/
应替换为您的硬编码jenkins主页。我还应该提到,我找到了解决这个问题的方法,即使用“执行系统Groovy脚本”构建步骤。您可以使用以下命令访问当前版本:
def thr=Thread.currentThread();def build=thr?.executable
,仍然导入没有类路径的包。(信用证:)