Как я могу переопределить параметры задания Jenkins по умолчанию?

63
7

В настоящее время я работаю над проектом, в котором у нас есть экземпляр jenkins, работающий бок о бок с отдельным веб-сайтом, и рабочий процесс таков, что пользователи должны щелкнуть ссылки на веб-сайте, которые запускают задания jenkins в экземпляре jenkins.

Задание jenkins, которое запускается, имеет десятки параметров, и то, что мы сейчас делаем, это то, что веб-сайт создаст такой URL с помощью javascript:

https://JENKINS_HOST/Работа /JOB_NAME/buildWithParameters ДЕСЯТКИ = о & PARAMETERES = здесь и задержки = 0sec?

И тогда пользователь нажмет на это (отправив запрос GET), jenkins показывает небольшую предупреждающую страницу, в которой говорится: "Вы должны использовать POST вместо этого, нажмите" Продолжить, чтобы продолжить ".

Раньше было, что после нажатия на ссылку вы отправите на страницу задания, где вы можете увидеть статус задания, но мы недавно обновили jenkins и теперь получаем только пустой белый экран после нажатия.

Я увидел еще один ответ здесь, где решение проблемы "чистого белого экрана" заключается в том, чтобы отправить POST вместо получения, но это проблематично для нас, потому что и наши Дженкинс, и наш вторичный веб-сайт подвергаются публичному интернету, поэтому мы не может просто генерировать токен API для использования для триггерных заданий, потому что это означает, что любой случайный человек может инициировать наши задания. Мы обрабатываем безопасность, используя плагин openid и некоторые ACL на основе этого, поэтому нам действительно нужно иметь возможность выполнить запрос GET, зарегистрировать пользователя, если они еще не были, а затем отправить задание в качестве зарегистрированного пользователя пользователь.

Итак, есть ли способ вместо "запуска задания удаленно" просто отобразить форму параметров сборки, но со значениями, предварительно заполненными параметрами GET? Таким образом, наши пользователи смогут визуально просмотреть параметры и, возможно, внести исправления, прежде чем нажать "Построить", а затем посмотреть обновление состояния в реальном времени.

Всю документацию, которую я смог найти до сих пор, предполагает, что задания будут инициироваться скриптами и приводятся примеры того, как отправлять запросы POST с завитом, но мне это не помогает. Я хочу, чтобы люди активировали рабочие места в интерактивном режиме, и нынешний опыт не очень удобен для пользователя.

Благодарю.

спросил(а) 2021-01-25T16:24:41+03:00 4 месяца, 3 недели назад
1
Решение
64

Оказывается, что функциональность, которую я ищу, предоставляется плагином Build With Parameters. Это buildWithParameters в моих поисках несколько раз, но я buildWithParameters виду это каждый раз, думая, что это просто встроенная функция buildWithParameters, которая не делает то, что я хочу.

Игнорируя неудачное имя, этот плагин выполняет именно то, что я просил: он показывает вам форму параметров построения, со значениями, заполненными параметрами GET.

ответил(а) 2021-01-25T16:24:41+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема