JFrog Artifactory AQL - 查找文件是否存在于一个仓库中,否则查找来自不同仓库的文件

问题描述

我想看看是否有可能我可以编写一个 AQL 来搜索 2 个存储库中的文件并有条件地确定使用哪个存储库。 如果第一个条件在 repo1 中找到匹配项,则使用该仓库中的最新工件,否则使用第二个条件并从 repo2 中获取最新工件

这是我尝试过的,它为两个存储库获取文件

{
  "files": [
    {
      "aql": {
        "items.find": {
          "$or": [
            {
              "$and": [
                {
                  "repo": { "$eq": "repo1" },"type": "file","path": {
                    "$match": "develop/service1"
                  },"name": { "$match": "*.zip" }                  
                }
              ]
            },{
              "$and": [
                {
                  "repo": { "$eq": "repo2" },"path": {
                    "$match": "master/service1"
                  }
                  "name": { "$match": "*.zip" }
                }
              ]
            }
          ]
        }
      }
    }
  ]
}

尝试限制并按创建日期排序,它们都没有按预期工作。

jfrog rt search --spec=search.json --sort-by "created" --sort-order "desc"

有什么提示吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)