Comment déclencher les compilations à distance de Jenkins et passer les paramètres

je suis en invoquant un Jenkins offre d'emploi à distance à l'aide de:

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

Ici Test-Jenkins travail est invoquée et DOIT est le jeton de sécurité que j'ai utilisé.

maintenant j'ai besoin de passer quelques paramètres à la compilation.fichier xml de ce travail, c'est à dire Test-Jenkins.

Je n'ai pas encore trouvé comment passer les variables.

40
demandé sur Shepmaster 2013-12-03 23:22:25

4 réponses

voir la documentation de Jenkins:Paramétrée De Construire

ci-Dessous est la ligne qui vous intéresse:

http://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value
45
répondu Peter Schuetze 2018-08-12 23:24:52

pour déclencher une compilation avec ses propres paramètres, invoquez L'URL suivante (en utilisant POST ou GET):

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

puis dans votre configuration de travail Jenkins, cochez la case nommée"This build is parameterized", cliquez sur le "Add Parameter" bouton et sélectionnez l'option "String Parameter" liste déroulante valeur.

maintenant, définissez votre paramètre-exemple:

Enter image description here

Maintenant vous pouvez utiliser votre paramètre dans votre pipeline de travail / construction, exemple:

Enter image description here

40
répondu Zacky Pickholz 2018-08-13 00:45:07

passer/utiliser les variables, créez d'abord les paramètres dans la section configurer de Jenkins. Les paramètres que vous utilisez peuvent être de type texte, chaîne, fichier, etc.

après les avoir créés, utilisez la variable de référence dans les champs que vous voulez.

Par exemple: j'ai configuré/créé deux variables Email-subject et Email-recipentList, et j'ai utilisé leur référence dans le EMail-ext plugin (screenshot joint).

Enter image description here

2
répondu Hari Kiran Mutyala 2018-08-13 00:43:47

Vous pouvez simplement essayer avec un jenkinsfile. Créez une tâche Jenkins en suivant le script du pipeline.

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}"
            }
        }

    }
}

construisez la tâche manuellement pour la configurer et créez simplement une requête http POST pour la tâche Jenkins comme suit.

le format est http://server/job/myjob/buildWithParameters?PARAMETER=Value

curl http://admin:test123@localhost:30637/job/apd-test/buildWithParameters?userFlag=false --request POST
0
répondu JMadushan 2018-09-21 07:58:37