नाम और संस्करण जोड़ी के साथ स्थापित जेनकिंस प्लगइन्स की सूची कैसे प्राप्त करें


159

मैं स्थापित जेनकिंस प्लगइन्स की सूची कैसे प्राप्त कर सकता हूं?

मैंने जेनकिंस रिमोट एक्सेस एपीआई दस्तावेज़ खोजा, लेकिन यह नहीं मिला। क्या मुझे जेनकिन्स सीएलआई का उपयोग करना चाहिए? क्या कोई दस्तावेज या उदाहरण है?

जवाबों:


161

आप जेनकिंस स्क्रिप्ट कंसोल का उपयोग करके जानकारी पुनः प्राप्त कर सकते हैं जो कि विजिट करके सुलभ है http://<jenkins-url>/script। (यह देखते हुए कि आप लॉग इन हैं और आवश्यक अनुमतियाँ हैं)।

स्क्रिप्ट कंसोल का स्क्रीनशॉट

निम्न दर्ज ग्रूवी स्क्रिप्ट प्लग इन इंस्टॉल पर पुनरावृति करने और प्रासंगिक जानकारी का प्रिंट आउट:

Jenkins.instance.pluginManager.plugins.each{
  plugin -> 
    println ("${plugin.getDisplayName()} (${plugin.getShortName()}): ${plugin.getVersion()}")
}

यह परिणाम सूची को इस तरह प्रिंट करेगा (क्लिप्ड):

स्क्रिप्ट आउटपुट का SScreenshot

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

अपडेट करें

यदि आप क्रमबद्ध सूची पसंद करते हैं, तो आप इस sortविधि को कॉल कर सकते हैं :

def pluginList = new ArrayList(Jenkins.instance.pluginManager.plugins)
pluginList.sort { it.getShortName() }.each{
  plugin -> 
    println ("${plugin.getDisplayName()} (${plugin.getShortName()}): ${plugin.getVersion()}")
}

अपनी पसंद के हिसाब से क्लोजर को समायोजित करें (जैसे कि यह शॉर्टनेम द्वारा सॉर्ट किया गया है, उदाहरण में इसे नेम नेम द्वारा सॉर्ट किया गया है)


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

8
जल्दी से docker Jenkins के लिए plugins.txt बनाने के लिए शानदार जवाब!
एरिक एंगलंड

1
सॉर्टिंग को जोड़ना उपयोगी हो सकता है ताकि प्लगइन्स की सूची सुसंगत हो: Jenkins.instance.pluginManager.plugins.sort({it.getDisplayName()}).each{ plugin -> println ("${plugin.getDisplayName()} (${plugin.getShortName()}): ${plugin.getVersion()}") }
व्हीलेफ

1
यह वह उत्तर है जिसे हमने स्थानीय रूप से मेरे XPath सुझाव के बजाय ऊपर स्विच किया है, एक कर्ल अनुरोध के साथ लिपटा हुआ है और स्रोत प्लगइन्स से निर्मित कुछ प्रूनिंग है जो हम इस दृष्टिकोण का उपयोग करते हैं। echo 'script=Jenkins.instance.pluginManager.plugins.each{ plugin -> println ("${plugin.getShortName()}:${plugin.getVersion()}") } null' \ | no_proxy=localhost curl --netrc --silent --data-binary @- -X POST "http://localhost:8080/jenkins/scriptText" | sort > plugins.txt
dbailey

8
तरह काम नहीं करता है, यह इन दिनों एक unmodifiableMap है। उपयोग:jenkins.model.Jenkins.instance.getPluginManager().getPlugins().stream().sorted().each { println "${it.getShortName()} | ${it.getVersion()} | ${it.getDisplayName()}" }
एड रान्डेल

96

इन दिनों मैं https://Backoverflow.com/a/35292719/1597808 के बजाय नीचे दिए गए उत्तर के रूप में उसी दृष्टिकोण का उपयोग करता हूं


आप गहराई, XPath और आवरण तर्क के साथ संयोजन में API का उपयोग कर सकते हैं।

