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

时间:2017-04-19 10:34:20

标签: bash curl jfrog-mission-control

我需要编写一个shell脚本,它可以使用REST API从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"
  } ]

和其他文物

成功获取这些工件列表后,我需要删除它们。

我的问题:

  1. 有简单的方法吗?或者我需要用shell解析输出字符串,将链接放在数组中并逐个删除REST API命令?
  2. 有一种方法可以只获取过时的第一级工件文件夹并删除它们(第一个工件第二个工件在我的情况下)
  3. 提前多多感谢!

1 个答案:

答案 0 :(得分:0)

为什么不使用脚本专门为此做好准备: https://github.com/JFrogDev/artifactory-scripts/blob/master/cleanup/aqlCleanup.groovy

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