मैं केवल एक चरण निष्पादित करने का प्रयास कर रहा हूं यदि कोई फ़ंक्शन मौजूद है:

if (binding.variables.containsKey(functionName)){
    stage ("execute") {
      script{
        "${functionName}"(config)
      }
    }
  }

समस्या यह है कि बाइंडिंग.वेरिएबल्स केवल वेरिएबल लौटाते हैं (मुझे यह अनुमान लगाना चाहिए था)। क्या यह जांचने का कोई तरीका है कि कोई फ़ंक्शन परिभाषित किया गया है या नहीं?

0
Lior Lew 15 फरवरी 2021, 12:11
यह जांचने का एक तरीका है कि क्या कोई विधि परिभाषित की गई है (फ़ंक्शन के बारे में अनिश्चित), लेकिन केवल एक चरण को निष्पादित करने का तरीका नहीं है यदि यह घोषणात्मक वाक्यविन्यास में मौजूद है। क्या आप स्क्रिप्टेड या डिक्लेरेटिव का उपयोग कर रहे हैं? क्या फ़ंक्शन अस्तित्व के बजाय विधि अस्तित्व की जांच करना ठीक है?
 – 
Matt Schuchard
15 फरवरी 2021, 16:32
मैं घोषणात्मक उपयोग कर रहा हूँ। लेकिन फ़ंक्शन को एक स्क्रिप्ट में निष्पादित किया जाना है {} क्लोजर
 – 
Lior Lew
15 फरवरी 2021, 20:18

1 उत्तर

सबसे बढ़िया उत्तर

MethodNotFound अपवाद पदानुक्रम में एक चेक किया गया अपवाद है और try..catch ब्लॉक के साथ ग्रूवी या जावा प्रवाह में कैप्चर करना कठिन है, इसलिए अपने लक्ष्य को प्राप्त करना कठिन है

enter image description here

यदि जेनकिंस में विधि या डीएसएल परिभाषित नहीं है, तो जेनकिंस स्क्रिप्टेड या डिक्लेरेटिव पाइपलाइन को पार्स करते समय अपवाद के माध्यम से होगा - उस स्थिति में, मुझे नहीं लगता कि आप इसे कभी भी कैप्चर कर सकते हैं

1
Samit Kumar Patel 19 फरवरी 2021, 01:35