निम्नलिखित सभी प्लगइन्स को सूचीबद्ध करने के लिए pluginManager के एपीआई को क्वेरी करेगा, लेकिन केवल उनके शॉर्टनेम और संस्करण विशेषताओं को वापस करने के लिए। आप निश्चित रूप से 'जोड़कर अतिरिक्त फ़ील्ड प्राप्त कर सकते हैं।' XPath पैरामीटर के अंत में और नोड की पहचान करने के लिए पैटर्न निर्दिष्ट करना।

wget http://<jenkins>/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins

इस मामले में आवरण तर्क की आवश्यकता है, क्योंकि यह परिणाम के हिस्से के रूप में एक से अधिक नोड लौटा रहा है, दोनों में यह एक्सपीथ और कई प्लगइन नोड के साथ कई क्षेत्रों का मिलान कर रहा है।

यह शायद ब्राउज़र में निम्न URL का उपयोग करने के लिए उपयोगी है यह देखने के लिए कि प्लगइन्स पर क्या जानकारी उपलब्ध है और फिर तय करें कि आप XP3 का उपयोग करके क्या सीमित करना चाहते हैं:

http://<jenkins>/pluginManager/api/xml?depth=1

नमस्ते, क्या आप जानते हैं कि प्लगइन्स की सूची कैसे प्राप्त की जाती है जो वास्तव में स्थापित प्लगइन्स की पूरी सूची के बजाय जेनकिंस जॉब्स और जेनकिंस सिस्टम द्वारा उपयोग की जाती है? धन्यवाद
user1164061

3
मैक ओएस एक्स पर मेरे लिए अच्छी तरह से काम किया। मैं आउटपुट को एक सादे पाठ सूची में बदलना चाहता था, इसलिए टैग को छीनने के लिए कुछ पर्ल रेगेक्स का उपयोग किया:curl 'http://192.168.197.133:8080/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins' | perl -pe 's/.*?<shortName>([\w-]+).*?<version>([^<]+)()(<\/\w+>)+/\1 \2\n/g'
जी। लोम्बार्ड

8
JSON प्रारूप में वैकल्पिक:curl -s -k "http://jenkins/pluginManager/api/json?depth=1" | jq '.plugins[]|{shortName, version,longName}' -c
MarkHu

1
मेरा मानना ​​है कि इसके लिए प्रशासन के विशेषाधिकारों की आवश्यकता है, लेकिन मुझे यकीन नहीं है।
mkobit

2
पुष्टि की गई कि इसके लिए 2016-05-11 प्रति सुरक्षा सलाहकार के लिए विशेषाधिकारों की आवश्यकता है ।
mkobit

29

जेनकिंस 1.588 ( नवंबर, 2014 के 2 एन डी ) और 1.647 ( फरवरी, 2016 के 4 वें )

  • जेनकिंस> जेनकींस प्रबंधित करें

    यहां छवि विवरण दर्ज करें

  • प्रणाली की जानकारी

    यहां छवि विवरण दर्ज करें

  • प्लगइन्स

    यहां छवि विवरण दर्ज करें


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

24

जेनकिन्स सीएलआई सभी स्थापित प्लगइन्स को सूचीबद्ध करने का समर्थन करता है:

java -jar jenkins-cli.jar -s http://localhost:8080/ list-plugins


यह प्लगइन की स्थिति को सूचीबद्ध नहीं करेगा।
अखन

1
और list-pluginsCLI कमांड के लिए उपयोगकर्ता के पास समग्र / RunScripts अनुमति की आवश्यकता नहीं है जैसा कि groovyकमांड करता है।
जोस एंडियास

यह एक एपीआई टोकन के साथ काम करने के लिए प्रकट नहीं होता है यदि उपयोगकर्ता / टोकन "समग्र / प्रशासक" नहीं है।
1919 cgseller

21

इस तरह से जेनकिंस सीएलआई का उपयोग करें:

java -jar jenkins-cli.jar -s http://[jenkins_server] groovy = < pluginEnumerator.groovy

=कॉल में 'मानक इनपुट से पढ़ें' का मतलब है । pluginEnumerator.groovy में निम्नलिखित Groovy कोड होते हैं:

println "Running plugin enumerator"
println ""
def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()
plugins.each {println "${it.getShortName()} - ${it.getVersion()}"}
println ""
println "Total number of plugins: ${plugins.size()}"

