示例:
pipeline{
agent any
stages{
stage('Parse CSV'){
steps {
script{
def fileToParse = readFile(params.FileLocation)
}
echo fileToParse
}
}
}
}
我从GUI配置了作业,文件位置参数称为FileLocation
。我上传了一个文件并尝试阅读。当我尝试访问params.FileLocation
时,它会返回null
,就好像它无法识别它一样。
答案 0 :(得分:1)
您的问题在于变量范围。您在 script {} 块范围中对变量进行了定义,然后尝试在其外部使用它。一个简单的解决方法是在全局级别将变量放在 pipeline {} 块之外。或者,只需在echo语句中使用params.FileLocation。
def fileToParse
pipeline{
agent any
stages{
stage('Parse CSV'){
steps {
script{
fileToParse = readFile(params.FileLocation)
}
echo fileToParse
echo params.FileLocation
}
}
}
}
答案 1 :(得分:-1)
文件参数不受支持,并且也会从文档中删除。
https://issues.jenkins-ci.org/browse/JENKINS-27413
检查可用参数:https://jenkins.io/doc/book/pipeline/syntax/#parameters