У меня есть две работы Дженкинса.Первый содержит Groovy-код с использованием «Выполнить системный скрипт Groovy» для хранения пары фрагментов данных, необходимых для последующей работы.
Нижестоящее задание вызывается в действиях после сборки с использованием «Параметризованная сборка триггера в других проектах».В триггерах сборки для этого последующего задания я попытался включить обе эти опции:
«Текущие параметры сборки» «Сборка на одном узле»
В коде groovy для родительского элементаПроект, я вижу, что он правильно устанавливает оба параметра, используя println
.
В последующем задании отмечен флажок «Этот проект параметризован», и я создал строковые параметры для обоих параметров, заданных в исходном задании.
Нижестоящее задание вызывает пакетный файл, которыйделает кучу вещей после сборки.
groovy code:
def pa = new ParametersAction([new StringParameterValue("SERVICE_VERSION", serviceversion)], ["SERVICE_VERSION"])
Thread.currentThread().executable.addAction(pa)
def pa2 = new ParametersAction([new StringParameterValue("PROJ_BUILD_NUMBER", projbuildnumber)], ["PROJ_BUILD_NUMBER"])
Thread.currentThread().executable.addAction(pa2)
Я ожидаю, что смогу использовать как %SERVICE_VERSION%
, так и %PROJ_BUILD_NUMBER%
в пакетном файле, и они будутоба имеют значения, заданные в исходном задании.
В исходном задании, если я println
получу два значения, я получу:
%SERVICE_VERSION% = 1.0.0
%PROJ_BUILD_NUMBER% = 225
Однако в последующем задании доступен только %SERVICE_VERSION%
.
ECHO SERVICE_VERSION=%SERVICE_VERSION%
SERVICE_VERSION=1.0.0
ECHO PROJ_BUILD_NUMBER=%PROJ_BUILD_NUMBER%
PROJ_BUILD_NUMBER=
Странно, если я поменяю местами порядок двух addAction()
вызовов, ни один из них не будет доступен.Есть идеи?