Итак, ваш вопрос сводится к двум:
- Как программно определить, какое значение выбрать, исходя из текущей даты?
- Как это выяснить, как можно Я полагаю, что это значение будет значением по умолчанию в параметре
choice
конвейера?
Учитывая, что у вас все в порядке с # 1 (может включать получение номера недели и оставшуюся часть разделив на 4), давайте разберемся со вторым вопросом.
Чтобы изменить параметр choices
на основе результата произвольного сценария Groovy, вы можете запустить конвейер сценариев перед декларативным, как то так:
def use_as_default = getValToUseAsDefault() // val1 on March 16, etc.
def list_of_vals = []
list_of_vals += use_as_default // first in the list will get to be selected
if (! ("val1" in list_of_vals) ) { list_of_vals += "val1"}
if (! ("val2" in list_of_vals) ) { list_of_vals += "val2"}
if (! ("val3" in list_of_vals) ) { list_of_vals += "val3"}
if (! ("val4" in list_of_vals) ) { list_of_vals += "val4"}
list_of_vals = Arrays.asList(list_of_vals)
pipeline
{
agent any
parameters
{
choice(name: 'VALS', choices: list_of_vals, description: 'Choose value')
}
...
}
def getValToUseAsDefault() {
// left as exercise to OP
return "val1"
}