Вызываете сборку Дженкинс снаружи Дженкинса? - PullRequest
46 голосов
/ 15 декабря 2011

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

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

Ответы [ 10 ]

51 голосов
/ 15 декабря 2011

Вот ссылка на документацию: API удаленного доступа Jenkins .

Ознакомьтесь с разделом Отправка заданий .

В своей конфигурации работы вы устанавливаете токен, а затем создаете запрос POST для JENKINS_URL/job/JOBNAME/build?token=TOKEN.Это, вероятно, самое основное использование.

28 голосов
/ 16 сентября 2013

Jenkins также поддерживает параметризованную сборку.

Итак, если вы хотите передать параметры для настраиваемой генерации сборки, вы можете передать их, разместив их во время вызова запроса сборки Jenkins с http://YOURHOST/jenkins/job/PROJECTNAME/buildWithParameters.

7 голосов
/ 15 декабря 2011

Ага, я нашел это в документации. Так просто:

http://YOURHOST/jenkins/job/PROJECTNAME/build
4 голосов
/ 05 апреля 2017

Мне нужно было добавить параметры, и я хотел сделать это через 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'
4 голосов
/ 02 июля 2014

Использование:

http://some server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value

Вы можете ознакомиться с этой документацией: Параметризованная сборка

4 голосов
/ 15 декабря 2011

Существует хороший пример использования вышеуказанного API из Python.Проект называется Python Jenkins , и вы можете найти его здесь: ссылка

3 голосов
/ 15 декабря 2011

Дженкинс имеет документированный REST API.Вы можете заставить свой маленький веб-сервис вызывать его.

2 голосов
/ 25 мая 2016
curl -H POST http://USERNAME:PASSWORD@JENKINS_HOST:PORT/job/JOB_NAME/build?token=YOUR_TOKEN

Установите YOUR_TOKEN при настройке задания -> триггеры сборки -> триггерная сборка удаленно.

1 голос
/ 18 октября 2016

С помощью curl, если у вас есть несколько аргументов для передачи как токена, и параметр, который вам может потребоваться заключить в оболочку Linux:

curl -H POST "http://USERNAME:PASSWORD@JENKINS_HOST:PORT/job/JOB_NAME/build?token=YOUR_TOKEN&PARAMETER=VALUE"
0 голосов
/ 11 декабря 2018

Установите универсальный плагин Webhook Trigger. Выберите общий триггер webhook в действиях триггера сборки. Генерация случайной строки и вставка в токен. Теперь ваша работа может быть вызвана запросом http на следующий URL.

screenshot

http://JENKINS_URL/generic-webhook-trigger/invoke?token=TOKEN_VALUE

замените ваш URL-адрес jenkins и значение токена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...