2016-03-14 7 views
2

Я хотел запустить задание jenkins, приняв поле даты (в формате YYYY-MM-DD) от пользователя. Я нашел ссылку, в которой пользователь может ввести string parameterКак запустить задание Jenkins, где пользователь может ввести значение даты?

Но в строке param пользователь может ввести любую вещь. Итак, как заставить пользователя ввести поле даты, как поле календаря, и выбрать дату из календаря?

ответ

2

Возможно, нет плагина, который предоставляет выбор даты.

Но вы можете использовать Validating String Parameter Plugin, который может использовать регулярное выражение для проверки строкового параметра. См. Regex to validate date format dd/mm/yyyy для регулярных выражений, соответствующих значениям даты.

Плагин Job DSL не имеет встроенной поддержки плагина Validating String Parameter, но вы можете использовать Configure Block для добавления соответствующего XML-файла конфигурации.

job('example') { 
    configure { project -> 
    project/'properties'/'hudson.model.ParametersDefinitionProperty'/parameterDefinitions << 'hudson.plugins.validating__string__parameter.ValidatingStringParameterDefinition' { 
     name('DATE') 
     description('date in YYYY-MM-DD format') 
     defaultValue('2016-03-01') 
     regex(/\d\d\d\d-\d\d-\d\d/) 
     failedValidationMessage('Enter a YYYY-MM-DD date value!') 
    } 
    } 
} 
+0

как подтвердить дату? Кто-то может ввести 1234-56-78. И это будет действительная дата;) –