Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find the latest artifact version with Artifactory Query Language?

Until now, I used the Artifactory REST API to determine the last version (last snapshot) of a maven artifact with groupId and artifactIid:

/api/search/latestVersion?g={groupid}&a={artifactid}

This gives me exactly a string with the highest/last available (snapshot) version of this artifact.

However, this is sometimes really slow and one recommendation was to use the Artifactory Query Language (AQL).

Unfortunately I have not yet been able to find out how to map this functionality in AQL.

Could someone give me a clue as to what a corresponding query in AQL could look like?

Thanks in advance!

like image 933
Matthias Lohr Avatar asked Dec 10 '17 18:12

Matthias Lohr


1 Answers

You can use AQL's SORT and LIMIT to retrieve your latest artifact, for example:

items.find(
{
            "repo":"my-repo"
    }
).sort({"$desc" : ["created"]}).limit(1)

You can find more examples here.

I would also recommend trying out the Jfrog CLI, which also supports Sorting, and might be easier to use.

like image 125
Ortsigat Avatar answered Sep 28 '22 17:09

Ortsigat