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 4

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 ?