2013-08-29 6 views
21

विफल रहता है तो कुछ तर्क निष्पादित करने के लिए मैं एक बांस प्लगइन लिखने की प्रक्रिया में हूं, जिसमें से अधिकांश पूर्ण हो गया है।बांस: अगर नौकरी रद्द हो जाती है या

प्लगइन एक दूरस्थ प्रक्रिया किसी सर्वर के लिए मतदान एक ही सर्वर एक पोस्ट अनुरोध के माध्यम से बंद शुरू करने और फिर जब तक यह बताने वाला एक संदेश प्रक्रिया पूर्ण हो जाने से काम करता है हो जाता है या कोई त्रुटि आ - इस भाग काम करता है।

मैं कुछ अतिरिक्त तर्क उपयोगकर्ता नौकरी रद्द करता है, तो मैं कहाँ इस सर्वर सूचित कर सकते हैं जोड़ना चाहते हैं, फिर भी मैं कैसे इस बारे में जाने के लिए की अनिश्चित हूँ।

मैं किसी अन्य कार्य जो एक अंतिम कार्य के रूप में चलाता है बनाने के साथ के बारे में खेल चुके हैं, फिर भी मैं अगर पिछले कार्यों के किसी भी विफल रहा है या रद्द कर दिया गया पता लगाने के लिए कैसे पता नहीं है।

मैंने पिछले कार्य के परिणामों की सूची प्राप्त करने के लिए List<TaskResult> taskResults = taskContext.getBuildContext().getBuildResult().getTaskResults(); का उपयोग करने का प्रयास किया है, हालांकि यह हमेशा 0 कार्य परिणामों को वापस करने के लिए प्रतीत होता है।

मैं भी एक पोस्ट-बिल्ड पूरे कार्रवाई मॉड्यूल का उपयोग करने की कोशिश की है, लेकिन मैं अनिश्चित कैसे मैं एक नौकरी के लिए इस जोड़ना होगा हूँ और इस पर प्रलेखन मुझे थोड़ा चक्कर में पड़ गया है।

यदि कोई मुझे सही दिशा में मदद कर सकता है तो मैं इसकी सराहना करता हूं।

+2

मुझे लगता है कि तुम सिर्फ एक घटना श्रोता बनाने पर गौर करना चाहिए: /: https://developer.atlassian.com/display/BAMBOODEV/Bamboo+Event+Listeners वहां पहले से ही है वहाँ एक घटना आप के लिए https सुन सकते हैं /docs.atlassian.com/atlassian-bamboo/2.7/com/atlassian/bamboo/event/BuildCanceledEvent.html – fogedi

+0

@bScutt: आपको शायद यहां पोस्ट करने के बजाय https://answers.atlassian.com/ पर अधिक उत्तर मिलेंगे, लेकिन फोगेदी सही है। श्रोता को पंजीकृत करें, और BuildCanceledEvent को सुनें, और उपयोगकर्ता द्वारा रद्द की गई सेवा (ओं) के उचित अनुरोध पोस्ट करें। – Chii

+0

@bScutt एटलसियन उत्तर एटलसियन से संबंधित प्रश्नों के लिए एक बेहतर जगह है: http://answers.atlassian.com (नोट: जैसा कि वे वर्तमान में किसी अन्य प्लेटफॉर्म पर माइग्रेट करते हैं, आप वहां पोस्ट नहीं कर पाएंगे) – Adrian

उत्तर

7

पढ़ने तुम क्या लिखा था से, मुझे लगता है कि एक घटना श्रोता का उपयोग कर निश्चित रूप से आपकी समस्या दृष्टिकोण सही तरीका है। नीचे मैंने अपनी खुद की सृष्टि की एक छवि प्रदान की है जो आपके द्वारा निर्मित किए गए वर्णन का वर्णन करती है और यह दिखाती है कि ईवेंट श्रोता को कहां रखा जा सकता है।

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

आरेख enter image description here

मुझे आशा है कि इस मदद करता है।

संबंधित मुद्दे