2010-12-09 11 views
7

Actualmente estoy buscando un método de trabajo para cargar un archivo + un campo en la siguiente confiuguración de Hudson. El problema actual es que Hudson siempre se queja de un formulario que debe enviarse ... (ver la excepción más adelante en esta publicación). Pero en base a los documentos que he leído que debería estar trabajando como el siguiente fragmento de código Java ...Parámetro de carga de archivos a través de HTTP POST para activar una compilación de Hudson

HttpPost httppost = new HttpPost(triggerJobUrl); 
FileBody fileBody = new FileBody(releaseProperties); 
StringBody stringBody = new StringBody(svnURL.toString()); 
MultipartEntity mentity = new MultipartEntity(); 
mentity.addPart("trunk/release.properties", fileBody); 
mentity.addPart("SVNURL", stringBody); 
httppost.setEntity(mentity); 
HttpResponse response = null; 
try { 
    response = httpClient.execute(httppost); 
} catch (ClientProtocolException e) { 
    throw new HudsonException("http protocol error.", e); 
} catch (IOException e) { 
    throw new HudsonException("connection aborted.", e); 
} 
if (response.getStatusLine().getStatusCode() != 200) { 
    throw new HudsonException("Unexpected status code received " + response.getStatusLine().getStatusCode()); 
} 
HttpEntity resEntity = response.getEntity(); 
if (resEntity != null) { 
    try { 
     resEntity.consumeContent(); 
    } catch (IOException e) { 
     throw new HudsonException(
       "if an I/O error occurs. This indicates that connection keep-alive is not possible.", e); 
    } 
} 

Mis actuales dependencias de Maven son los siguientes:

<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.0.3</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpcore</artifactId> 
    <version>4.0.1</version> 
    <type>jar</type> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpmime</artifactId> 
    <version>4.0.3</version> 
    <type>jar</type> 
    <scope>compile</scope> 

La excepción es la siguiente :

java.lang.Error: This page expects a form submission 
    at org.kohsuke.stapler.RequestImpl.getSubmittedForm(RequestImpl.java:769) 
    at hudson.model.ParametersDefinitionProperty._doBuild(ParametersDefinit 
+0

Hola, como el enlace de la imagen no es válido, no estoy seguro de su pregunta. He publicado una respuesta para cargar un archivo para una compilación parametrizada con curl en http://illegalstateexception.blogspot.de/2010/11/triggering-hudson-parameterized-builds.html. –

+0

Tengo el mismo problema, ¿solucionó esto? – tipu

Respuesta

21

Probablemente estés usando url como job/blabla/build debes probar con job/bl abla/buildWithParameters

Cuestiones relacionadas