2016-05-18 6 views
6

वर्तमान प्रोजेक्ट वर्कस्पेस की एक फ़ाइल किसी अन्य प्रोजेक्ट के पैरामीटर के रूप में कैसे पारित की जा सकती है।एक जेनकींस में फ़ाइल पैरामीटर वैल्यू का उपयोग कैसे करें 2 पाइपलाइन

उदा। कुछ ऐसा:

build job: 'otherproject', parameters: [[$class: 'FileParameterValue', name: 'output.tar.gz', value: ??? ]], wait: false 

उत्तर

0

मैंने हाल ही में इसे कम सफलता के साथ आजमाया है। इसके साथ एक समस्या प्रतीत होती है। इसलिए जैसे

@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 का उपयोग किया, और समस्या के आसपास हो गया। यह निश्चित रूप से आदर्श नहीं है लेकिन यदि आप जाम में हैं तो इसे हल करने का सबसे तेज़ तरीका है।

0

आप नहीं कर सकते। जेनकिन्स बग यहाँ है। बग ठीक होने के बाद इस थ्रेड को अपडेट करें। इस बीच, इस मुद्दे के लिए लॉगिन करें और वोट दें और उन्हें पाइपलाइन बिल्ड जॉब पैरामीटर के लिए दस्तावेज़ जोड़ने के लिए कहें।

https://issues.jenkins-ci.org/browse/JENKINS-27413

यहां से करने के लिए लिंक किए गए: http://jenkins-ci.361315.n4.nabble.com/pipeline-build-job-with-FileParameterValue-td4861199.html

यहाँ मापदंडों के FileParameterValue का एक उदाहरण पारित करने के लिए विभिन्न प्रकार के पैरामीटर (FileParameterValue के लिए लिंक)

http://javadoc.jenkins.io/hudson/model/FileParameterValue.html

0

कोशिश के लिए दस्तावेज़ है (यह मेरे लिए काम करता है):

import hudson.model.* 

def param_file = new File("path/to/file") 

build job: 'otherproject', parameters: [new FileParameterValue('file_param_name', param_file, 'original_file_name')], wait: false 
संबंधित मुद्दे