Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 声明性管道中的文件参数_Jenkins_Jenkins Pipeline_Jenkins Declarative Pipeline - Fatal编程技术网

Jenkins 声明性管道中的文件参数

Jenkins 声明性管道中的文件参数,jenkins,jenkins-pipeline,jenkins-declarative-pipeline,Jenkins,Jenkins Pipeline,Jenkins Declarative Pipeline,我正在开发声明性管道,并希望使用file参数读取其内容,但它并没有按预期工作 parameters{ file(fileLocation:'list.txt', description:'contains list of projects to be build') } 我得到以下错误 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript

我正在开发声明性管道,并希望使用file参数读取其内容,但它并没有按预期工作

parameters{
        file(fileLocation:'list.txt', description:'contains list of projects to be build')
   }
我得到以下错误

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 12: Invalid parameter "fileLocation", did you mean "description"? @ line 12, column 14.
           file(fileLocation:'release-list.txt', description:'contains list of projects to be build')
下面是为基本步骤插件提到的另一个选项

readFile: Read file from workspace
Reads a file from a relative path (with root in current directory, usually workspace) and returns its content as a plain string.
file
Relative ( /-separated) path to file within a workspace to read.
Type: String
encoding (optional)
Type: String
它是按脚本的步骤工作的

def myfile = readFile('list.txt')
echo "${myfile}"

但是如何在声明性脚本中直接使用它,就像我们使用其他基本步骤一样,比如dir???

下面的语法正在起作用

parameters{
        file name:'list.txt', description:'contains list of projects to be build'
   }
但fileLocation参数仍然是不可接受的

Jenkins2 Up&Running book中提供了以下语法,但它不起作用

parameters{
        file(fileLocation:'list.txt', description:'contains list of projects to be build')
   }

file参数的正确参数是
name
description
。因此,它应该是:

file(name:'list.txt', description:'contains list of projects to be build')

然而,2015年就有一个公开的jenkins问题,关于文件参数不适用于管道,所以我认为即使这样也不能解决您的问题

在未解决的问题得到解决之前,我相信我们可能必须坚持自由式模式&在下游管道作业中或在同一作业中利用需要的插件功能处理事情

下面是我的一个尝试,它不考虑文件类型(是也支持二进制文件):

${list.txt}
将指向您案例中的正确文件