Вызываете сборку Дженкинс снаружи Дженкинса?
Я новичок в Jenkins, и я не уверен, возможно ли это, но я хотел бы настроить веб-интерфейс, где кто-нибудь мог бы нажать "Start Job", и это скажет Jenkins начать определенную работу по сборке.
Есть ли у Дженкинса веб-сервис, который позволил бы такое? Если так, то что будет простым примером?
Ответы
Ответ 1
Вот ссылка на документацию: API удаленного доступа Jenkins.
Проверьте раздел "Отправка вакансий".
В своей конфигурации задания вы устанавливаете токен, а затем создаете запрос POST
для JENKINS_URL/job/JOBNAME/build?token=TOKEN
. Это, вероятно, самое основное использование.
Ответ 2
Jenkins также поддерживает параметризованную сборку.
Итак, если вы хотите передать параметры для настраиваемой генерации сборки, вы можете передать их, разместив ее, вызывая запрос на сборку Jenkins с помощью http:// YOURHOST
/jenkins/job/PROJECTNAME/buildWithParameters.
Ответ 3
Ага, я нашел это в документации. Так просто:
http://YOURHOST/jenkins/job/PROJECTNAME/build
Ответ 4
Существует хороший пример использования вышеуказанного API из Python. Проект называется Python Jenkins, и вы можете найти его здесь: ссылка
Ответ 5
Использование:
http://some server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value
Вы можете взглянуть на эту документацию: Parameterized Build
Ответ 6
Мне нужно было добавить параметры, и я хотел сделать это через https. Мне потребовалось некоторое время, но для меня это работало:
curl --request POST --url 'https://HOST_NAME/job/JOB_NAME/buildWithParameters?token=TOKEN' --header 'cache-control: no-cache' --header 'content-type: application/x-www-form-urlencoded' --data 'name1=value1&name2=value2'
Ответ 7
Jenkins имеет документально оформленный REST API. Вы можете заставить ваш маленький веб-сервис вызвать его.
Ответ 8
curl -H POST http://USERNAME:[email protected]_HOST:PORT/job/JOB_NAME/build?token=YOUR_TOKEN
Установите YOUR_TOKEN
при настройке задания → триггеры сборки → триггерная сборка удаленно.
Ответ 9
С curl, если у вас есть несколько аргументов для передачи, как токен, и параметр, который вы, возможно, придется указывать в оболочке Linux:
curl -H POST "http://USERNAME:[email protected]_HOST:PORT/job/JOB_NAME/build?token=YOUR_TOKEN&PARAMETER=VALUE"
Ответ 10
Установите универсальный плагин Webhook Trigger. Выберите общий триггер webhook в действиях триггера сборки. Генерация случайной строки и вставка в токен. Теперь ваша работа может быть вызвана запросом http на следующий URL.
![screenshot]()
HTTP://JENKINS_URL/родительский-webhook-триггер/вызов маркер = TOKEN_VALUE
замените URL-адрес и токен jenkins