2012-08-08 14 views
10

Estoy desencadenando un trabajo Jenkins parametrizada remotamente usando el Remote Access API así:Jenkins: ¿Cómo puedo hacer que un trabajo enviado de forma remota use valores de parámetros predeterminados?

url=http://<ci-host>/job/<jobname>/build 
json="{\"parameter\": [{\"name\": \"A_NAME\", \"value\": \"a_value\"}]}" 
curl -X POST $url -d token=zorn --data-urlencode json="$json" 

Quiero Jenkins para utilizar el valor por defecto configurado para uno de mis parámetros, pero parece estar esperando valores para todos los parámetros .

Si dejo fuera un parámetro, el trabajo lo ve como una cadena vacía.

¿Hay alguna manera de hacer que use el valor predeterminado configurado para un parámetro?

EDIT: La solución (según Daniel S.) era utilizar buildWithParameters de la siguiente manera:

url=http://<ci-host>/job/<jobname>/buildWithParameters 
curl -s -X POST $url 

otra edición: Pero ahora el problema es que buildWithParameters no funciona en un trabajo sin parámetros . Por lo tanto, no se puede usar para un script genérico para comenzar todos mis trabajos.

Respuesta

19

Intente utilizar buildWithParameters en lugar de build, es decir

http://<ci-host>/job/<jobname>/buildWithParameters 
+1

complicaciones sobrevienen con la seguridad/autorización en su lugar. Puede leer algunos buenos consejos en [esta respuesta] (http://stackoverflow.com/a/16181067/366749). –

Cuestiones relacionadas