Nexus RESTE de l'API de requête artefacts au sein d'un groupe
J'ai un Nexus repo maven et je tiens à tirer parti de l'API REST pour interroger la liste des artefacts couché dans mon groupe spécifique. Je suis tombé sur cette documentation, mais il semble être très concis et je ne peux pas y trouver ce dont j'ai besoin.
https://oss.sonatype.org/nexus-restlet1x-plugin/default/docs/rest.html
Je veux quelque chose comme ce
http://mydomain:8081/nexus/service/local/repositories/list?groupId=com.test.superproduct&repo=snapshots
Et elle serait sortie de moi une liste
- produit-1.0.0-INSTANTANÉ
- produit-1.0.1-INSTANTANÉ
- produit-1.0.2-INSTANTANÉ
.....
Pour être plus précis, j'ai besoin d'une liste de versions d'artefacts couché dans un groupe, mais je peux extraire les versions de artefact noms de trop.
OriginalL'auteur Sergei Ledvanov | 2014-07-25
Vous devez vous connecter pour publier un commentaire.
Il s'est avéré que tout ce que je besoin est de récupérer ˇmaven-metadata.xml fichier qui regroupe toutes les versions disponibles pour cet artefact. Par exemple,
contient
ajc, que voulez-vous dire? Cela dépend de la langue/de la technologie que vous utilisez, mais dans tous les cas, c'est juste une question de faire régulièrement de la requête http et le traitement de la réponse. Je viens avec mon Gradle script et extrait les données avec construit dans l'analyseur XML.
OriginalL'auteur Sergei Ledvanov
Pas besoin d'analyser manuellement maven-metadata.xml. Pas besoin d'analyser manuellement les noms de répertoires ou les noms de fichier.
renvoie non seulement à tous les
<version>
, mais comme un bonus, pour chaque artefact de cette version, tous les identifiants nécessaires pour obtenir un lien de téléchargement unique pour un seul fichier résidant sur ce cas de Nexus. Les identifiants requis pour le téléchargement URL:<groupId>
,<artifactId>
(dans les deux cas vous dire que vous connaissez déjà),<version>
,<repositoryId>
,<extension>
(et<classifier>
qui est facultatif et non défini dans mon exemple):Après vous analysez
lucene/search
réponse, une bonne idée serait de les filtrer par repositoryId soitreleases
ousnapshots
.Cette réponse est pour le Nexus 2.11.
cool! il prend même en charge * et ? comme dans localhost/nexus/service/local/lucene/search?g=a* (mais g=* ou aucun groupe ne sont pas pris en charge) . voir également les autres répondre à stackoverflow.com/a/24958025/651288
OriginalL'auteur kubanczyk
Habituellement, vous pouvez utiliser l'index lucene maintenu pour les dépôts pour les recherches de ce genre. Voir le RESTE de la documentation pour l'indexeur plugin, vous pouvez rechercher groupId et artifactId ici.
OriginalL'auteur nabcos