Jenkins输入参数验证

时间:2018-08-21 02:59:10

标签: jenkins jenkins-pipeline

我有Jenkins管道脚本来接受Docker Image Tag作为参数。我的标签格式是这样的[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+

在输入期间如何执行此规则?只接受数字和点(四个数字和三个点)

这是我的代码。

  script {
        def userInput = input(id: 'userInput', message: 'Deploy Docker Image?',
                parameters: [[$class: 'TextParameterDefinition', defaultValue: '', description: 'Docker Image TAG ( eg. 1.5.23.67)', name: 'imageTag']])            
        imageTag = userInput                                    
        println(imageTag)

    }

TextParameterDefinition显示多行文本区域。有没有办法显示一个输入行?

谢谢

1 个答案:

答案 0 :(得分:1)

为此,您可以使用find operator。它可以在管道DSL中使用。

if (imageTag =~ '[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+') {
      doSomething()
}

您可以使用String参数代替TextParameterDefinition