2012-02-09 17 views
7

Bu api documentation verildiğinde, sorgumu oluşturmak için HTTPBuilder ve Groovy'yi nasıl kullanırdım? Birden çok şey denedim ama doğru anlamıyorum.Kavanoz dosyasını dağıtmak için Artifactory'nin REST API'sini kullanma

def http = new HTTPBuilder() 
http.request('http://artifactory:8888/libs-snapshot-local/my/jar/1.0/test-jar-1.0.jar', PUT, JSON) { req -> 

     body = [ 
      uri: "http://artifactory:8888/libs-snapshot-local/my/jar/1.0/test-jar-1.0.jar", 
      downloadUri: "http://artifactory:8888/libs-snapshot-local/my/jar/1.0/test-jar-1.0.jar", 
      repo: "libs-snapshot-local", 
      path: "c:\\pathtojarfile\\test.jar", 
      created: "2012-02-03T08:37:12.599-0800", 
      createdBy: "someuser", 
      size: "1024", 
      mimeType: "application/java-archive" 

     ] 

    response.success = { resp, json -> 


    } 

    } 

Bu, beni orada bir parça yol gibi görünüyor, ancak boş bir jar dosyası yükler. Vücut tamamen göz ardı gibi görünüyor. Çıkarmak aynı sonucu verir. Bunun nasıl yapıldığına dair iyi bir referans göremiyorum. söz belgelerinde

cevap

13

JSON aslında dağıtım isteğine Artifactory en tepki olduğunu. dağıtım için
, Artifactroy örneğin sadece basit bir PUT isteği gerektirir:

def restClient = new RESTClient('http://localhost:8080/artifactory/libs-release-local/') 
restClient.auth.basic 'username', 'password' 
restClient.encoder.'application/zip' = this.&encodeZipFile 
def encodeZipFile(Object data) throws UnsupportedEncodingException { 
    def entity = new FileEntity((File) data, 'application/zip'); 
    entity.setContentType('application/zip'); 
    return entity 
} 
def response = restClient.put(path: 'org/artifact/1.0/artifact-1.0.jar', 
     body: new File('/path/to/local/artifact.jar'), 
     requestContentType: 'application/zip' 
) 
+0

Bu çalıştı! Teşekkür ederim! Belgeleme biraz kafa karıştırıcı. Bazıları "Örnek çıktı" diyor ve bazıları "Örnek kullanım" diyor. Dağıtım api "Örnek kullanım" vardı .... hangi api nasıl olacağını düşündüm. – stuff22

İlgili konular