如何从Jenkins声明性管道中的文本参数中检索所有行?

如何从Jenkins声明性管道中的文本参数中检索所有行?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我的Jenkins文件中有一个文本参数,供Jenkins管道作业使用。此文本参数用于输入文件名列表(每行一个) 奇怪的是,当我打印出构建环境变量时,似乎只检测到文本字段第一行上的值 jenkinsFile pipeline { agent any parameters { text( name: 'FILE_LIST',

我的Jenkins文件中有一个文本参数,供Jenkins管道作业使用。此文本参数用于输入文件名列表(每行一个)

奇怪的是,当我打印出构建环境变量时,似乎只检测到文本字段第一行上的值

jenkinsFile

pipeline {
        agent any
        
        parameters {
            
            text(
                    name: 'FILE_LIST', 
                    defaultValue: '', 
                    description: 'File list'
            )
        }
        
        stages {

            stage("Environnement variables") {
                steps {
                    sh 'printenv | grep FILE_LIST'
                }
            }
        }
}
文本字段的内容示例

test.sql
MY_TEST.SQL
test_01.sql
结果

FILE_LIST=test.sql

如何从Jenkins管道中的文本参数访问所有行的值?

如果您想获得类似“printenv | grep file1 file2”的内容,请使用以下代码

pipeline {
    agent any
    
    parameters {
        
        text(
                name: 'FILE_LIST', 
                defaultValue: '', 
                description: 'File list'
        )
    }
    
    stages {

        stage("Environnement variables") {
            steps {
                script{
                    String fllist=FILE_LIST.split("\r?\n").join(' ')
                    echo fllist
                     
                    sh 'printenv | grep $fllist'
                
                }
            }
        }
    }

}

只有一个警告,$fllist变量在sh'printenv | grep$fllist'上下文中不可用。我试图回显$fllist,但它是空的。。。知道为什么吗?sh命令需要双引号:sh“printenv | grep$fllist”,然后可以从sh指令访问“fllist”变量值