Невозможно передать переменную в JQL-файле AQL с помощью Jfrog CLI
Используя AQL-запрос и Jfrog CLI, мы планируем обнаружить устаревшие артефакты в нашей версии корпоративного артефакта.
Для этого я хотел бы передать переменную в JQL-файл AQL, чтобы удалить артефакты с помощью 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"
}
}
]
}
]
}
}
}
]
}
1 ответ
Если вы хотите переменные в вашем spec-файле, вы должны определить переменные в вызове:
./jfrog rt del --spec /xxxxxxxx.json --spec-vars "RetDate=2018-01-01" --dry-run=true --quiet=true
И если я не ошибаюсь, переменные идентифицируются как ${key} в файле спецификации, так что-то вроде
[...]
{
"@retention.RetDate":{
"$lt":"${RetDate}"
}
}
[...]
Помогает ли это вашему тесту?