2012-09-06 8 views
5

Tengo un programa Java que controla trabajos generados automáticamente para un conjunto de servidores hudson. No es ningún problema crear, eliminar o actualizar job (config) s utilizando la API remota de hudson. También logré crear vistas de Hudson y crear un nuevo trabajo para una vista de Hudson. Pero aún necesito saber cómo agregar un trabajo ya existente a una vista y cómo eliminarlo nuevamente.Cómo agregar un trabajo mediante programación a una vista en hudson

¿Hay URLs con argumentos haciendo el trabajo (como para la creación de empleo)?

Respuesta

1

No hay ninguna API de vista de configuración (al menos no en Jenkins v1.424.6), pero debería ser posible añadir una tarea para ver foo mediante el uso de la forma en http://[jenkins-host]/view/foo/configure (sometiéndose a http://[jenkins]/view/foo/configSubmit).

Si está utilizando Java, HTMLUnit o HttpClient de Apache HttpComponents puede ayudarlo con esto.

+0

Ya he probado este enfoque. Pero el problema al que me enfrento es que este formulario no solo requiere la lista completa de trabajos que deberían estar vinculados a la vista, sino también la configuración de la columna de vista. Y la lista de ejemplos para mostrar requiere conocimiento de las clases de implementación de las columnas. Si se omite la configuración de la columna, la vista está vacía, porque no se muestran columnas. Además, se debe enviar una representación de jason del formulario. Si esto se omite, el resultado es un código de estado 500. En general, esto no parece ser una solución práctica. –

5

Puede ejecutar una secuencia de comandos groovy a través del Hudson CLI API que agregar un trabajo a una vista. Aquí está el código:

import hudson.model.* 

def job = Hudson.instance.getView("View").getItem("Job") 
Hudson.instance.getView("View2").add(job) 

y el comando de la CLI es:

java -jar hudson-cli.jar -s http://`your-hudson-server` groovy myScript.groovy 

Tenga en cuenta que debe tener instalado en su instancia Hudson maravilloso plug-in de apoyo con el fin de ejecutar el script. Puede instalarlo en: http: // your-hudson-server/pluginManager.

Cuestiones relacionadas