Подтвердить что ты не робот

Разработка плагина Hudson/Jenkins: как получить переменные окружения другого плагина

Я в несколько старой конфигурации Хадсона. У нас есть встроенный плагин, который запрашивает репозиторий Nexus и задает некоторые параметры работы. Плагин находится на Java.

Мы также используем развязанный SetEnv Plugin, где мы устанавливаем кучу переменных среды.

Наш плагин, в основном, расширяет класс ParameterDefinition, чтобы дать кучу параметров на экране задания сборки, а затем переменные среды класса ParameterValue для наших заданий.

Обозначение определения параметра:

class NexusQueryParameterDefinition extends ParameterDefinition

Можно ли получить доступ к переменным среды, определенным в плагине SetEnv, из нашего класса определения параметров?

Проблема, что я нахожусь во время определения параметризованной сборки, то есть экрана между тем, когда я нажимаю кнопку "строить сейчас", и когда я нажимаю кнопку "Сборка", чтобы начать процесс. На данный момент я не знаю, как получить доступ к экземпляру экземпляра задания, и я считаю, что объект сборки будет создан только при отправке формы.

Эти переменные среды сохраняются в config.xml, поэтому, если я могу прочитать этот файл, я могу проанализировать значения.

4b9b3361

Ответ 2

Я бы предложил вам изучить плагин Environment Injector и groovy для возврата объекта карты в среду установки для запуска в конфигурации задания.

Ответ 3

Пробовали ли вы, если переменные окружения уже введены во время выполнения? Средство доступа к свойству среды с System.getenv( "yourEnvVar" );

Если вы хотите получить доступ к настроенным Env-Params из SetEnv-Plugin для пути миграции, это будет сложнее. Но для migation cse я бы предложил прочитать файл config.xml и вывести конфигурацию в свой плагин.