使用Jenkins管道共享库自定义步骤中的共享库类

使用Jenkins管道共享库自定义步骤中的共享库类,jenkins,jenkins-pipeline,jenkins-shared-libraries,Jenkins,Jenkins Pipeline,Jenkins Shared Libraries,我正在为Jenkins管道建立一个共享库,并试图找出如何将共享库中的类导入到我正在编写的自定义步骤中 目录结构如下所示: src --jenny ----util ------Versioning.groovy vars --calculateVersion.groovy groovy文件定义了一些执行某些操作的静态助手方法 包jenny.util 类Versioner实现可序列化{ 静态布尔检查有效版本(版本){ 返回真值 } } 我想从calculateVersion.groovy调用此

我正在为Jenkins管道建立一个共享库,并试图找出如何将共享库中的类导入到我正在编写的自定义步骤中

目录结构如下所示:

src
--jenny
----util
------Versioning.groovy
vars
--calculateVersion.groovy
groovy文件定义了一些执行某些操作的静态助手方法

包jenny.util
类Versioner实现可序列化{
静态布尔检查有效版本(版本){
返回真值
}
}
我想从
calculateVersion.groovy
调用此方法,如下所示:

def调用(版本){
返回jenny.util.Versioner.checkForValidVersion(版本)
}
以便我的声明性管道可以调用:
def valid=calculateVersion“1.0.0”

但是我收到这个错误
没有这样的属性:jenny for class:calculateReleaseVersions


可以从VAR中的文件引用共享库中的类来定义自定义步骤吗?这是如何实现的

是的,这是可能的。至少对我们来说:

就像在普通java(或groovy)中一样,我们在
vars
中将import语句放入groovy脚本中。在您的情况下,这将类似于:

import jenny.util.Versioner

def call(version) {
    return Versioner.checkForValidVersion(version)
}
我刚刚发现的另一件事是:类
Versioner
的文件名似乎与类名不匹配:
Versioning.groovy
。这可能是问题所在吗


如果这不起作用,你可能想升级你的管道插件版本。

谢谢你的回复,这两个都是我的问题。