Как использовать значения Hudson «Parameterized Build» в электронном письме - PullRequest
7 голосов
/ 03 марта 2011

Мы запускаем сервер сборки Hudson внутри проекта. Мы отправляем электронную почту каждый раз, когда сервер развертывает новую версию.

Я хотел бы, чтобы в этом письме содержалось больше информации, включая имя пользователя и причину сборки.

Из документации hudsons по Параметризованные сборки , добавили текстовые параметры в сборку. Я пытаюсь здесь с двумя разными (чтобы увидеть, что работает):

В конфигурации задания This build is parameterized я добавил следующие две переменные

Name:          USER 
Default value: userCAPITALIZED

Name:          user
Default value: userstandard

См. Скриншот параметризованных настроек http://justaddwater.dk/wp-content/uploads/2011/03/hudson-parameterize-settings-243x300.png.

Теперь, в нижней части раздела «Редактируемое уведомление по электронной почте» я пытался ВСЕ, чтобы получить эти значения.

Что работает: Все стандартные переменные сборки Hudson работают. Как $CHANGES, $SVN_REVISION и т. Д.

Но я попытался получить доступ к переменным user и USER без какой-либо удачи. Вот список того, что не работает:

subject: test of parametrized mail 1user:${env.user}, 2USER:${USER}, 3$USER, 4${ENV, USER}, 5%USER%,stop

more tests
${env, user}
${env, USER}
${ENV, user}
${ENV, USER}
${user}
${USER}
${env.user}
${ENV.user}
${env.USER}
${ENV.USER}
$user
$USER
%user%
%USER%

changes $CHANGES
changes ${CHANGES}
subversion revision: $SVN_REVISION
subversion revision: ${SVN_REVISION}

Снимок экрана конфигурации электронной почты http://justaddwater.dk/wp-content/uploads/2011/03/hudson-email-configuration-parameters-300x171.png

Это просто приводит к электронному письму с таким содержанием:

test of parametrized mail 1user:${env.user}, 2USER:${USER}, 3$USER, 4${ENV, USER}, 5%USER%,stop

more tests
${env, user}
${env, USER}
${ENV, user}
${ENV, USER}
${user}
${USER}
${env.user}
${ENV.user}
${env.USER}
${ENV.USER}
$user
$USER
%user%
%USER%

changes
changes
subversion revision: 400
subversion revision: 400

Как видите, только ревизия Subversion расширяется правильно. Изменения для данной конкретной работы пусты, поэтому игнорируйте это.

Как ВЫ определяете параметры в электронной почте? Какие-либо предложения? Я использую Hudson версии 1.395

Ответы [ 3 ]

14 голосов
/ 11 марта 2011

Вам нужно использовать такой параметр, как этот: ${ENV, var="USER"}

И «ПОЛЬЗОВАТЕЛЬ» - это то же самое, что и «пользователь» - вам нужно дать другие имена.

3 голосов
/ 11 марта 2011

В дополнение к тому, что предлагает Рене (то есть к использованию ${ENV, var="USER"}), я считаю, что вам нужно установить еще один плагин под названием 'email-ext' .Я нашел эту информацию в каком-то другом вопросе (хотя ответа нет).

0 голосов
/ 21 января 2013

Я знаю, что это старый вопрос, но просьба к пользователю ввести свое имя пользователя отчасти избыточна и может быть подделана.

Хадсон уже знает, кто вызвал сборку (вы можете увидеть это на странице сборки), однако он не раскрывает это в переменной. Существует плагин Job-Exporter , который экспортирует эту информацию (и даже больше) в файл в рабочей области. Это будет под build.user.name собственности.

Оттуда вы можете использовать плагин EnvInject , предоставить ему этот экспортированный файл свойств (hudsonBuild.properties), и у вас будет переменная окружения build.user.name, доступная для использования в электронной почте. как ${ENV, var="build.user.name"}

...