我们如何递归搜索nexus存储库?

时间:2018-12-21 07:56:29

标签: python bash recursion nexus

如何在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 本地没有问题,但是如何通过目录查找?

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"