2012-09-06 12 views
5

में किसी दृश्य में प्रोग्रामेटिक रूप से नौकरी जोड़ने के लिए मेरे पास एक जावा प्रोग्राम है जो हडसन सर्वर के सेट के लिए स्वचालित रूप से जेनरेट की गई नौकरियों को नियंत्रित करता है। हडसन रिमोट एपीआई का उपयोग करके नौकरी (कॉन्फ़िगरेशन) बनाने, हटाने या अपडेट करने में कोई समस्या नहीं है। मैंने इसे हडसन विचार बनाने और हडसन व्यू के लिए एक नया काम बनाने में भी प्रबंधित किया। लेकिन मुझे अभी भी यह जानने की जरूरत है कि एक दृश्य में पहले से मौजूद मौजूदा नौकरी को कैसे जोड़ना है और इसे फिर से कैसे हटाया जाए।हडसन

क्या नौकरी करने वाले तर्कों के साथ यूआरएल हैं (जैसे नौकरी निर्माण के लिए)?

उत्तर

1

(जेनकींस v1.424.6 में कम से कम नहीं) दृश्य विन्यास के लिए कोई एपीआई नहीं है, लेकिन यह http://[jenkins-host]/view/foo/configure पर फ़ॉर्म का उपयोग करके foo देखने पर (http://[jenkins]/view/foo/configSubmit को प्रस्तुत) एक नौकरी जोड़ने के लिए संभव हो जाना चाहिए।

यदि आप जावा का उपयोग कर रहे हैं, HTMLUnit या HttpClientApache HttpComponents के साथ आपकी सहायता कर सकते हैं।

+0

मैंने पहले से ही इस दृष्टिकोण की कोशिश की है। लेकिन जिस समस्या का सामना कर रहा हूं वह यह है कि इस फ़ॉर्म को न केवल उन नौकरियों की पूरी सूची की आवश्यकता होती है जिन्हें दृश्य से जोड़ा जाना चाहिए, बल्कि दृश्य कॉलम कॉन्फ़िगरेशन भी होना चाहिए। और दिखाने के लिए colunmns की सूची कॉलम के कार्यान्वयन वर्गों के ज्ञान की आवश्यकता है। यदि कॉलम कॉन्फ़िगरेशन छोड़ा गया है तो दृश्य खाली है, क्योंकि कोई कॉलम नहीं दिखाया गया है। इसके अतिरिक्त फॉर्म का एक जेसन प्रतिनिधित्व भेजा जाना चाहिए। यदि यह छोड़ा गया है, तो स्थिति 500 ​​कोड परिणाम है। यह सब कुछ एक व्यावहारिक समाधान प्रतीत नहीं होता है। –

5

आप Hudson CLI API के माध्यम से एक ग्रोवी स्क्रिप्ट निष्पादित कर सकते हैं जो को देखने के लिए एक नौकरी जोड़ देगा।

import hudson.model.* 

def job = Hudson.instance.getView("View").getItem("Job") 
Hudson.instance.getView("View2").add(job) 

और CLI के लिए आदेश है:: यहाँ कोड है

java -jar hudson-cli.jar -s http://`your-hudson-server` groovy myScript.groovy 

ध्यान दें कि स्क्रिप्ट को निष्पादित करने के लिए ग्रूवी समर्थन प्लगइन आपके हडसन उदाहरण पर स्थापित होना चाहिए। आप इसे यहां इंस्टॉल कर सकते हैं: http: // your-hudson-server/प्लगइन प्रबंधक।