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.
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
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:
Maintenant vous pouvez utiliser votre paramètre dans votre pipeline de travail / construction, exemple:
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).
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