Сведения о среде:
Версия Jenkins: 2.528.1 LTS
Подключаемый модуль Application Automation Tools: исправлено 25.4.1
Версия Java: JDK 21
Операционная система: Windows Server (Экземпляр AWS)
UFT One version: 2024 (последняя)
Триггер запуска: ALM Octane (выполнение на основе Octane)
Задание Jenkins, запущенное удаленно с помощью ALM Octane (появляется сообщение о выполнении на основе Octane).
Задание запускается правильно — проверка Git, обнаружение тестов и создание файла propsXXXX.txt завершены успешно.
Выполнение немедленно завершается сбоем на этапе RunFromFileBuilder.perform со следующей трассировкой стека:
FATAL: io/jenkins/cli/shaded/org/apache/commons/lang/RandomStringUtils
java.lang.ClassNotFoundException: io.jenkins.cli.shaded.org.apache.commons.lang.RandomStringUtils
на java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
на jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:70)
...
Вызвано: java.lang.NoClassDefFoundError: io/jenkins/cli/shaded/org/apache/commons/lang/RandomStringUtils
в PluginClassLoader для hp-application-automation-tools-plugin//com.microfocus.application.automation.tools.settings.UFTEncryptionGlobalConfiguration.generateKey(UFTEncryptionGlobalConfiguration.java:57)
в PluginClassLoader для hp-application-automation-tools-plugin//com.microfocus.application.automation.tools.settings.UFTEncryptionGlobalConfiguration.getEncKey(UFTEncryptionGlobalConfiguration.java:87)
в PluginClassLoader для hp-application-automation-tools-plugin//com.microfocus.application.automation.tools.AlmToolsUtils.runOnBuildEnv(AlmToolsUtils.java:98)
в PluginClassLoader для hp-application-automation-tools-plugin//com.microfocus.application.automation.tools.run.RunFromFileBuilder.perform(RunFromFileBuilder.java:989)
Проверен правильный путь Java в jenkins.xml → C:\Program Files\Java\jdk-21\bin\java.exe
Очистил кеш плагина и переустановил плагин вручную:
Stop-Service jenkins
Remove-Item "C:\ProgramData\Jenkins.jenkins\plugins\hp-application-automation-tools-plugin.*"
Start-Service jenkins
Пытался добавить commons-lang-2.6.jar в JENKINS_HOME\war\WEB-INF\lib — никакого эффекта.
Протестировал как запуск Jenkins по пользовательскому интерфейсу, так и удаленный запуск Octane — оба не работают одинаково.
Начиная с Jenkins 2.528.1, commons-lang (2.x) больше не затеняется в ядре Jenkins.
Однако плагин Application Automation Tools 25.4.1 с исправлением по-прежнему ссылается на:
io.jenkins.cli.shaded.org.apache.commons.lang.RandomStringUtils
который больше не существует в пути к классам Jenkins.
Это кажется чтобы взломать UFTEncryptionGlobalConfiguration.generateKey(), используемый в плагине для обработки зашифрованных параметров.
Кто-нибудь еще сталкивался с этой проблемой при использовании интеграции UFT/ALM Octane в Jenkins 2.528.x с JDK 21?
Существует ли подтвержденный обходной путь (кроме понижения версии Jenkins или редактирования JAR плагина вручную для включения commons-lang-2.6.jar)?
Будем очень признательны за любую информацию от тех, кто использует UFT MBT в тех же версиях.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ts-via-jen
Мобильная версия