स्लैक से जेनकिंस की नौकरी के लिए स्ट्रिंग पास करें


12

एक आदर्श दुनिया में हमारे कम तकनीकी जानकार कर्मचारी जॉब चलाने के लिए सिर्फ एक स्लैक कमांड का उपयोग कर सकते हैं और जेनकिन जीयूआई के उपयोग को नकारते हुए परिणाम वापस ला सकते हैं। मैंने पाया GitHub पर एक स्लैक कमांड का उपयोग करके जेनकिन्स में एक निर्माण शुरू करें , लेकिन इसमें कुछ सीमाएं शामिल हैं, जिसमें यह आवश्यक है कि जेनकिंस नौकरी के लिए 1: 1 अनुपात हर्को उदाहरण का उपयोग करें, जो हमारे उद्देश्यों के लिए महान नहीं है।

मेरा विचार है कि लोगों को एक विलक्षण आदेश /jenkinsका उपयोग करना है, और इसके बाद मापदंडों का उपयोग करना है जो एक नौकरी से पार्स हो जाएगा, और दूसरों को डाउनस्ट्रीम को किक करने के लिए उपयोग किया जाता है। यह हमें एक स्लैक कमांड / एक उदाहरण के लिए रखता है, लेकिन फिर भी हमें वह सब लचीलापन देता है जिसकी हमें आवश्यकता होती है।

यह मुद्दा जेनकिन्स के मापदंडों को प्राप्त करने में आता है। मैं निम्नलिखित वर्कफ़्लो की तरह कुछ चित्र बना रहा हूँ;

  1. /Jenkins job2 param1 param2स्लैक में उपयोगकर्ता प्रकार । यह एक छाता काम कह रहा है जो मापदंडों को पार्स करेगा कि यह पता लगाना है कि क्या चलाना है।

  2. कमांड को किसी तरह छाता जेंकिंस जॉब के लिए भेजा जाता है। हरोकू उदाहरण, प्रत्यक्ष एकीकरण, डब्ल्यू / ई।

  3. छाता नौकरी job2 param1 param2एक तार के रूप में प्राप्त करता है । (शायद एकल पैरामीटर के मान के रूप में, शायद कई क्षेत्रों में पूर्व-विभाजन)

  4. यदि यह पहले से ही नहीं किया गया है, तो छाता काम को विभाजित करता है, और यह पता लगाता है कि उपयोगकर्ता job2मापदंडों param1और का उपयोग करके चलाना चाहता है param2

  5. अम्ब्रेला जॉब एक ​​बिल्डजोब को डाउनस्ट्रीम जॉब चलाने के लिए कहते हैं, जो उपयोगकर्ता को उनके परिणामों को वापस लाएगा।

यह 2-3 कदम है जो मुझे तीन गुना कर रहे हैं। मैं स्लेक से अपने जेनकिंस नौकरी के लिए एक स्ट्रिंग (रिक्त स्थान के साथ) कैसे पारित कर सकता हूं?

अगर मेरा पूरा आधार गलत है, तो मैं अपने फ्रेम को चुनौती देने के लिए भी तैयार हूं।

जवाबों:


5

आपके द्वारा पाया गया प्लगइन में बिल्ड नौकरियों के साथ हरोकू उदाहरण के बीच 1: 1 का अनुपात नहीं है क्योंकि यह नौकरी के नाम को पैरामीटर के रूप में लेता है, इसलिए आपको एकल हेरोकू उदाहरण से किसी भी संख्या में नौकरी चलाने में सक्षम होना चाहिए।

नौकरी पैरामीटर में एक स्थान पारित करने के लिए, शब्द विभाजन को रिक्त स्थान पर बनाया गया है, इसलिए उद्धृत करने से कुछ भी नहीं बदलेगा। आप संभवतः HTML रिक्ति वर्ण का उपयोग करने की कोशिश कर सकते %20हैं और देख सकते हैं कि क्या यह काम करता है?

व्यक्तिगत रूप से मैं फ़िल्टरिंग नौकरियों के माध्यम से जाने के बजाय सीधे संबंधित मापदंडों के साथ सही काम चलाने के लिए प्लगइन का उपयोग करने की कोशिश करूंगा।


1
सटीक होने के लिए, रिक्त स्थान पर विभाजन आपके लिंक के ऊपर कुछ पंक्तियाँ बनाई गई है, मैंने पुष्टि करने के लिए पर्याप्त खुदाई नहीं की है या यह सभी रिक्त स्थान पर विभाजित नहीं होगी, लेकिन ऐसा लगता है कि यह
wilk

आप सही हैं, यह इस लाइन द्वारा रिक्त स्थान पर विभाजित है github.com/joshdholtz/jenkins-slack-command/blob/master/… तो यह कोई फर्क नहीं पड़ता कि क्या पैरामीटर के आसपास उद्धरण हैं या नहीं
माइकल

हां मापदंडों को खत्म कर दिया जाता है और फिर से विभाजित हो जाता है = यह टूट जाएगा यदि मान में रिक्त स्थान होता है, तो% 20 का उपयोग सुस्त होने पर पोस्ट किया जा सकता है, लेकिन इसका परीक्षण करना होगा क्योंकि मुझे नहीं पता कि जेनकिंस या स्लैक कैसे पार्स कर सकते हैं या उन्हें रख सकते हैं।
तेंसिबाई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.