2017-10-10 8 views
1

AQLクエリとJfrog CLIを使用して、私たちはアーティファクトエンタープライズバージョンで期限切れのアーティファクトを見つける予定です。Jfrog CLIを使用してAQL Jsonファイル内の変数を渡すことができません

このため、Jfrog CLIを使用してアーティファクトを削除するために、AQL Jsonファイルで変数を渡したいとします。

変数の値は静的な値ではなく、動的な値になるためです。ですから、変数を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" 
         } 
        } 
       ] 
       } 
      ] 
     } 
    } 
    } 
] 
} 

答えて

1

あなたのspecファイルで変数をしたい場合、あなたはコール内の変数を定義する必要があります。

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

とunl私が間違っていると、変数はspecファイルの$ {key}として識別されるので、

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

あなたのテストケースに役立ちますか?

関連する問題