यदि आप कोड के साथ खेलना चाहते हैं, तो यहां जेनकींस जावा एपीआई प्रलेखन है


@ user1284795, क्या यह मददगार था?
malenkiy_scot

1
नमस्ते, क्या आप जानते हैं कि सभी प्लगइन्स स्थापित होने के बजाय जेनकिंस सिस्टम और जेनकिंस जॉब द्वारा उपयोग किए जाने वाले प्लगइन्स कैसे प्राप्त करें? मैं चाहूंगा कि मुझे सभी अप्रयुक्त प्लगइन्स को अनइंस्टॉल करने में मदद मिले। किसी भी मदद की सराहना की है। धन्यवाद!
user1164061

यह स्वीकृत उत्तर होना चाहिए। @ user1164061, मुझे नहीं लगता कि नौकरी बनाम सर्वर पर दिखाई देने वाले प्लगइन्स के बीच कोई अंतर है। एक isActive()एपी है जिसे आप प्लगइन की स्थिति प्राप्त करने के लिए इस उत्तर में ग्रूवी स्क्रिप्ट में उपयोग कर सकते हैं। Javadoc.jenkins-ci.org/hudson/PluginWrapper.html#isActive () देखें ।
अखन

20

यदि आप docker परिवेश में काम कर रहे हैं और प्लगइन सूची में आउटपुट सूची बनाना चाहते हैं। तो इसे install_scripts.sh में पास करने के लिए http://{jenkins}/scriptकंसोल में इन लिपियों का उपयोग करें :

  1. यह संस्करण विशिष्ट पैकेज संस्करण प्राप्त करने के लिए उपयोगी है
Jenkins.instance.pluginManager.plugins.each{
  plugin -> 
    println ("${plugin.getShortName()}:${plugin.getVersion()}")
}
  1. यदि आप केवल नवीनतम संस्करण के साथ प्लगइन चाहते हैं तो आप इसका उपयोग कर सकते हैं (धन्यवाद टिप के लिए @KymikoLoco)
Jenkins.instance.pluginManager.plugins.each{
  plugin -> 
    println ("${plugin.getShortName()}:latest")
}

1
यदि आप सभी प्लगइन्स के नवीनतम संस्करण प्राप्त करना चाहते हैं, तो आप इसे केवल संक्षिप्त नाम प्राप्त करने के लिए बढ़ा सकते हैं और :latestअंत में जोड़ सकते हैं :println ("${plugin.getShortName()}:latest")
KymikoLoco

17

यहाँ के उत्तर कुछ अधूरे थे। और मुझे वास्तव में प्लगइन सूची प्राप्त करने के लिए अन्य स्रोतों से जानकारी संकलित करनी थी।

1. जेनकिंस सीएलआई प्राप्त करें

जेनकिन्स सीएलआई हमें कमांड लाइन से हमारे जेनकिंस सर्वर के साथ बातचीत करने की अनुमति देगा। हम इसे एक सरल कर्ल कॉल के साथ प्राप्त कर सकते हैं।

curl 'localhost:8080/jnlpJars/jenkins-cli.jar' > jenkins-cli.jar

2. पार्सिंग के लिए एक ग्रूवी स्क्रिप्ट बनाएं (malenkiy_scot के लिए धन्यवाद)

निम्न के रूप में सहेजें plugins.groovy

def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()
plugins.each {println "${it.getShortName()}: ${it.getVersion()}"}

3. प्लगइन परिणामों के लिए जेनकिंस एपीआई को कॉल करें

localhost:8080Groovy स्क्रिप्ट को संदर्भित करते हुए अपने लॉगिन उपयोगकर्ता नाम और पासवर्ड के साथ जेनकिंस सर्वर ( यहां) को कॉल करें :

java -jar jenkins-cli.jar -s http://localhost:8080 groovy --username "admin" --password "admin" = < plugins.groovy > plugins.txt

Plugins.txt के लिए उत्पादन इस तरह दिखता है:

