मैं एक ही समस्या से फंस गया था और Evgeny द्वारा उल्लिखित मुद्दे के लिए मतदान किया था। एक समाधान जो हमने सोचा था, जैसा कि उल्लेख किया गया है Sergiussergius, REST API का उपयोग कर कस्टम-बिल्ड पैरामीटर को पारित करके मैन्युअल रूप से अगले बिल्ड-कॉन्फ़िगरेशन को ट्रिगर करने के लिए बिल्ड-चरण अनुक्रम में एक अंतिम चरण जोड़ना था। लेकिन इस मामले में, हम बिल्ड-चेन की जानकारी खो रहे हैं। टीमसिटी 9 .x का उपयोग करके, आरईएसटी एपीआई पर कुछ सामानों की कोशिश कर रहा है, मैं एक समाधान को कार्यान्वित कर सकता हूं जो ट्रिगरिंग (पूर्वजों) के निर्माण और ट्रिगर (बच्चे) निर्माण से इसके पैरामीटर को पुनर्प्राप्त करना संभव बनाता है। पहली बात हम करते हैं वातावरण चर TeamCity द्वारा निर्धारित का उपयोग कर वर्तमान बिल्ड हो रही है:
https://<host>/httpAuth/app/rest/builds/number:<env.BUILD_NUMBER>,buildType:(name:<env.TEAMCITY_BUILDCONF_NAME>,project:<env.TEAMCITY_PROJECT_NAME>)
बाकी एपीआई से कार्रवाई करते हुए हमने एक /निर्माण/ टैग जो ट्रिगर बारे में जानकारी शामिल शुरू हो रहा । ऐसा लगता है कि इस
<triggered type="unknown" details="##triggeredByBuildType='<triggering-build-configuration-internalId>' triggeredByBuild='<triggering-build-number>'" date="20160105T190642+0700"/>
की तरह हमारे लिए btxxx दिखता लग रहा है। यह से, हम बाकी एपीआई के लिए निम्न अनुरोध का उपयोग कर ट्रिगर-निर्माण (पूर्वज) का उपयोग कर सकते हैं:
https://<host>/httpAuth/app/rest/builds/number:<triggering-build-number>'4,buildType:(internalId:<triggering-build-configuration-internalId>1,project:name:<env.TEAMCITY_PROJECT_NAME>)
प्रतिक्रिया से, हम पूर्वज-निर्माण के मानकों मान प्राप्त कर सकते है, और वर्तमान में यह सेट का उपयोग करते हुए निर्माण:
echo "##teamcity[setParameter name='env.ENV_AAA' value='aaaaaaaaaa']")
नोट्स:
- इस पोस्ट संदर्भ TeamCity संस्करण 7.X. मैंने टीमसिटी संस्करण 9. एक्स का उपयोग करके ऐसा किया, और पिछले संस्करण के साथ इसे आजमाया नहीं जा सका। मुझे नहीं पता कि मेरी पोस्ट में उल्लिखित आरईएसटी एपीआई कॉल पिछले संस्करणों में समान हैं या नहीं।
- इस समाधान में, पूर्वजों के निर्माण-कॉन्फ़िगरेशन (जो निर्माण को ट्रिगर करता है) और बच्चे के निर्माण-कॉन्फ़िगरेशन (एक ट्रिगर) एक ही प्रोजेक्ट में हैं। मैंने 2 अलग-अलग परियोजनाओं में बिल्ड-कॉन्फ़िगरेशन का उपयोग करके परीक्षण नहीं किया: मैं "ट्रिगर" टैग को पूर्वजों की परियोजना के बारे में जानकारी प्रदान करने की अपेक्षा करता हूं। यह अच्छा होगा अगर कोई परीक्षण कर सके।
मुझे आशा है कि यह समाधान मदद कर सकता है!
स्रोत
2016-01-13 15:48:06
अच्छी छोटी शक्तियां पर्याप्त हैं। लेकिन जेटब्रेन के लोगों के लिए टीमसीटी में यह सुविधा नहीं होने के कारण यह बहाना नहीं हो सकता है। –