Jenkins plugin-переменные окружения
Я использую Jenkins с Testswarm и этим плагином (раздвоенные источники ).
Я хочу получить "имя задания" для Testswarm, содержащее имя задания Дженкинса, номер сборки и номер редакции svn.
Помещение JOB_NAME в поле конфигурации не помогает, переменная не заменяется ее значением.
Поэтому я изменил исходный код плагина, чтобы получить переменные среды Дженкинса, но все, что я получаю, - это "null" s.
Вот код преступника. (в src / main / java / com/javaclimber/jenkins/testswarmplugin / TestSwarmBuilder.java из строки 205)
Я много исследовал относительно этой функциональности и не нашел рабочего примера для получения переменной.
public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
...
EnvVars envVars = build.getEnvironment(listener);
...
envVars.get("JOB_NAME")
}
Я не в своей тарелке на Java, и я застрял в этой точке. Есть какие-нибудь идеи, пожалуйста ?
Обновление: java used version
java версия "1.6.0_24"
Среда выполнения OpenJDK (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~10.04.2)
64-Разрядный OpenJDK Серверная виртуальная машина (сборка 20.0-b12, смешанный режим)
2 ответа:
Замена
EnvVars envVars = build.getEnvironment(listener);
By
EnvVars envVars = new EnvVars(); envVars = build.getEnvironment(listener);
Проделал трюк...
Какую версию Java вы используете? Согласно этому, чтобы получить переменную окружения, нужно добавить следующее:
String job_name = System.getenv("JOB_NAME");
Вы пробовали это вместо этого?
Кроме того, я не уверен, как выглядит поле конфигурации, но вы пробовали использовать
$JOB_NAME
вместоJOB_NAME
?