2017-02-08 7 views
0

Я работаю над 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), мое требование удалить папку также.Jfrog Artifactory - скрипт Groovy для удаления полной папки с артефактами

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

ответ

2

Jfrog предоставляет Java-клиент для Artifacory, которые могут быть использованы в данном случае.
Он уже содержит предварительно определенный клиент 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"); 

Обратите внимание, что элемент может быть папка или файл.

+0

Благодарим за отзыв Roman. Есть ли способ исправить это, используя строгий скрипт. – Sri

+0

Ваш код является неполным и неполным, поэтому я предлагаю вам проверить, как клиент Artifactory java настраивает клиент Http и отправляет запрос на удаление в Artifactory. –