ace-editor: 1.1
ant: 1.5
antisamy-markup-formatter: 1.5
authentication-tokens: 1.3
blueocean-autofavorite: 1.0.0
blueocean-commons: 1.1.4
blueocean-config: 1.1.4
blueocean-dashboard: 1.1.4
blueocean-display-url: 2.0
blueocean-events: 1.1.4
blueocean-git-pipeline: 1.1.4
blueocean-github-pipeline: 1.1.4
blueocean-i18n: 1.1.4
blueocean-jwt: 1.1.4
blueocean-personalization: 1.1.4
blueocean-pipeline-api-impl: 1.1.4
blueocean-pipeline-editor: 0.2.0
blueocean-pipeline-scm-api: 1.1.4
blueocean-rest-impl: 1.1.4

उपर्युक्त आदेश आपके कार्य केंद्र पर चलने चाहिए और जेनकींस की नौकरी पर नहीं
उपयोगकर्ता 3740244

आदेश का परिणाम "ERROR: अनाम याद आ रहा है" नवीनतम संस्करणों में ओवरऑल / रीड अनुमति "गायब है। इसके बजाय मेरे पास काम करने से पहले जावा पारित करने से पहले java-jenkins-cli.jar -s localhost: 8080 -थ" व्यवस्थापक ": पासवर्ड> "groovy = <plugins.groovy
prasanna

12

प्लगइन्स को छांटने के साथ बीहे का जवाब मेरे जेनकींस मशीन पर काम नहीं करता था। मुझे java.lang.UnsupportedOperationExceptionएक अपरिवर्तनीय संग्रह को क्रमबद्ध करने की कोशिश करने के कारण त्रुटि मिली Jenkins.instance.pluginManager.plugins। कोड के लिए सरल तय:

List<String> jenkinsPlugins = new ArrayList<String>(Jenkins.instance.pluginManager.plugins);
jenkinsPlugins.sort { it.displayName }
              .each { plugin ->
                   println ("${plugin.shortName}:${plugin.version}")
              }

http://<jenkins-url>/scriptकोड चलाने के लिए URL का उपयोग करें ।


1
पहली बार मैंने जिस सिस्टम पर इसका परीक्षण किया था, उसके मुकाबले जेनकिंस के एक अलग संस्करण का उपयोग करते हुए मैं इसमें भाग गया। V2.81 के लिए शीर्ष उत्तर ने काम किया, लेकिन LTS v2.83.x और किसी भी नए संस्करण के लिए यह आपके द्वारा बताई गई त्रुटि को दिया जबकि आपके कोड ने अभी भी काम किया है।
ड्रैगन।।

1
एक बात जो मैंने अभी देखी है, वह है कि आप displayNameप्रिंट करते समय के आधार पर छंटनी कर रहे हैं shortName, यह बहुत भ्रामक था क्योंकि कुछ प्लगइन्स दोनों के लिए वर्णानुक्रम में समान नहीं हैं, और इसके परिणामस्वरूप एक सूची होती है जो क्रमबद्ध नहीं दिखाई देती है। यह अच्छी तरह it.displayNameसे it.shortNameहल करने के लिए बदल रहा है ।
ड्रैगन

8

यदि आप जेनकिंस प्रशासक हैं तो आप जेनकिंस सिस्टम सूचना पृष्ठ का उपयोग कर सकते हैं:

http://<jenkinsurl>/systemInfo

/systeminfoकाम नहीं करता है (HTTP 404) जेनकिंस 1.594 पर
जी लोम्बार्ड

7
प्रयास http://localhost:8080/systemInfoकरें- कुछ सर्वर केस-संवेदी होते हैं। यह भी ध्यान दें कि समग्र / व्यवस्थापक की अनुमति के लिए वर्तमान में उपयोगकर्ता की आवश्यकता है।
MarkHu

8

के साथ curlऔर jq:

curl -s <jenkins_url>/pluginManager/api/json?depth=1 \
  | jq -r '.plugins[] | "\(.shortName):\(.version)"' \
  | sort

यह कमांड विशेष जेनकिंस plugins.txtफ़ाइल द्वारा उपयोग किए जाने वाले प्रारूप में आउटपुट देता है जो आपको पूर्व-निर्भरता स्थापित करने में सक्षम बनाता है (जैसे डॉक छवि में):

ace-editor:1.1
ant:1.8
apache-httpcomponents-client-4-api:4.5.5-3.0

