jenkins ${CHANGES} को डाउनस्ट्रीम नौकरी से कैसे पारित किया जाए?




hudson jenkins-plugins (2)

मैंने एक सभी परिवर्तन प्लगइन देखा जो परिवर्तन पृष्ठ को अपडेट करता है। पता नहीं क्या $ परिवर्तन भी उस जानकारी से आबादी हो जाता है।

अगर यह काम नहीं करता है, तो जेनकिंस में बिल्ड चैंजलॉग के लिए एक्सेस प्राप्त करें

मेरे ऊपर की ओर की नौकरी है कि परिवर्तनों के लिए एसवीएन चुनाव यदि परिवर्तन का पता लगाया जाता है, तो बिल्ड शुरू हो गया है। निर्माण के बाद, अपस्ट्रीम परियोजना कॉलस्ट्रीम प्रोजेक्ट को टेस्ट चलाने के लिए कहती है। मैं "ट्रिगर पैरामाइक्साइड बिल्ड" का उपयोग कर रहा हूँ

मैं चाहता हूं कि डाउनस्ट्रीम प्रोजेक्ट परीक्षा परिणाम और एसवीएन परिवर्तन के साथ एक ईमेल भेजने में सक्षम हो जो निर्माण / परीक्षण के कारण हो। लेकिन समस्या यह है कि अगर मैं डाउनस्ट्रीम में $ {CHANGES} वैरिएबल का उपयोग कर रहा हूं तो यह खाली दिखाई देता है

मैं अपस्ट्रीम प्रोजेक्ट से डाउनस्ट्रीम प्रोजेक्ट को $ {CHANGES} कैसे पारित कर सकता हूं?


आप परिवर्तन सेट या मूल्यों को जीरोवी स्क्रिप्ट के साथ प्राप्त कर सकते हैं:

def jenkins = Jenkins.getInstance()
def job = jenkins.getItem(jobName)
def bld = job.getBuildByNumber(buildNumber)
def changeSet = bld.getChangeSet()

तो यह निर्भर करता है कि किस स्किम प्लगइन का आप उपयोग करते हैं, उदाहरण के लिए, आप git-plugin के साथ कर सकते हैं:

प्रत्येक परिवर्तन का संशोधन प्राप्त करें:

changeSet.each{
    println it.getRevision()
}

प्रत्येक परिवर्तन के लिए संदेश प्राप्त करें:

changeSet.each{
    println it.getMsg()
}

प्रभावित पथ प्राप्त करें:

changeSet.each{
   println it.getAffectedPaths()
}

लेखक का नाम प्राप्त करें:

changeSet.each{
    println it.getAuthorName()
}

और कई और अधिक कार्रवाई





hudson-plugins