Я использовал некоторые глобальные методы в каталоге / var общей библиотеки, и все работало нормально.Теперь мне нужно сохранить состояние процесса, поэтому я пишу классный класс.В основном у меня есть класс ClassTest.groovy в / src, который выглядит примерно так:
class ClassTest {
String testString
def method1() { ... }
def method2() { ... }
}
и в начале конвейера
library 'testlibrary@'
import ClassTest
с результатом:
WorkflowScript: 2: не удалось разрешить класс ClassTest @line 2, столбец 1.
import ClassTest
раньше, я просто был goind
library 'testlibrary@' _
и использование методов как
script {
libraryTest.method1()
...
libraryTest.method2()
}
, где методы были в файле /var/libraryTest.groovy и все работало.Итак, я знаю, что разделяемая библиотека есть, но меня смущает то, как groovy / Jenkins обрабатывают классы / разделяемые библиотеки.
Как правильно импортировать класс?Я не могу найти простой пример (с groovy файлом, структурой файла и конвейером) в документации.
РЕДАКТИРОВАТЬ: я переместил файл в 'src / com / company / ClassTest.groovy' и изменил конвейер как
@Library('testlibrary@') import com.company.ClassTest
def notification = new ClassTest()
но теперь ошибка
неожиданный токен: package @ line 2
первые две строки файла groovy:
// src/com/company/ClassTest.groovy
package com.company;