मैं जेनकींस बाकी आपी का उपयोग करने की कोशिश कर रहा हूं। निर्देशों में यह कहता है कि मुझे एपीआई कुंजी की आवश्यकता है। मैंने इसे खोजने के लिए सभी विन्यास पृष्ठों को देखा है। मैं जेनकींस के लिए एपीआई कुंजी कैसे प्राप्त करूं?
मैं जेनकींस बाकी आपी का उपयोग करने की कोशिश कर रहा हूं। निर्देशों में यह कहता है कि मुझे एपीआई कुंजी की आवश्यकता है। मैंने इसे खोजने के लिए सभी विन्यास पृष्ठों को देखा है। मैं जेनकींस के लिए एपीआई कुंजी कैसे प्राप्त करूं?
जवाबों:
जेनकिन्स 2.129 के बाद से एपीआई टोकन विन्यास बदल गया है :
अब आपके पास कई टोकन हो सकते हैं और उन्हें नाम दे सकते हैं। उन्हें व्यक्तिगत रूप से निरस्त किया जा सकता है।
जेनकिन्स 2.129 से पहले: निम्नानुसार एपीआई टोकन दिखाएं:
एपीआई टोकन का पता चला है।
आप एपीआई एपीआई टोकन बटन पर क्लिक करके टोकन बदल सकते हैं ।
Show API Tokenयह मान्य नहीं है।
इस पोस्ट को करने के लिए गैर यूआई तरीका जेनकींस 2.129 है:
curl 'https://<jenkinsURL>/me/descriptorByName/jenkins.security.ApiTokenProperty/generateNewToken' \
--data 'newTokenName=foo' \
--user username:Password
कौन सा रिटर्न:
{
"status": "ok",
"data": {
"tokenName": "foo",
"tokenUuid": "<uuid>",
"tokenValue": "<redacted>"
}
}
प्री जेनकिन्स 2.129
curl http://<username>:<password>@<jenkins-url>/me/configure
जेनकिंस 2.225 में परीक्षण किया गया
कई घंटों तक शोध करने के बाद मुझे जवाब मिल सका:
Api टोकन का उपयोग CSFR टोकन के बजाय किया जाता है। हालाँकि, यदि आप किसी अन्य क्लाइंट (POSTMAN, CLI। कर्ल, आदि) से प्रमाणीकरण करना चाहते हैं तो क्या होगा।
सबसे पहले आपको एक सीएसएफआर टोकन प्राप्त करना होगा और एक कुकी में जानकारी को सहेजना होगा --cookie-jar
कर्ल -s - कूकी-जार / tmp / कुकीज़ -u उपयोगकर्ता नाम: पासवर्ड http: // localhost: 8080 / crumbIssuer / api / json
"{_क्लास": "हडसन। security.csrf.DefaultCrumbIssuer", "crumb": "bc92944100d12780cfc251c9255ff323a475562b4ee0b8cc6e6126f4aa5050", "।"
तब हम कुकी को पढ़ सकते हैं --cookieऔर नए टोकन उत्पन्न कर सकते हैं :
curl -X POST -H 'जेनकिंस-क्रम्ब: your_crumb_token_generated_above' --cookie / tmp / कूकीज http: // localhost: 8080 / me / descriptor.yName / jenkins.security.ApiTokenProperty / generateNewToken नया न्यूटोकन है?
{"स्थिति": "ठीक है", "डेटा": {"टोकननाम": "मेरा एंड्रॉइड टोकन", "टोकन यूआईडी": "c510e26c-b2e8-4021-bf79-81x1e4c112af", "tokenValue": "11a2a0c9179179179"