Bash 在JFROG中搜索旧工件后删除工件

Bash 在JFROG中搜索旧工件后删除工件,bash,curl,artifactory,Bash,Curl,Artifactory,我需要编写一个shell脚本,它可以通过使用RESTAPI从JFROG获取过时的工件并删除它们 我通过命令获得工件列表 curl -u user:password "http://artifactory:8081/artifactory/api/search/dates?dateFields=created&from=1467052559000&to=1497588559000&repos=current-repo" 并得到如下输出 "results" : [ {

我需要编写一个shell脚本,它可以通过使用RESTAPI从JFROG获取过时的工件并删除它们

我通过命令获得工件列表

curl -u user:password "http://artifactory:8081/artifactory/api/search/dates?dateFields=created&from=1467052559000&to=1497588559000&repos=current-repo"
并得到如下输出

"results" : [ {
    "uri" : "http://artifactory:8081/artifactory/api/storage/current-repo/first artifact/artfoulder folder/file.tzs",
    "created" : "2017-04-10T11:33:50.190+03:00"
  }, {
    "uri" : "http://artifactory:8081/artifactory/api/storage/current-repo/second artifact/artfoulder folder/file2.tzs",
    "created" : "2017-04-10T11:33:50.140+03:00"
  } ]
和其他文物

在我成功获得这些工件的列表后,我需要删除它们

我的问题是:

  • 有简单的方法吗?或者我需要用shell解析输出字符串,将链接放入数组中,并通过restapi命令逐个删除
  • 有没有办法只获取过期的第一级工件文件夹并将其删除(第一工件第二工件

  • 提前多谢

    为什么不使用脚本已经准备好了:


    您需要做的就是更改AQL查询以搜索特定日期范围内的工件,就是这样。这将自动清理

    为什么不使用脚本已经准备好了:


    您需要做的就是更改AQL查询以搜索特定日期范围内的工件,就是这样。这将自动清理

    你能告诉我,如何在Jenkins中使用groovy脚本吗?在我的例子中,它应该是Jenkins作业。在Jenkins中,您可以在通用构建中运行命令行作业,只需运行groovy脚本。您需要在Jenkins机器上安装groovy。要运行groovy作业,只需运行以下命令:“groovy fileNeme.groovy”请注意,我提到的groovy文件设置了特定的AQL条件。请确保根据您自己的需要更改此条件。谢谢您的回答。当然,我会注意的。你能告诉我,我怎样才能让它只找到一级目录(信息在上面)?有没有可能只用一个curl命令就可以实现呢?您能告诉我,如何在Jenkins中使用groovy脚本吗?在我的例子中,它应该是Jenkins作业。在Jenkins中,您可以在通用构建中运行命令行作业,只需运行groovy脚本。您需要在Jenkins机器上安装groovy。要运行groovy作业,只需运行以下命令:“groovy fileNeme.groovy”请注意,我提到的groovy文件设置了特定的AQL条件。请确保根据您自己的需要更改此条件。谢谢您的回答。当然,我会注意的。你能告诉我,我怎样才能让它只找到一级目录(信息在上面)?有没有可能只用一个curl命令来实现呢?