如何在nexu目录中递归搜索?
我有一个包含许多模块和子模块的目录结构,并且子模块具有自己的子模块。所以看起来像这样:
<NEXUS_LINK>/project/module1
|_module12
|_V1.1
|_V1.2
/module2
|_V1.1
/module3
|_module31
|_module32
|_V1.1
|_V1.2
我想实现什么? 有时我需要删除特定版本,例如V1.2,我需要搜索此树,找到V1.2目录并执行 curl -X删除-u admin:admin123 /project/../V1.2 本地没有问题,但是如何通过目录查找?
答案 0 :(得分:0)
您可以通过API搜索,例如curl -u admin:admin123 -X GET 'http://<NEXUS_LINK>/service/rest/v1/search?repository=raw-hosted&group=/project'
如果我知道您的存储库格式是什么以及您的搜索标准是什么,您可以获得更好的搜索结果。您可以在documentation
中找到有关搜索API的更多信息。答案 1 :(得分:0)
试试这个:
-- 50 assets limit
curl 'https://<NEXUS>/nexus/service/rest/v1/search?repository=<REPOSITORY_NAME>&group=project.module1.*&version=V1.*'
-- then:
curl -X DELETE -u admin:admin123 'https://<NEXUS>/nexus/service/rest/v1/components/<IDs_FROM_RESP".items[].id">'
或
-- set own limit
curl 'https://<NEXUS>/nexus/service/extdirect' -H 'Content-Type: application/json' -H 'Cache-Control: no-cache' \
-d '{"action":"coreui_Search","method":"read","data":[{"page":1,"start":0,"limit":1000,"filter":[{"property":"format","value":"maven2"},{"property":"version","value":"V1.*"},{"property":"attributes.maven2.groupId","value":"project.module1.*"},{"property":"repository_name","value":"<REPOSITORY_NAME>"}]}],"type":"rpc","tid":75}'
--delete by:
".result.data[].group"
".result.data[].name"
".result.data[].version"