2016-12-09 39 views
4

我們獲得Nexus倉庫管理器2.1.4遷移到的Nexus 3.1.0-04物品清單。隨着2版本中,我們已經能夠使用API​​來獲取由倉庫物品清單,但我們都在努力尋找一種方式與Nexus 3 API來做到這一點。使用Nexus3 API如何得到一個存儲庫

看了https://books.sonatype.com/nexus-book/reference3/scripting.html第16章,我們已經能夠使用Groovy腳本一樣獲得神器信息特定的blob:

import org.sonatype.nexus.blobstore.api.BlobId 

def properties = blobStore.blobStoreManager.get("default").get(new BlobId("7f6379d32f8dd78f98b5b181166703b6")).getProperties() 
return [headers: properties.headers, metrics: properties.metrics] 

但是,我們不能找到一種方法來遍歷一個Blob的內容商店。我們可以得到一個blob存儲對象:

blobStore.blobStoreManager.get("default") 

但是API似乎並沒有給我們一個辦法讓賣場內的所有斑點的列表。我們需要獲取blob存儲區中的blobID列表。

有沒有辦法通過的Nexus 3 API來做到這一點?

回答

6

我們的一個內部團隊成員把這個在一起。它不使用blobStore,但完成我相信你正在嘗試做什麼(和更多):https://gist.github.com/kellyrob99/2d1483828c5de0e41732327ded3ab224

對於一些背景,想一個blobStore作爲我們存儲的位,沒有關於他們的信息。 OrientDB具有組件/資產記錄並存儲有關它們的所有信息。作爲結果,您通常會希望使用它來代替資產信息的blobStore。

+0

THX - 我就以此爲基礎寫一些回購的評價和組件刪除腳本... https://github.com/danischroeter/nexus-repo-scripting –

0

完成遷移後,可能需要進行調查以更新您的Nexus版本。

這樣,您就可以使用Nexus的beta版新API了。這是默認提供的3.3.0版本多:http://localhost:8082/swagger-ui/

基本上,你從這個網址擷取輸出的JSON:http://localhost:8082/service/siesta/rest/beta/assets?repositoryId=YOURREPO

只有10條記錄將同時顯示,你將不得不使用continuationToken提供通過調用請求接下來的10個記錄你的資料庫:http://localhost:8082/service/siesta/rest/beta/assets?continuationToken=46525652a978be9a87aa345bdb627d12&repositoryId=YOURREPO

點擊此處瞭解詳情:http://blog.sonatype.com/nexus-repository-new-beta-rest-api-for-content

相關問題