从Jenkins管道文件上传获取原始文件名

时间:2017-07-18 08:09:40

标签: jenkins groovy jenkins-pipeline

我正在创建一个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}}。

我试过的其他不起作用的东西(我知道其中一些是愚蠢的):

  1. inFile
  2. ${inFile.remote}
  3. file(name: '')
  4. file(description: '')
  5. 您是否知道在使用Jenkins管道输入步骤上传文件时是否可以获取原始文件名?

1 个答案:

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