Как запускать сборки Jenkins удаленно и передавать параметры
Я вызываю работу Дженкинса удаленно, используя:
wget http://<ServerIP>:8080/job/Test-Jenkins/build?token=DOIT
здесь Test-Jenkins
вызывается задание и DOIT
- это маркер безопасности, который я использовал.
теперь мне нужно передать некоторые параметры в сборку.xml-файл этого задания, т. е. Test-Jenkins
.
Я еще не придумал, как передать переменные.
4 ответов
см. документацию Дженкинс: Параметризованные Сборки
ниже находится строка, которая вас интересует:
http://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value
чтобы запустить сборку с собственными / пользовательскими параметрами, вызовите следующий URL (используя POST или GET):
http://JENKINS_SERVER_ADDRESS/job/YOUR_JOB_NAME/buildWithParameters?myparam=myparam_value
затем в конфигурации задания Дженкинса установите флажок"This build is parameterized
" выберите "Add Parameter
"кнопка и выберите"String Parameter
" выпадающие значения.
теперь определите свой параметр-пример:
теперь вы можете использовать свой параметр в свою работу / строительство газопровода, пример:
чтобы передать / использовать переменные, сначала создайте параметры в разделе configure Дженкинса. Параметры, которые вы используете, могут иметь тип text, String, file и т. д.
после их создания используйте ссылку на переменную в полях, которые вы хотите.
например: я настроил / создал две переменные для Email-subject
и Email-recipentList
, и я использовал их ссылку в EMail-ext
плагин (прилагается скриншот).
вы можете просто попробовать его с помощью jenkinsfile. Создайте задание Jenkins со следующим сценарием конвейера.
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}"
}
}
}
}
создайте задание один раз вручную, чтобы настроить его и просто создайте запрос HTTP POST к заданию Jenkins следующим образом.
формат http://server/job/myjob/buildWithParameters?PARAMETER=Value
curl http://admin:test123@localhost:30637/job/apd-test/buildWithParameters?userFlag=false --request POST