का उदाहरण plugins.txt: https://github.com/hoto/jenkinsfile-examples/blob/master/source/jenkins/usr/share/jenkins/plugins.txt


5

जेनकींस होम पेज से:

  1. Jenkins प्रबंधित करें पर क्लिक करें
  2. प्लगिन प्रबंधित करें पर क्लिक करें
  3. इंस्टॉल किए गए टैब पर क्लिक करें ।

या

  1. सीधे जेनकिंस URL पर जाएं: {आपका जेनकींस बेस URL} / pluginManager / स्थापित

1
"इंस्टॉल किए गए प्लगइन्स" पृष्ठ आवश्यक रूप से वास्तविक प्लगइन स्थिति को प्रतिबिंबित नहीं करते हैं। उदाहरण के लिए, आप एक प्लगइन को फिर से सक्षम कर सकते हैं, और चेक किए गए प्लगइन को देख सकते हैं, जबकि जेनकिन-रिस्टार्ट तक प्लगइन अभी भी अक्षम है। इसलिए, केवल 100% समाधान http: // <jenkinsurl> / systeminfo और API क्वेरी उत्तर, imho हैं।
t0r0X

4

साख के साथ यहां एक और विकल्प साझा करना

JENKINS_HOST=username:password@myhost.com:port
curl -sSL "http://$JENKINS_HOST/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins" | perl -pe 's/.*?<shortName>([\w-]+).*?<version>([^<]+)()(<\/\w+>)+/\1 \2\n/g'|sed 's/ /:/'

जैसा कि ऊपर, लेकिन संस्करणों के बिना, और क्रमबद्ध। curl -sSL "http://127.0.0.1:8080/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins" | perl -pe 's/.*?<shortName>([\w-]+).*?<version>([^<]+)()(<\/\w+>)+/\1 \n/g' | sort
ffghfgh

3

मैं एक ऐसा समाधान चाहता था जो बिना किसी आवश्यकताओं के मास्टर पर चल सके और यहाँ उसे नहीं देखा। मैंने एक त्वरित बैश स्क्रिप्ट बनाई जो प्लगइन्स से सभी संस्करणों को बाहर निकाल देगी।

if [ -f $JENKINS_HOME/plugin_versions.txt ]; then
  rm $JENKINS_HOME/plugin_versions.txt
fi

