ऐसा लगता है कि टेस्टफ्लाइट प्लगइन "बिल्ड नोट्स" फ़ील्ड में रखे गए चर का विस्तार करता है, इसलिए प्रश्न यह है कि हम वर्तमान निर्माण के लिए पर्यावरण चर में परिवर्तन कैसे प्राप्त कर सकते हैं?
जहां तक मुझे पता है, सबवर्जन प्लगइन इस जानकारी को पर्यावरण चर के माध्यम से प्रदान नहीं करता है। हालांकि, सभी जेनकींस एससीएम प्लगइन्स चेंजलॉग जानकारी को एकीकृत करते हैं, क्योंकि आप प्रत्येक निर्माण के लिए वेब यूआई में "परिवर्तन" लिंक के माध्यम से देख सकते हैं।
यह जानकारी जेनकींस एपीआई के माध्यम से भी उपलब्ध है, भले ही निर्माण प्रगति पर है।
उदाहरण के लिए
, तो आप एक "खोल निष्पादित" का निर्माण कदम जहाँ आप इस आदेश चला जोड़ते हैं:
<changes>
<comment>First commit.</comment>
<comment>Second commit.</comment>
</changes>
:
curl -s "http://jenkins/job/my-job/$BUILD_NUMBER/api/xml?wrapper=changes&xpath=//changeSet//comment"
आप एक XML दस्तावेज इस के समान मिल जाएगा फिर आप इस जानकारी को प्रारूपित कर सकते हैं, हालांकि आप इसे एक पर्यावरण चर में पसंद करते हैं और उसे टेस्टफलाइट "बिल्ड नोट्स" अनुभाग में संदर्भित किया जा सकता है।
हालांकि, निर्माण चरण में एक पर्यावरण चर सेट करना डिफ़ॉल्ट रूप से — द्वारा लगातार नहीं है, इसलिए EnvInject Plugin का उपयोग करने की आवश्यकता है।
इस मामले में, आप एक अस्थायी फ़ाइल में अपने बदलाव का पाठ की तरह सामग्री के साथ लिख सकते हैं:
CHANGELOG="New in this build:\n- First commit.\n- Second commit."
फिर, Environment Properties File Path विकल्प के साथ एक निर्माण कदम का उपयोग कर इस फ़ाइल को लोड करने से, $CHANGELOG
चर मौजूद होगा अपने पर्यावरण में और निर्माण के अंत तक बने रहें, जिससे आप इसे "बिल्ड नोट्स" फ़ील्ड में उपयोग कर सकते हैं।
नोट: मैं TestFlight प्लगइन अपने आप का इस्तेमाल किया है नहीं (हालांकि मैं कोड का शीघ्रता से अवलोकन लिया), और मैं केवल एक Git भंडार के साथ परिवर्तन एपीआई का परीक्षण किया। इसी प्रकार, मैंने परीक्षण नहीं किया कि कैसे EnvInject प्लगइन के साथ newlines एन्कोड किया जाना चाहिए, जिससे मुद्दों का कारण बन सकता है।
मुझे एक ही चीज़ की आवश्यकता थी। इस सवाल पूछने के लिए धन्यवाद, और मैं जवाब के लिए और भी आभारी हूं। – makdad