Description: Generates an AQL query according to the given search criteria form. The generated AQL query can then be used to perform a search.
Note
This Cold Storage feature is available only for Artifactory Enterprise and Enterprise+ users.
Since: Artifactory 7.27.3
Security: Requires an admin user
Usage: POST /api/retention/archive/policies/convertToAql
Produces: application/json
Consumes: text/plain
Query Parameters:
Field | Type | Description |
|---|---|---|
| string | Include/Exclude all properties with the specified “propertyKey” and a single “propertyValue”. Supports and/or operator. Example "properties": {
"include": {
"operator": "or",
"values": [
{
"propertyKey": "example-prop-key-1",
"propertyValue": "prop-val-1"
},
{
"propertyKey": "example-prop-key-1",
"propertyValue": "prop-val-2"
}
]
},
"exclude": {
"operator": "or",
"values": [
{
"propertyKey": "example-prop-key-2",
"propertyValue": "prop-val-1"
}
]
}
} |
| string | Include/Exclude all repository keys. Supports and/or operator. ExampleExample "repositories": {
"include": {
"operator": "or",
"values": [
"repo-1",
"repo-2"
]
},
"exclude": {
"operator": "and",
"values": [
"repo-*",
"*-3"
]
}
} |
| string | Include/Exclude all items with specified paths Supports and/or operator. ExampleExample "paths": {
"include": {
"operator": "or",
"values": [
"path-1",
"path-2"
]
},
"exclude": {
"operator": "or",
"values": [
"path-3"
]
}
} |
| string | Include/Exclude all items with the specified names. Supports and/or operator. ExampleExample "names": {
"include": {
"operator": "or",
"values": [
"name-1",
"name-2"
]
},
"exclude": {
"operator": "or",
"values": [
"name-3"
]
}
} |
| long | Include all items that were created before the time provided (in months) |
| long | Include all items that were last downloaded before the time provided (in months) |
Sample Request:
POST /api/retention/archive/policies/convertToAql
{
"properties": {
"include": {
"operator": "or",
"values": [
{
"propertyKey": "example-prop-key-1",
"propertyValue": "prop-val-1"
},
{
"propertyKey": "example-prop-key-1",
"propertyValue": "prop-val-2"
}
]
},
"exclude": {
"operator": "or",
"values": [
{
"propertyKey": "example-prop-key-2",
"propertyValue": "prop-val-1"
}
]
}
},
"repositories": {
"include": {
"operator": "or",
"values": [
"repo-1",
"repo-2"
]
},
"exclude": {
"operator": "and",
"values": [
"repo-*",
"*-3"
]
}
},
"paths": {
"include": {
"operator": "or",
"values": [
"path-1",
"path-2"
]
},
"exclude": {
"operator": "or",
"values": [
"path-3"
]
}
},
"names": {
"include": {
"operator": "or",
"values": [
"name-1",
"name-2"
]
},
"exclude": {
"operator": "or",
"values": [
"name-3"
]
}
},
"createdBefore": 1628668945,
"downloadedBefore": 1628668945
}Sample Response:
items.find(
{
"$and": [
{
"$or": [
{
"@example-prop-key-1": {
"$match": "prop-val-1"
}
},
{
"@example-prop-key-1": {
"$match": "prop-val-2"
}
}
]
},
{
"$or": [
{
"@example-prop-key-2": {
"$nmatch": "prop-val-1"
}
}
]
},
{
"$or": [
{
"repo": {
"$match": "repo-1"
}
},
{
"repo": {
"$match": "repo-2"
}
}
]
},
{
"$and": [
{
"repo": {
"$nmatch": "repo-*"
}
},
{
"repo": {
"$nmatch": "*-3"
}
}
]
},
{
"$or": [
{
"path": {
"$match": "path-1"
}
},
{
"path": {
"$match": "path-2"
}
}
]
},
{
"$or": [
{
"path": {
"$nmatch": "path-3"
}
}
]
},
{
"$or": [
{
"name": {
"$match": "name-1"
}
},
{
"name": {
"$match": "name-2"
}
}
]
},
{
"$or": [
{
"name": {
"$nmatch": "name-3"
}
}
]
},
{
"created": {
"$lt": "1628668945"
}
},
{
"stat.downloaded": {
"$lt": "1628668945"
}
}
]
}
)Status:
200: Success