如何获取用户在Jenkins中上传的文件名?

mbjcgjjk  于 12个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(184)

我已经创建了一个管道从本地上传文件到代理。上传的文件名是在Stashed File参数中设置的。但是,我想使用用户上传的文件名。
my parameter
我的管道脚本

import java.text.SimpleDateFormat
parameters {
    stashedFile(name: 'inputFile', description: 'upload file')
    string(name: 'filename',defaultValue: 'uploadFile', description: 'filename')
}
node('test') {
    stage('upload file') {
        unstash 'inputFile'
        script {
            def fileName = params.filename
            if (fileName == "uploadFile"){
                def now = java.time.LocalDateTime.now()
                fileName = fileName + "${now}"
            }
            def status = sh(script: "mv ./inputFile /tmp/${fileName}", returnStatus: true)
            if (status != 0) {
                currentBuild.result = 'FAILURE'
                error "can't upload file"
            }
        }
    }
    
}

字符串
该脚本工作,但我想删除字符串参数,而不是使用上传文件的文件名。

q1qsirdb

q1qsirdb1#

根据文档,输入文件名将存储在格式为<parameter_name>_FILENAME的环境变量中。基于此,在这种情况下,该值将存在于名为inputFile_FILENAME的变量中,尽管它可能全部大写。因此,为了避免混淆,如果将参数重命名为类似INPUT_FILE的内容,则文件名将被存储在环境变量INPUT_FILE_FILENAME中。

相关问题