1 उत्तर

सबसे बढ़िया उत्तर

मान लें कि आप कर्ल का उपयोग करके गिटलैब एपीआई को कॉल कर रहे हैं, आपको एपीआई टोकन को स्पष्ट रूप से पास करने की आवश्यकता है। GitLab Documentation को ध्यान से पढ़ें, क्योंकि इसमें काफी कुछ गड़बड़ियां हैं। .

कर्ल कमांड में क्रेडेंशियल

कर्ल कमांड में क्रेडेंशियल पास करने के कुछ सामान्य तरीके यहां दिए गए हैं:

एक पैरामीटर के रूप में:

curl "$CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID?private_token=<your_access_token>"

हेडर के रूप में:

curl --header "PRIVATE-TOKEN: <your_access_token>" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID"

सीआई जॉब टोकन

GitLab दस्तावेज़ीकरण निर्दिष्ट करता है कि कौन सी API कॉल कर सकते हैं $CI_JOB_TOKEN के साथ बनाया जाए:

कुछ एपीआई एंडपॉइंट्स के साथ आप एपीआई के साथ प्रमाणित करने के लिए गिटलैब सीआई/सीडी जॉब टोकन का उपयोग कर सकते हैं: पैकेज, आर्टिफैक्ट्स, पाइपलाइन ट्रिगर्स, रिलीज क्रिएशन, टेराफॉर्म प्लान।

ध्यान दें कि मर्ज अनुरोध उस सूची में नहीं है, इसलिए यह काम नहीं करेगा।

सीआई बिल्ड टोकन

इसके अनुसार issue, $CI_BUILD_TOKEN को GitLab 9.x में हटा दिया गया था और इसका नाम बदलकर $CI_JOB_TOKEN कर दिया गया था, इसलिए यह भी काम नहीं करेगा।

व्यक्तिगत पहुंच टोकन

आप व्यक्तिगत एक्सेस टोकन, या PATs का उपयोग करके GitLab API को प्रमाणित कर सकते हैं . सबसे पहले, इन निर्देशों का इस्तेमाल करके अपना PAT बनाएं . सुनिश्चित करें कि आपने कार्यक्षेत्र के रूप में api का चयन किया है। फिर, इन निर्देशों का पालन करते हुए GitLab वैरिएबल में टोकन जोड़ें। /ए>. सुनिश्चित करें कि आपने "मास्क वैरिएबल" को सक्षम किया है ताकि लॉग में आपका टोकन उजागर न हो। अब, gitlab-ci.yml में, आपके द्वारा बनाया गया चर एक पर्यावरण चर के रूप में उपलब्ध होगा।

2
DV82XL 25 जिंदा 2021, 07:35
व्यक्तिगत पहुंच टोकन! धन्यवाद!
 – 
Олег Привалов
6 फरवरी 2021, 14:17