Как получить ответ от сценария обратно в Гудзон и на неудачные / успешные электронные письма? - PullRequest
0 голосов
/ 08 декабря 2010

Я запускаю скрипт на Python с работы Хадсона.Сценарий запускается через «Выполнить пакетную команду Windows» в разделе сборки как «python my_script.py»

Теперь мне нужно вернуть некоторые данные, созданные сценарием, обратно в Hudson и добавить их в fail /Успешные электронные письма.Мой текущий подход заключается в том, что скрипт Python записывает данные в stderr, который пакетным образом считывается во временный файл, а затем записывается в переменную окружения.Я правильно вижу переменную окружения сразу после выполнения скрипта (используя команду set), но в действиях после сборки она больше не видна.Отправка электронной почты, вероятно, выполняется в другом процессе, поэтому переменные больше не отображаются.Я получаю доступ к переменным env в письме как $ {ENV, varname} (или фактически в режиме отладки как $ ENV, чтобы напечатать их все)

Есть ли способ сделать глобальную переменную среды внутри Хадсона?

Или кто-то может предложить лучшее решение для возврата данных из скрипта Python в Hudson.

Все связанные части (Hudson, пакетный и Python-скрипт) находятся под моим контролем и могут быть изменены какнужно.

Спасибо.

1 Ответ

1 голос
/ 09 декабря 2010

Каждый шаг сборки - это собственная оболочка. Это означает, что ваши переменные среды действительны только на этапе сборки.

Вы можете просто записать данные в хорошем формате в вывод std (используйте заголовок, который легко идентифицировать), и, если задание не выполнено, вывод данных прикрепляется в электронном письме.

Если вы настаиваете только на вводе данных, вы можете использовать следующий токен для Редактируемого уведомления по электронной почте Действие после постройки (плагин Email-ext).

$ {BUILD_LOG_REGEX, regex, linesBefore, linesAfter, maxMatches, showTruncatedLines, substText}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...