2014-09-03 7 views
1

У меня есть работа, которая повторно используется/вызывается из двух родительских заданий, мне нужно получить переменную из этого задания, чтобы использовать ее в каждом родительском задании. Переменная оболочки - это список артефактов с размером и md5sum.Извлечь переменную из дочернего задания в jenkins

Цель состоит в том, чтобы использовать этот список в Редактируемом уведомлении по электронной почте.

Как я могу получить его, назовем его $ {artifacts_list}.

Спасибо,

+0

Является ли работа нижестоящей работой двух других? – Technext

+0

@Technext да, это так. – Zatla00

ответ

4

Хотя я не проверял, вы можете попробовать этот подход: Вы можете echo переменные и их значение в файле (name=value) и прочитать файл в родительской работе. Чтобы сделать эти переменные доступными в среде вашего родительского задания, вам может понадобиться EnvInject Plugin

1

Неудобным способом является использование API Jenkins для чтения JSON конкретного прогона другой работы и извлечение из него параметров.

Простой способ заключается в следующем: параметрах

  • экспортирования на файл (используйте Export Parameters Plugin для этого, или просто echo из требуемых паров в формате param=value как другой ответ предложил)
  • Архива за экспортированный файл параметров в конце сборки с использованием действия после сборки «Архивные артефакты»
  • В работе по переходу используйте Copy Artifacts плагин внести в этот файл
  • Используйте плагин EnjInject, чтобы прочитать файл и сделать его доступным в качестве переменных окружения.