一尘不染

如何在用户可以输入日期值的情况下运行Jenkins作业?

jenkins

我想通过接受用户的日期字段(格式为YYYY-MM-DD)来运行jenkins作业
。我找到了一个链接,用户可以在其中输入字符串参数: stringparameter:

>     job('example') {
>         parameters {
>             stringParam('myParameterName', 'my default stringParam value',
> 'my description')
>         }
>     }

But in string param user can enter any thing. So how do I force user to enter
a date field like a calender field and select date from the calender ?


阅读 307

收藏
2020-07-25

共1个答案

一尘不染

似乎没有提供日期选择器的插件。

但是您可以使用 Validating String Parameter Plugin, 它可以使用
正则表达式来验证字符串参数。有关与日期值匹配的正则表达式,请参见Regex to validate date
format dd/mm/yyyy
for regular expressions matching date values.

Job DSL插件没有对Validating String Parameter
插件的内置支持,但是您可以使用 Configure Block 添加相关的config 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!')
    }
  }
}
2020-07-25