How do I use Artifactory Query Language to get list content of my Archive

How do I use Artifactory Query Language to get list content of my Archive

AuthorFullName__c
JFrog Support
articleNumber
000001363
ft:sourceType
Salesforce
FirstPublishedDate
2016-10-06T13:35:40Z
lastModifiedDate
2016-10-06
VersionNumber
5

 

Starting from Artifactory 4.2.0 new primary Domains were exposed on AQL and can be used when querying for data in Artifactory.

 

One of the new domains is ‘Archive’.

On the following solution, we will discuss a possible usage of this domain.

Let’s say we want to get a file inside of an archive.

Instead of downloading the entire archive to search for the file, we will first check the archive’s content and if the file is there, we will download it only.

 

Artifactory provides the ability to browse the content of archived artifacts.

This is enabled by default (This can be changed by editing the mimetypes.xml file which is located under $ARTIFACTORY_HOME/etc/ with the ‘archive’ MIME type).

 

Assuming that this feature is enabled, the ‘Archive’ domain will be enabled as well.

We will use the following query to get the archive’s content

 

archive.entries.find(

{

"archive.item.repo":{"$eq":”<repo name>"},

"archive.item.name":{"$eq": "<archive name>"}

}

)

 

If the file is in the archive, we can use the following REST call to download it from the archive.