I'm trying to get all the collection list in datahub-staging from the backend server by runnng a gradle task.
I tried writing a below task:
cat myCustomJs.task
task myJavascriptTask(type: com.marklogic.gradle.task.ServerEvalTask) {
javascript = "cts.collections()"
}
But, I'm not sure how to create or run the task so that I can get the result of cts.collections(). Any leads on this is much appreciated.
I have a several tasks like this set up in my build.gradle file. Here's the pattern you're looking for:
task getCollections(type: com.marklogic.gradle.task.MarkLogicTask) {
doLast {
def client = getAppConfig().newDatabaseClient()
String request = """
cts.collections().toArray().join("; ")
""";
try {
String result
result = client.newServerEval().javascript(request).evalAs(String.class);
if (result != null) {
println result
}
} finally {
client.release()
}
}
}