1

通过使用 AQL 查询和 Jfrog CLI,我们计划在我们的工件企业版中找出过期的工件。

为此,我想在 AQL Json 文件中传递一个变量,以使用 Jfrog CLI 删除工件。

因为变量的值不会是静态值,而是动态的。所以我需要将一个变量传递给 Json 文件和我需要使用的下面突出显示的变量。

命令:

./jfrog rt del --spec /xxxxxxxx.json --dry-run=true --quiet=true

xxxx.json:

{
 "files":[
  {
     "aql":{
        "items.find":{
           "type":"file",
           "$or":[
              {
                 "$and":[
                    {
                       "stat.downloads":{
                          "$eq":null
                       }
                    },
                    {
                       "modified":{
                          "$before":"1s"
                       }
                    },
                    {
                       "@retention.RetDate":{
                          "$lt":"$RetDate"
                       }
                    }
                 ]
              },
              {
                 "$and":[
                    {
                       "stat.downloads":{
                          "$gt":"0"
                       }
                    },
                    {
                       "stat.downloaded":{
                          "$before":"1s"
                       }
                    },
                    {
                       "modified":{
                          "$before":"1s"
                       }
                    },
                    {
                       "@retention.RetDate":{
                          "$lt":"$RetDate"
                       }
                    }
                 ]
              }
           ]
        }
     }
  }
 ]
}
4

1 回答 1

1

如果你想在你的规范文件中使用变量,你应该在调用中定义变量:

./jfrog rt del --spec /xxxxxxxx.json --spec-vars "RetDate=2018-01-01" --dry-run=true --quiet=true

除非我弄错了,否则变量在规范文件中被标识为 ${key} ,所以类似于

                [...]
                {
                   "@retention.RetDate":{
                      "$lt":"${RetDate}"
                   }
                }
                [...]

它对您的测试用例有帮助吗?

于 2017-10-10T14:40:05.900 回答