Matthias Lohr
Matthias Lohr

Reputation: 1856

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!

Upvotes: 6

Views: 11975

Answers (1)

Ortsigat
Ortsigat

Reputation: 1309

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.

Upvotes: 12

Related Questions