У меня есть этот «Выполнить системный скрипт на Groovy» в моем задании Jenkins (не в конвейере) ...
import hudson.EnvVars
import hudson.model.Environment
def process_type = build.properties.environment.PROCESSTYPE.toString();
def SDATE = build.properties.environment.START_DATE.toString();
def EDATE = build.properties.environment.END_DATE.toString();
println "Old Dates :"
println "$SDATE"
println "$EDATE"
if(process_type == "Nightly") {
def today = new Date()
def sevenDaysAgo = today - 7
def START_DATE2 = sevenDaysAgo.format("yyyy-MM-dd")
def END_DATE2 = today.format("yyyy-MM-dd")
String START_DATE = START_DATE2.toString()
String END_DATE = END_DATE2.toString()
println "New Dates :"
println "$START_DATE"
println "$END_DATE"
String vars = [START_DATE: "$START_DATE", END_DATE: "$END_DATE"]
}
Возможно, в нем больше, чем мне нужно, поскольку я использую Groovy внутри задания Jenkinsэто ново для меня, и я пытался все виды вещей, чтобы заставить это работать.В любом случае, это задание Jenkins может быть запущено «Nightly» и затем будет использовать семидневный диапазон дат, или оно может быть снабжено диапазоном дат.Если установлено значение «Ночная», я хочу установить диапазон дат 7 дней (перезаписать две даты по умолчанию), а затем использовать новые даты на следующем шаге сборки, который представляет собой «Выполнить пакетную команду Windows», и использовать аргументы.. '% START_DATE%' '% END_DATE%'.
Приведенный выше код выполняется, но шаг windows все еще использует старые даты по умолчанию. Итак, как мне изменить переменную среды на шаге groovy,и передать его обратно Дженкинсу, чтобы шаг пакета Windows получил новые значения?