2016-09-08 6 views
5

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

तो, गिटहब एपीआई का उपयोग करके, मैं यह बताने में सक्षम होना चाहता हूं कि लक्ष्य शाखा के साथ एक पुल अनुरोध अद्यतित है या नहीं। ऐसा सबसे नज़दीकी चीज पुल अनुरोध पर "विलय योग्य" विशेषता प्रतीत होती है, लेकिन ऐसा लगता है कि यह केवल यह इंगित करता है कि एक सुरक्षित ऑटो-मर्ज किया जा सकता है, न कि शाखा पहले से ही अद्यतित है या नहीं।

क्या कोई प्रत्यक्ष एपीआई जेसन टैग है जिसे देखा जा सकता है? यदि नहीं, तो क्या यह गिट कमांड के साथ मैन्युअल रूप से जांचने का एक आसान तरीका है?

+0

[आवश्यक स्थिति जांच] (https://github.com/blog/2051- संरक्षित-branches-and-required-status-checks) के पास 'विलय से पहले शाखाएं अद्यतित होने की आवश्यकता है' का विकल्प है। हालांकि यह आपके प्रश्न के एपीआई भाग का जवाब नहीं देता है, यह विचार करने के लिए एक वैध वर्कफ़्लो हो सकता है। – osowskit

उत्तर

5

मुझे नहीं पता कि गिटहब इस जानकारी को उनके एपीआई के माध्यम से उजागर करता है, लेकिन आप इसे गिट कमांड के साथ मैन्युअल रूप से पहचान सकते हैं। आप मर्ज बेस के रूप में जाना जाता है, और यह सुनिश्चित करना चाहते हैं कि यह प्रतिबद्धता master (या जो भी आपकी मुख्य शाखा है) की नोक के समान है।

if [ $(git merge-base @ master) == $(git rev-parse master) ] 
then 
    echo "Your branch is up to date." 
    exit 0 
else 
    echo "You need to merge/rebase." 
    exit 1 
fi 

आप एक निर्माण कदम के रूप में इस स्क्रिप्ट में शामिल है, तो बाहर निकलने के मूल्यों जेनकींस यदि आवश्यक हो तो नौकरी विफल हो जाना चाहिए:

एक स्क्रिप्ट के रूप में, यह कुछ इस तरह दिखेगा।

संबंधित मुद्दे