我正在创建一个Jenkins管道作业,要求用户上传文件。 这是片段:
stage('Upload a file') {
def inFile = input id: 'file1', message: 'Upload a file', parameters: [file(name: 'data.tmp', description: 'Choose a file')]
sh "echo \\\"Uploaded ${inFile}\\\""
}
当我上传一个zip文件" data123.zip"时,这个原始文件名将丢失并重命名为" data.tmp",这是我从变量{{获得的1}}。
我试过的其他不起作用的东西(我知道其中一些是愚蠢的):
inFile
${inFile.remote}
file(name: '')
file(description: '')
您是否知道在使用Jenkins管道输入步骤上传文件时是否可以获取原始文件名?
答案 0 :(得分:1)
据我所知,您目前无法执行此操作。
在Jenkins中查看此代码-FilePath
步骤返回的input
对象中根本没有原始文件名:https://github.com/jenkinsci/pipeline-input-step-plugin/blob/41d514d266722433181e860d8cf90d56bca5046e/src/main/java/org/jenkinsci/plugins/workflow/support/steps/input/InputStepExecution.java#L385