Je dois écrire un script shell, qui peut récupérer des artefacts obsolètes de JFROG en utilisant l'API REST et les supprimer.Supprimer des artefacts après la recherche d'anciens artefacts dans JFROG
-je obtenir une liste d'objets par commande
curl -u user:password "http://artifactory:8081/artifactory/api/search/dates?dateFields=created&from=1467052559000&to=1497588559000&repos=current-repo"
et obtenir une sortie comme
"results" : [ {
"uri" : "http://artifactory:8081/artifactory/api/storage/current-repo/first artifact/artfoulder folder/file.tzs",
"created" : "2017-04-10T11:33:50.190+03:00"
}, {
"uri" : "http://artifactory:8081/artifactory/api/storage/current-repo/second artifact/artfoulder folder/file2.tzs",
"created" : "2017-04-10T11:33:50.140+03:00"
} ]
et d'autres objets
Après avoir obtenu avec succès la liste de ces objets, j'ai besoin pour les supprimer.
Mes questions:
- Est-il un moyen simple de le faire? Ou j'ai besoin d'analyser les chaînes de sortie avec shell, mettre des liens dans le tableau et supprimer par la commande API REST un par un?
- Il y un moyen d'obtenir seulement le premier niveau des dossiers d'artefacts, qui sont obsolètes et les supprimer (premier artefact et second artefact dans mon cas)
Merci beaucoup à l'avance!
Pourriez-vous me dire comment utiliser le script groovy dans Jenkins? Ça devrait être un job de Jenkins dans mon cas. –
Dans Jenkins, vous pouvez exécuter un travail en ligne de commande à l'intérieur de la construction générique, et exécuter simplement le script groovy. Vous aurez besoin d'avoir groovy installé sur la machine Jenkins. Pour exécuter un travail groovy, exécutez la commande suivante: "groovy fileNeme.groovy" Veuillez noter que le fichier groovy que j'ai mentionné est défini avec une condition AQL spécifique. S'il vous plaît assurez-vous de modifier cette condition à vos propres besoins. – Ariel
Merci pour votre réponse. Je vais faire attention à cela, bien sûr. Pourriez-vous me dire, comment puis-je le faire trouver seulement les répertoires de premier niveau (l'information est ci-dessus)? Et est-ce possible de le faire avec une commande curl? –