2017-06-02 5 views
1

Ich möchte nach einem Dateinamenmuster über JFrog ARM suchen, ohne den expliziten Repository-Namen im JFrog cli zu kennen.jfrog cli Artefakt Suche nach Dateiname Muster

jfrog rt s "reponame/*pattern*" 

gibt die Ergebnisse wie erwartet in einem bestimmten Repo.
Aber ich habe Repo1, Repo2, Repo3, ... so weiter.
Wie suche ich mit Wildcard für Reponame, unten funktioniert nicht.

jfrog rt s "*/*pattern*" 

Grundsätzlich möchte ich die JFrog cli equlivalent der Locke-GET-Anfrage Suche

"https://server/artifactory/api/search/artifact?name=*pattern*" 
+1

Ich versuche es so gut, um herauszufinden, das Beste, was ich kann kommen mit Ihrer Repositorys gestellt wird in eine Variable ex 'repos = repo1 repo2 repo3 ...' und durchlaufen Sie sie 'für Repo in" Repos "; jfrog rt s $ repo/$ muster /; done' – sloven

+0

Tatsächlich habe ich genau wie Sie genau über alle Repos in einem Forloop iteriert. Es ist so schlecht, dass ihre gehypte CLI keine solche Möglichkeit hat, einfache Befehle zu verwenden. – sunil

+0

Ich habe es noch nicht getestet, aber ich habe das Gefühl, die REST-API über curl -x POST zu verwenden oder was auch immer die bessere Option ist (benutzerfreundlicher, sogar die Syntax sieht sauberer aus) Alles, was sich lohnt, werde ich hier posten – sloven

Antwort

0

Das ist nicht für cli-Client, sondern eine alternative Art und Weise gewünschte Funktion zu erhalten. Verbrachte einige Zeit bei API suchen hier:

https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API

Ich empfehle die Seite langsam nach unten zu rollen und in Teilen als lof der möglichen Befehle lesen, Syntax ausgezeichnet ist, ausgeführt ich ein paar Recherchen und sie durchsucht alle lokalen Repositories. Keine Notwendigkeit, rekursiv 1 von 1. Befehlssyntax suchen:

export url="http://url/to/articatory" 
curl --noproxy '*' -x GET "$url/api/search/artifact?name=log4j*" 

lesen Link für detailliertere Suchoptionen/Syntax.

Wie ich es einrichten:

alias artpost='curl -X POST "http://url/artifactory/api/search/aql" -T - -u admin:password' 

Einige Beispiele Nutzung:

echo 'items.find({"name": {"$match" : "log4j*"}})' | artpost 
echo 'items.find({"$and" : [{"created" : {"$gt" : "2017-06-12"}},{"name": {"$nmatch" : "*surefire*"}}]})' | artpost 
+0

Hast du meine Frage vollständig gelesen? Ich wollte wissen, wie man es mit jfrog cli client not curl macht. Ich habe bereits geschrieben, was Sie in der Frage selbst vorgeschlagen haben. jfrog veröffentlicht einen Client, wenn Sie sich dessen nicht bewusst sind. – sunil

+0

Hast du meinen Kommentar gelesen? Ich habe eine funktionierende Alternative für dieses Feature gepostet, falls jemand in Google Maps darüber stolpert – sloven

Verwandte Themen