无法在jenkins管道中读取文件parm

时间:2017-09-11 11:03:08

标签: jenkins-pipeline

示例:

pipeline{
    agent any
    stages{
        stage('Parse CSV'){
            steps {
                script{
                    def fileToParse = readFile(params.FileLocation)
                }
                echo fileToParse
            }
        }
    }
}

我从GUI配置了作业,文件位置参数称为FileLocation。我上传了一个文件并尝试阅读。当我尝试访问params.FileLocation时,它会返回null,就好像它无法识别它一样。

2 个答案:

答案 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