for dir in $JENKINS_HOME/plugins/*/; do
  dir=${dir%*/}
  dir=${dir##*/}
  version=$(grep Plugin-Version $JENKINS_HOME/plugins/$dir/META-INF/MANIFEST.MF | awk -F': ' '{print $2}')
  echo $dir $version >> $JENKINS_HOME/plugin_versions.txt
done

grep Plugin-Version */META-INF/MANIFEST.MF | sed -e 's!/META-INF/MANIFEST.MF:Plugin-Version: !:!g' > ../plugins2.txt
जेम्स ड्यूपॉन्ट

2

मुझे लगता है कि ये अच्छे उत्तर नहीं हैं। कई लोगों में अतिरिक्त अंडर-द-हूड कदम शामिल हैं। यहाँ है कि मैं यह कैसे किया।

sudo apt-get install jq

... क्योंकि एपीआई को कॉल करने के बाद JSON आउटपुट का उपभोग करना होगा।

#!/bin/bash
server_addr = 'jenkins'
server_port = '8080'

curl -s -k "http://${server_addr}:${server_port}/pluginManager/api/json?depth=1" \
  | jq '.plugins[]|{shortName, version,longName,url}' -c | sort \
  > plugin-list

echo "dude, here's your list: "
cat plugin-list

1

पायथन उपयोगकर्ताओं के लिए एक और विकल्प:

from jenkinsapi.jenkins import Jenkins

#get the server instance
jenkins_url = 'http://<jenkins-hostname>:<jenkins-port>/jenkins'
server = Jenkins(jenkins_url, username = '<user>', password = '<password>')

#get the installed plugins as list and print the pairs
plugins_dictionary = server.get_plugins().get_plugins_dict()
for key, value in plugins_dictionary.iteritems():
    print "Plugin name: %s, version: %s" %(key, value.version)

1
# list of plugins in sorted order
# Copy this into your Jenkins script console
    def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()

    List<String> list = new ArrayList<String>()

    i = 0
    plugins.each {
      ++i
      //println " ${i}  ${it.getShortName()}: ${it.getVersion()}"
      list.add("${it.getShortName()}: ${it.getVersion()}")
    }

    list.sort{it}
    i = 0
    for (String item : list) {
      i++
      println(" ${i} ${item}")
    }

0

स्थापित किए गए सभी प्लगइन्स को सूचीबद्ध करने वाली एक तालिका है और वे http: // jenkins / systemInfo पर सक्षम हैं या नहीं


0

यदि जेनकिन्स जेनकींस डोकर कंटेनर में चलता है तो आप इस कमांड लाइन का उपयोग बाश में कर सकते हैं:

java -jar /var/jenkins_home/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ list-plugins --username admin --password `/bin/cat /var/jenkins_home/secrets/initialAdminPassword`

0

जेनकिंस संस्करण 2.125 के लिए निम्नलिखित कार्य किया।

नोट: उस अनुभाग को प्रतिस्थापित करें जो USERNAME और APIKEY को उस संबंधित उपयोगकर्ता के लिए एक मान्य उपयोगकर्ता नाम और APIKey के साथ कहता है। एक उपयोगकर्ता के लिए एपीआई कुंजी प्रबंधित उपयोगकर्ताओं के माध्यम से उपलब्ध है → उपयोगकर्ता का चयन करेंएपीआई कुंजी विकल्प।

यदि आपके जेनकींस की स्थापना शुरू होने में अधिक समय लगता है तो आपको नींद का विस्तार करना पड़ सकता है।

दीक्षा yum update -yसंस्करण को उन्नत करेगी और साथ ही अगर आपने यमक का उपयोग करके जेनकिंस स्थापित किया है।

#JENKINS AUTO UPDATE SCRIPT link this script into a cron
##############
!/bin/bash
sudo yum update -y
sleep 120
UPDATE_LIST=$( sudo /usr/bin/java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -auth [USERNAME:APIKEY] -s http://localhost:8080/ list-plugins | grep -e ')$' | awk '{ print $1 }' );
if [ ! -z "${UPDATE_LIST}" ]; then
    echo Updating Jenkins Plugins: ${UPDATE_LIST};
    sudo /usr/bin/java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -auth [USERNAME:APIKEY] -s http://localhost:8080/ install-plugin ${UPDATE_LIST};
    sudo /usr/bin/java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -auth [USERNAME:APIKEY] -s http://localhost:8080/ safe-restart;
fi
##############

0

इस जानकारी को लाने के बहुत सारे तरीके हैं लेकिन मैं नीचे दो तरीके लिख रहा हूं: -

1. जेनकिंस क्लि प्राप्त करें।

जेनकिन्स सीएलआई हमें कमांड लाइन से हमारे जेनकिंस सर्वर के साथ बातचीत करने की अनुमति देगा। हम इसे एक सरल कर्ल कॉल के साथ प्राप्त कर सकते हैं।

curl 'localhost:8080/jnlpJars/jenkins-cli.jar' > jenkins-cli.jar

2. एक ग्रूवी स्क्रिप्ट बनाएं। या जेनकिंस स्क्रिप्ट कंसोल से

हमें जेनकिंस एपीआई से प्राप्त जानकारी को पार्स करने के लिए एक ग्रूवी स्क्रिप्ट बनाने की आवश्यकता है। यह प्रत्येक प्लगइन को अपने संस्करण के साथ आउटपुट करेगा। निम्न को plugins.groovy के रूप में सहेजें।

def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins() plugins.each {println "${it.getShortName()}: ${it.getVersion()}"}


0

आप यह भी दिलचस्पी ले सकते हैं कि प्लगइन्स के लिए कौन से अपडेट उपलब्ध हैं। उसके लिए, आपको यहां उपलब्ध अपडेट के बारे में जानकारी के साथ स्थापित प्लगइन्स के बारे में डेटा को मर्ज करना होगा https://updates.jenkins.io/current/update-center.json

JSON के रूप में डाउनलोड की गई फ़ाइल को पार्स करने के लिए आपको दूसरी पंक्ति (जो बहुत बड़ी है) को ऑनलाइन पढ़ना होगा।

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