জেনকিন্সের জন্য কীভাবে এপিআই টোকেন পাবেন


86

আমি জেনকিন্স রেস্ট এপি ব্যবহার করার চেষ্টা করছি। নির্দেশিকায় এটি বলেছে আমার এপিআই কী থাকা দরকার to এটির জন্য আমি সমস্ত কনফিগারেশন পৃষ্ঠা দেখেছি। জেনকিন্সের জন্য আমি কীভাবে API কী পেতে পারি?


আপনি যদি একই প্রোগ্রামিয়্যাটিকভাবে চান তবে আপনার প্রোগ্রামটি জেনকিনস
আরএসটি

উত্তর:


141

জেনকিন্স ২.১২৯ সাল থেকে এপিআই টোকেন কনফিগারেশন পরিবর্তন হয়েছে :

আপনার এখন একাধিক টোকেন থাকতে পারে এবং নাম রাখতে পারেন। এগুলি স্বতন্ত্রভাবে বাতিল করা যেতে পারে।

  1. জেনকিনসে লগ ইন করুন।
  2. আপনার নামটি ক্লিক করুন (উপরের-ডানদিকে)।
  3. কনফিগার ক্লিক করুন (বাম দিকের মেনু)।
  4. একটি নতুন তৈরি করতে তার নাম দিন "নতুন টোকেন যুক্ত করুন" বোতামটি ব্যবহার করুন।
  5. টোকেনটি তৈরি করার সময় আপনাকে অবশ্যই অনুলিপি করতে হবে কারণ আপনি পরে টোকেনটি দেখতে পাচ্ছেন না।
  6. আর দরকার নেই তখন পুরানো টোকেন প্রত্যাহার করুন।

জেনকিন্স 2.129 এর আগে: নীচে API টি টোকানটি দেখান:

  1. জেনকিনসে লগ ইন করুন।
  2. আপনার নামটি (উপরের-ডানদিকে) ক্লিক করুন।
  3. কনফিগার ক্লিক করুন (বাম দিকের মেনু)।
  4. শো এপিআই টোকেন ক্লিক করুন

এপিআই টোকেন প্রকাশিত হয়।

পরিবর্তন এপিআই টোকেন বোতামটি ক্লিক করে আপনি টোকেন পরিবর্তন করতে পারেন।


4
এটা পেতে কি কোনও এপিআই আছে?
মধু অবিনাশ

4
এই টোকেনের মেয়াদ শেষ হয়ে যাবে?
nd103

Show API Tokenমনে হয় এটি আর বৈধ নয়।
সৈকত

4
@ মাধুঅভিনশ আমার উত্তর নীচে দেখুন
রাজি

এফওয়াইআই জেনকিন্স ২.১৫০.১ এ কমপক্ষে একটি টোকেন উপস্থিত না হওয়া পর্যন্ত "নতুন টোকেন যুক্ত করুন" বোতামটি উপস্থিত হবে বলে মনে হচ্ছে না। ইউআই ছাড়াই কীভাবে এটি করা যায় তার জন্য দয়া করে @ রাগির উত্তরটি দেখুন।
এম__

18

জেনকিন্স ২.১২৯ পোস্টটি করার নন ইউআই উপায় হ'ল:

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 

4
আপনার কার্ল অনুরোধে আপনাকে সিএসআরএফ ক্র্যাম্ব ( উইকি.জেনকিনস.আইও / ডিসপ্লে / জেনকিনস / রেমোট + অ্যাক্সেস + এপিআই ) অন্তর্ভুক্ত করতে হবে, অন্যথায় এটি 403: নিষিদ্ধের সাথে ব্যর্থ হবে।
এমকেস্পার

যদি ব্যবহারকারীর নাম নাম
@domain.com হয় তবে আমরা জেনকিন্স

4
@ সিবি কোডার '@' এর পরিবর্তে '% 40'
টিম কিস্ট

2

জেনকিন্স ২.২২২ এ পরীক্ষিত

বেশ কয়েক ঘন্টা গবেষণা করার পরে আমি উত্তরটি খুঁজে পেতে পারি:

সিপিএফআর টোকেনের পরিবর্তে অপি টোকেন ব্যবহৃত হয়। তবে, আপনি যদি অন্য কোনও ক্লায়েন্টের (POSTMAN, CLI। Curl, ইত্যাদি) প্রমাণীকরণ করতে চান তবে কি হবে।

প্রথমে আপনাকে একটি সিএসএফআর টোকেন পেতে এবং একটি কুকিতে তথ্য সংরক্ষণ করতে হবে --cookie-jar

  • অনুরোধ

কার্ল-এস - কুকি-জার / টিএমপি / কুকিজ -u ব্যবহারকারীর নাম: পাসওয়ার্ড http: // লোকালহস্ত: 8080 / crumbIssuer / এপিআই / জেসন

  • প্রতিক্রিয়া

_ "_ক্লাস": "হডসন.সিকিউরিটি.সিআরএফ.ডাফল্টক্রম্বইসুয়ার", "ক্রম্ব": "বিসি 92944100d12780cfc251c9255f3f323a475562b4ee0d8b9cc6e4121f50a450" "ক্রম্বআম্বসফিল্ড"

তারপরে আমরা কুকি সহ পড়তে পারি --cookie নতুন টোকেন উত্পন্ন করতে পারি:

  • অনুরোধ

কার্ল-এক্স পোষ্ট-এইচ 'জেনকিনস-ক্রাম্ব: আপনার_ক্র্যাম্ব_টোকেন_জেনারেটেড_বভ' - কুকি / টিএমপি / কুকিজ http: // লোকালহোস্ট: 8080 / আমার / বর্ণনাকারক নাম / জেনকিনস.সিকিউরিটি.এপিপিটোকনপ্রপ্রেটি / জেনারেটে নতুন টোকেন_নাম_নোকড_নোকেন_নাম_পেনথন ইউজারনেম?

  • প্রতিক্রিয়া

{ "অবস্থা": "ঠিক আছে", "ডেটা": { "tokenName": "আমার Android টোকেন", "tokenUuid": "c510e26c-b2e8-4021-bf79-81d1e4c112af", "tokenValue": "11a2a0c91913d1391d8e8cb155ca714581"}}

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.