我正在研究Jfrog Artifactory - Groovy脚本,删除带有工件的完整文件夹。 我有一个文件夹2015.08.18.1.SNAPSHOT的存储库,它有子项2015.08.18.1.12345.pom,2015.08.18.1.12345.war,matadata.xml。使用下面的脚本我只能删除子项(2015.08.18.1.12345.pom,2015.08.18.1.12345.war,matadata.xml)而不删除文件夹(2015.08.18.1.SNAPSHOT),我的要求是删除文件夹。
def delete(RESTClient restClient, List itemsToDelete, def dryRun) {
dryMessage = (dryRun) ? "*** This is a dry run ***" : "";
itemsToDelete.each {
println("Trying to delete artifact: '$it'. $dryMessage")
try {
if (!dryRun) {
restClient.delete(path: it)
}
println("Artifact '$it' has been successfully deleted. $dryMessage")
} catch (HttpResponseException e) {
println("Cannot delete artifact '$it': $e.message" + ", $e.statusCode")
} catch (HttpHostConnectException e) {
println("Cannot delete artifact '$it': $e.message")
}
}
}
此处'itemsToDelete'持有'2015.08.18.1.SNAPSHOT'
答案 0 :(得分:2)
Jfrog为Artifacory提供了Java客户端,可以在这种情况下使用
它已经包含预定义的http客户端,配置为使用Artifactory。
客户端和文档可在以下位置找到:https://github.com/JFrogDev/artifactory-client-java
使用客户端从Artifactory删除项目的示例:
Artifactory artifactory = ArtifactoryClient.create("ArtifactoryUrl", username", password");
String result = artifactory.repository("RepoName").delete("path/to/item");
请注意,该项目可以是文件夹或文件。