Подтвердить что ты не робот

Вызываете сборку Дженкинс снаружи Дженкинса?

Я новичок в Jenkins, и я не уверен, возможно ли это, но я хотел бы настроить веб-интерфейс, где кто-нибудь мог бы нажать "Start Job", и это скажет Jenkins начать определенную работу по сборке.

Есть ли у Дженкинса веб-сервис, который позволил бы такое? Если так, то что будет простым примером?

4b9b3361

Ответ 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