मैंने हाल ही में इसे कम सफलता के साथ आजमाया है। इसके साथ एक समस्या प्रतीत होती है। इसलिए जैसे
@DataBoundConstructor
FileParameterValue(String name,
org.apache.commons.fileupload.FileItem file)
एक और जो नहीं है उम्मीद है एक FileItem
:
FileParameterValue(String name,
File file,
String originalFileName)
लेकिन बाद से ही पूर्व @DataBoundConstructor
भी जब साथ टिप्पणी की जाती है documentation for class FileParameterValue के अनुसार वहाँ एक निर्माता है जो एक java.io.File
इसलिए की तरह स्वीकार करता है
file = new File(pwd(), 'test.txt');
build(
job: 'jobB',
parameters: [
[$class: "FileParameterValue", name: "TEST_FILE", file: file, originalFileName: 'test.txt']
]
)
नोट इस requi कि: मैं एक स्क्रिप्ट में बाद इस्तेमाल करने की कोशिश रेस java.io.File
instantiating के लिए स्क्रिप्ट अनुमोदन ... मैं निम्नलिखित त्रुटि मिलती है:
java.lang.ClassCastException: hudson.model.FileParameterValue.file expects interface org.apache.commons.fileupload.FileItem but received class java.io.File
मैं समझता हूँ कि केवल एक फ़ाइल इंटरैक्टिव क्रम इनपुट के रूप में प्रयोक्ता द्वारा अपलोड में टाइप org.apache.commons.fileupload.FileItem
इसलिए की एक वस्तु प्रदान करता है अंत में मैंने पहली नौकरी में archiving the file और डाउनस्ट्रीम नौकरी में unarchiving का उपयोग किया, और समस्या के आसपास हो गया। यह निश्चित रूप से आदर्श नहीं है लेकिन यदि आप जाम में हैं तो इसे हल करने का सबसे तेज़ तरीका है।