6

I have created a raw repository in Nexus 3.x and I'm able to upload artifacts to the same. Now I want get the list of all artifacts residing inside that repo using Rest API. Any help is appreciated.

Rohith
  • 96
  • 1
  • 1
  • 7

2 Answers2

5

in the current Nexus3.14.0-04 the REST API has become final (no longer "beta") and the curl you need is:

curl -X GET "http://localhost:8081/service/rest/v1/components?repository=central" -H "accept: application/json"

this will return each "component" (group, name, version) with all its assets = each individual file (pom, sha1, md5, jar) who constitue the component

The result is a JSON string.

If instead you want to perform a COMPONENTS search - based on a groupId, artifactId - you can use this curl:

curl -X GET "http://localhost:8081/service/rest/v1/search?repository=central&format=maven2&maven.groupId=com.fasterxml.jackson.core&maven.artifactId=jackson-core&maven.extension=jar" -H "accept: application/json"

this returns COMPONENTS with child ASSETS.

The variant to retrieve only the ASSETS, without grouping them by COMPONENT, is GET /service/rest/v1/search/assets?repository=central&format=maven2&maven.groupId=com.fasterxml.jackson.core&maven.artifactId=jackson-core&maven.extension=jar

Pierluigi Vernetto
  • 1,954
  • 1
  • 25
  • 27
  • I'v tried this approach and I have repo that have many components, and the json response seems to get chunked and doesn't return a complete list. Anyone coming across this issue and is there a workaround? – KBriz Jan 23 '20 at 18:26
3

You can use the - still in beta - new API for Nexus. It's available by default on the version 3.3.0 and more: http://localhost:8082/swagger-ui/

Basically, you retrieve the json output from this URL: http://localhost:8082/service/siesta/rest/beta/assets?repositoryId=YOURREPO

Only 10 records will be displayed at a time and you will have to use the continuationToken provided to request the next 10 records for your repository by calling: http://localhost:8082/service/siesta/rest/beta/assets?continuationToken=46525652a978be9a87aa345bdb627d12&repositoryId=YOURREPO

More information here: http://blog.sonatype.com/nexus-repository-new-beta-rest-api-for-content

Djidiouf
  • 786
  • 1
  • 10
  • 23