final List props = []
final List newParams = []
newParams += [ $class: 'StashedFileParameterDefinition' , name: 'jsonFile', description: 'to upload file' ]
props += [ $class: 'ParametersDefinitionProperty' , parameterDefinitions: newParams ]
properties( properties: props )
// or
properties([ parameters([ stashedFile('FILE') ]) ])
/**
* get the original filename who was uploaded via File Parameter
*
* @param name the parameter name
* @see <a href="https://plugins.jenkins.io/file-parameters/">File Parameter</a>
**/
String getFilename( String name ) {
env.getEnvironment().find { "${name}_FILENAME" == it.key }?.value ?: ''
}
/**
* unstash the file who was uploaded via File Parameter
*
* @param name the parameter name
* @see <a href="https://plugins.jenkins.io/file-parameters/">File Parameter</a>
**/
Boolean unstashFile( String name ) {
String filename = getFilename( name )
if ( filename ) {
unstash "${name}"
sh """ set +x; mv "${name}" ${filename} """
return util.fileFinder( filename, 0 ) && true
} else {
color.alert( '... no uploaded file found ...' )
return false
}
}
final List props = []
final List newParams = []
newParams += [ $class: 'WHideParameterDefinition' , name: 'HIDDEN_PARAM', description: 'Hidden param' ]
props += [ $class: 'ParametersDefinitionProperty' , parameterDefinitions: newParams ]
properties( properties: props )
// or
final List newParams = []
newParams += hidden( name: 'HIDDEN_PARAM', description: 'Hidden param' )
properties([ parameters(newParams) ])
// or
properties([
parameters([
hidden( name: 'hidden_param', defaultValue: 'hidden_value', description: 'Hidden parameter' )
])
])