GitLab वेब हुक से मर्ज अनुरोध के लिए ट्रिगर जेनकिंस का निर्माण


10

मैं चाहता हूँ कि जेनकिन्स (1.561) मर्ज (पुल) अनुरोधों को गीतालाब (6.7.5) में जमा कर, मर्ज अनुरोध वेब हुक द्वारा ट्रिगर किया जाए। मेरे पास एक पैरामीटर निर्मित बिल्ड है, और जेनकिंस प्लगइन्स "गिटलैब मर्ज रिक्वेस्ट बिल्डर" (1.2.0) और "गिटलैब हुक" (1.0.0)। जेनकिंस सीआई के लिए पलायन, दुर्भाग्य से, एक वास्तविक विकल्प नहीं है।

मर्ज अनुरोध बिल्डर प्लगइन है चर के रूप में रूप में लंबे समय, निर्माण मर्ज अनुरोध करने में सक्षम gitlabMergeRequestId, gitlabTargetBranchऔर gitlabSourceBranchउपलब्ध हैं। यह तब अच्छी तरह से काम करता है जब प्लगइन रिपॉजिटरी को ही पोल करता है, या मैं मैनुअल पेलोड (जैसे curl --data "gitlabMergeRequestId=3&so_on http://server_name/job/$JOB_NAME/buildWithParameters) के साथ बिल्ड को ट्रिगर करता हूं, लेकिन मैं इसे हुक के साथ नहीं कर सकता।

GitLab हुक प्लगइन का उपयोग करते हुए, मैं JSON पेलोड में आवश्यक डेटा प्राप्त करने में सक्षम हूं, लेकिन मानों में "डेटा" है:

  • gitlabMergeRequestId है id
  • gitlabTargetBranch है target_branch
  • gitlabSourceBranch है source_branch

मैंने GitLab मर्ज अनुरोध बिल्डर प्लगइन की आवश्यकताओं के रूप में और चर मानों के साथ बिल्ड मापदंडों को कॉन्फ़िगर करने की कोशिश की है । दुर्भाग्य से (और शायद जानबूझकर), खेतों में चर को प्रतिस्थापित नहीं किया जाता है , इसलिए जेनकिंस आईडी और इसी तरह के शाखा मूल्यों के साथ मर्ज अनुरोध की तलाश कर रहा है ।NameDefault ValueDefault Value${id}

मुझे GitLab से भेजे गए पेलोड को कॉन्फ़िगर करने का कोई तरीका नहीं मिला है, और न तो GitLab हुक प्लगइन के लिए कोई कॉन्फ़िगरेशन विकल्प हैं और न ही GitLab मर्ज अनुरोध बिल्डर प्लगइन द्वारा उपयोग किए जाने वाले पैरामीटर नाम।

मैं जेनकिन्स पर जाने से पहले POST से पेलोड को रोकने और बदलने के लिए एक छोटी सी PHP स्क्रिप्ट लिखने पर विचार कर रहा हूं। जबकि मुझे यकीन है कि यह काम करेगा, यह निश्चित रूप से अनावश्यक रूप से जटिल लगता है।

एकमात्र अन्य वास्तविक विकल्प जो मैं देख सकता हूं वह है प्लगइन्स के स्रोत को बदलना, लेकिन यह उन्हें एक पीटीए अपग्रेड करता है।

क्या मैंने कुछ स्पष्ट की अनदेखी की है, या वास्तव में मर्ज अनुरोध को ट्रिगर करने का कोई सरल तरीका नहीं है जो गिटलैब से जेनकिंस तक एक वेब हुक के साथ बनाता है?

जवाबों:


2

Gitlab मर्ज अनुरोध बिल्डर प्लगइन प्लगइन पर एक नज़र है। जेनकींस से जेनकींस को कॉन्फ़िगर करें और विलय अनुरोध बिल्डर में gitlab url सेट करें। https://github.com/todols/jenkins-gitlab-merge-request-builder पर दिए गए निर्देशों को देखें। —प्लगिन


0

इस नए प्लगइन की जाँच करें (gitlab-plugin), शायद यह मदद करता है। यह प्लगइन जेनकिन्स को एक GitlabCI वेब सेवा के रूप में GitlabHQ के साथ उपयोग करने के लिए अनुकरण करता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.