【问题标题】:pipeline with Filesystem List Parameter带有文件系统列表参数的管道
【发布时间】:2021-10-25 20:30:41
【问题描述】:

我正在尝试使用Filesystem List Parameter 参数编写管道:

但我无法在任何地方找到正确的语法,即使在 Jenkins 文档中也是如此。 Jenkins 管道中是否允许使用此插件?如果是这样,那么语法是什么?

https://plugins.jenkins.io/filesystem-list-parameter-plugin/

谢谢

【问题讨论】:

    标签: jenkins parameters jenkins-pipeline filesystems jenkins-declarative-pipeline


    【解决方案1】:

    Pipeline Syntaxinputparameters$class: 'FileSystemListParameterDefinition':

        stages {
                stage('Parameters') {
                    steps {
                        script {
        
                            // one parameter
                            def value = input( message: 'Select parameter value:',
                                parameters: [
                                    [$class: 'FileSystemListParameterDefinition',
                                        name: 'SingleFileSystemObject',
                                        description: 'Single file system object',
                                        nodeName: 'master',
                                        path: '/',
                                        selectedType: 'ALL',
                                        formSelectType: 'SINGLE_SELECT',
                                        regexIncludePattern: '',
                                        regexExcludePattern: '',
                                        sortReverseOrder: false
                                    ] // parameters
                                ] // input
                            )
        
                            // more parameters, displayed on a separate parameter input page
                            Map values = input( message: 'Select parameter values:',
                                parameters: [
                                    [$class: 'FileSystemListParameterDefinition',
                                        name: 'SingleFileSystemObject',
                                        description: 'Single file system object',
                                        nodeName: 'master',
                                        path: '/',
                                        selectedType: 'ALL',
                                        formSelectType: 'SINGLE_SELECT',
                                        regexIncludePattern: '',
                                        regexExcludePattern: '',
                                        sortReverseOrder: false
                                    ],
        
                                    [$class: 'FileSystemListParameterDefinition',
                                        name: 'MultipleFileSystemObjects',
                                        description: 'Multiple file system objects',
                                        nodeName: 'master',
                                        path: '/',
                                        selectedType: 'ALL',
                                        formSelectType: 'MULTI_SELECT',
                                        regexIncludePattern: '',
                                        regexExcludePattern: '',
                                        sortReverseOrder: false
                                    ]
                                ] // parameters
                            ) // input
                        
                            echo value
                            print values['SingleFileSystemObject']
                            print values['MultipleFileSystemObjects']
                        }
                    }
            }
        }
    

    控制台输出

    例如:

    ...
    [Pipeline] echo
    root
    [Pipeline] echo
    bin
    [Pipeline] echo
    home,usr
    ...
    

    【讨论】:

    • 它在运行时而不是默认情况下出现。 Input requested 另外我收到以下错误,文件夹名称是 12000 WARNING: Unknown parameter(s) found for class type 'alex.jenkins.plugins.FileSystemListParameterDefinition': formSelectType 下一个 hudson.remoting.ProxyException: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '12000' with class 'java.lang.String' to class 'java.util.Map'
    • @Senthil13 “runtime”与“default”是什么意思?你有没有按照我提供的链接阅读:“如果只列出一个参数,它的值将成为输入步骤的值。如果列出多个参数,返回值将是一个以参数名称为键的映射”。因此,如果您只有一个参数,请使用 def value = input ( ... )
    • 我所说的运行时的意思是,当我使用参数构建时,变量没有显示,但是当单击构建时,在控制台输出中的运行时它会作为Input requested 之类的链接出现我必须从下拉列表中选择值。
    • @Senthil13 开始构建后,将鼠标悬停在使用参数的阶段上,以获取弹出窗口,您可以在其中打开参数输入页面的链接。我同意,这不是很直观。
    • 感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 2011-11-02
    • 2019-10-04
    • 1970-01-01
    相关资源
    最近更新 更多