218 votes

Comment obtenir une liste des plugins Jenkins installés avec leur nom et leur version ?

Comment puis-je obtenir une liste des plugins Jenkins installés ?

J'ai cherché le document sur l'API d'accès à distance de Jenkins, mais il n'a pas été trouvé. Dois-je utiliser le CLI de Jenkins ? Existe-t-il un document ou un exemple ?

4voto

James Lawruk Points 8106

Depuis la page d'accueil de Jenkins :

  1. Cliquez sur Gérer Jenkins .
  2. Cliquez sur Gérer les plugins .
  3. Cliquez sur le Installé onglet.

Ou

  1. Allez directement à l'URL de Jenkins : {Votre URL de base Jenkins}/pluginManager/installed

4voto

vishnu Points 466

Partager une autre option trouvée aquí avec des références

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/ /:/'

4voto

Kevin Brotcke Points 2006

Je voulais une solution qui puisse fonctionner sur master sans aucune exigence d'authentification et je ne l'ai pas trouvée ici. J'ai fait un bash rapide script qui va extraire toutes les versions du répertoire des plugins.

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

3voto

Une autre option pour les utilisateurs de Python :

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)

2voto

hhony Points 151

Je pense que ces réponses ne sont pas suffisantes... beaucoup impliquent quelques étapes supplémentaires sous le capot. Voici comment j'ai procédé.

sudo apt-get install jq

...car la sortie JSON doit être consommée après l'appel de l'API.

#!/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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X