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