in src/com/epam/digital/data/platform/pipelines/registrycomponents/regular/Redash.groovy [147:179]
void deleteRedashResource(String url, String apiKey) {
def content = getContent(url, apiKey)
def parsedJson = new JsonSlurperClassic().parseText(content)
if (url.contains("api/dashboards")) {
removeDashboards(parsedJson, url, apiKey)
def defaultPageSize = parsedJson.results.size()
def countLeftToDelete = parsedJson.count - defaultPageSize
def numberOfIterations = countLeftToDelete > 0 ? Math.ceil(countLeftToDelete / defaultPageSize) : 0
numberOfIterations.times {
content = getContent(url, apiKey)
parsedJson = new JsonSlurperClassic().parseText(content)
removeDashboards(parsedJson, url, apiKey)
}
} else {
int resourcesCount = parsedJson.size()
resourcesCount.times {
String nameValue
String id
nameValue = parsedJson[it]["name"]
if (!nameValue.matches("(.*)audit(.*)") && !nameValue.matches("admin") &&
!nameValue.matches("default")) {
id = parsedJson[it]["id"]
context.logger.info("Removing not audit resource: " + nameValue)
context.script.httpRequest url: "${url}/${id}",
httpMode: "DELETE",
customHeaders: [[name: "authorization", value: apiKey, maskValue: true]],
consoleLogResponseBody: context.logLevel == "DEBUG",
quiet: context.logLevel != "DEBUG",
validResponseCodes: "200,204"
}
}
}
}