Currently it is possible to retrieve artifacts per AQL or REST-Api.
- Retrieving it per AQL allows to retrieve the meta-artifacts, within which the Artifact+Version information is available, or retrieve the information from properties (e.g. as it is the case for docker-images)
- Retrieving it per REST returns the actual artifacts path, which may not contain the meta-information (artifact-name, version, all versions, etc) or be usable to retrieve version information
All versions for an artifact can be retrieved through the meta-artifacts (e.g. maven-metadata.xml) or REST (the artifact-name is required, which is not returned through REST artifact search).
- This search returns the version associated with an artifact, but does not include the path to the artifacts behind this version.
Because of all this, should you have a use-case that requires a list of all artifacts, their versions and paths towards these versions, then you may have to use a combination of multiple AQL and REST calls - only becoming even more should a DELETE based on artifact+version be added.
Therefore it is better to query the meta-artifacts of all artifacts within a repository and parse these to build your context. Be warned that this can be tedious if you use many different package-types, as some have XML-files, some require properties-querying and some use JSON.
Instead of all of this it would be better if there were a REST endpoint that returns the following meta-information of all artifacts (or artifacts beneath a certain path) within a repository:
- Path to meta-artifact
- For each version
- The path to the version-folder / version-artifact
With this it would be easy to get an overview of the artifacts and versions and easily run additional GET queries or a DELETE.