Cómo activar Jenkins builds remotamente y pasar parámetros


Estoy invocando un trabajo de Jenkins remotamente usando:

wget http://<ServerIP>:8080/job/Test-Jenkins/build?token=DOIT

Aquí se invoca Test-Jenkins job y DOIT es el token de seguridad que he usado.

Ahora necesito pasar algunos parámetros a la compilación.archivo xml de este trabajo, es decir, Test-Jenkins.

Todavía no he descubierto cómo pasar las variables todavía.

Author: Shepmaster, 2013-12-03

4 answers

Ver la documentación de Jenkins: Compilación Parametrizada

A continuación está la línea que le interesa:

http://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value
 45
Author: Peter Schuetze,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-12 23:24:52

Para activar una compilación con parámetros propios/personalizados, invoque la siguiente URL (usando POST o GET):

http://JENKINS_SERVER_ADDRESS/job/YOUR_JOB_NAME/buildWithParameters?myparam=myparam_value

Luego, en la configuración del trabajo de Jenkins, marque la casilla llamada "This build is parameterized", haga clic en el botón "Add Parameter" y seleccione el valor desplegable "String Parameter".

Ahora defina su parámetro-ejemplo:

Introduzca la descripción de la imagen aquí

Ahora puede usar su parámetro en su canalización job / build, ejemplo:

Introduzca la descripción de la imagen aquí

 40
Author: Zacky Pickholz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-13 00:45:07

Para pasar/usar las variables, primero cree parámetros en la sección configure de Jenkins. Los parámetros que utilice pueden ser de tipo texto, Cadena, archivo, etc.

Después de crearlos, use la referencia de variable en los campos que desee.

Por ejemplo: He configurado/creado dos variables para Email-subject y Email-recipentList, y he utilizado su referencia en el complemento EMail-ext (captura de pantalla adjunta).

Introduzca la descripción de la imagen aquí

 2
Author: Hari Kiran Mutyala,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-13 00:43:47

Simplemente puede probarlo con un jenkinsfile. Cree un trabajo de Jenkins con el siguiente script de canalización.

pipeline {
    agent any

    parameters {
        booleanParam(defaultValue: true, description: '', name: 'userFlag')
    }

    stages {
        stage('Trigger') {
            steps {
                script {
                    println("triggering the pipeline from a rest call...")
                }
            }
        }
        stage("foo") {
            steps {
                echo "flag: ${params.userFlag}"
            }
        }

    }
}

Compile el trabajo una vez manualmente para configurarlo y simplemente cree una solicitud http POST para el trabajo de Jenkins de la siguiente manera.

El formato es http://server/job/myjob/buildWithParameters?PARAMETER=Value

curl http://admin:test123@localhost:30637/job/apd-test/buildWithParameters?userFlag=false --request POST
 0
Author: JMadushan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-21 07:58:37