如何将数字参数作为手动输入输入到我的 Jenkins 声明管道中?

How to intake a number parameter as manually type input into my Jenkins declarative pipeline?

我有一个“Jenkins 声明式管道”。我从 explanation here 了解到,我可以在我的 Jenkinsfile.

中传递如下选项
parameters {
    choice(name: 'TYPE_OF_DEPLOYMENT',
           choices: ['Android', 'iOS', 'macOS'],
           description: 'Select a platform to deploy build to')
}

上面的方法很适合在下拉列表中给出 3 个选项。

问题:
但是,如果我想输入手动输入的 数字或字符串 ,而不是从下拉列表中选择,该怎么办?
在开始参数化构建之前,是否可以从 Jenkins 页面将数字输入到管道中?

好的!假设您想要接收部署类型和版本号(例如 1、2、10 等)。然后你可以这样做:

pipeline {
    agent any

    parameters {
        choice choices: ['Android', 'iOS', 'macOS'], description: 'Select a platform to deploy build to', name: 'TYPE_OF_DEPLOYMENT'
        string defaultValue: '1', description: 'Version number', name: 'VERSION', trim: true
    }

    stages {
        stage('Getting parameter values') {
            steps {
                script {
                    print("Type of deployment: ${env.TYPE_OF_DEPLOYMENT}")
                    print("Version number: ${env.VERSION}")
                }
            }
        }
    }
}

关于你的第二个问题,关于是否可以在参数屏幕之前输入一个数字,我认为这不是很容易做到的。大多数人用输入而不是参数来解决这类问题。

像这样:

pipeline {
    agent any

    parameters {
        choice choices: ['Android', 'iOS', 'macOS'], description: 'Select a platform to deploy build to', name: 'TYPE_OF_DEPLOYMENT'
    }

    stages {
        stage('Input version number') {
            steps {
                script {
                    def userInput = input id: 'VERSION_NUMBER', message: 'Please insert a version number here', parameters: [string(defaultValue: '1', description: '', name: 'VERSION_NUMBER', trim: true)]
                    print(userInput)
                }
            }
        }

        stage('Getting parameter values') {
            steps {
                script {
                    print("Type of deployment: ${env.TYPE_OF_DEPLOYMENT}")
                }
            }
        }
    }
}

此致!