Интеграция между Jenkins и 1С:Предприятие 8.3 по HTTP используя Jenkins REST API
Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции по HTTP с Jenkins используя Jenkins REST API. Ключевые функции: выборка доступных задач для авторизованного пользователя; выборка доступных задач для анонимного пользователя; запуск задач с параметрами, без параметров; просмотр состояния задач; просмотр состояния сборок задач; открытие задач и сборок в браузере. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.20.1710) совместно с Jenkins 2.332.3.
- Описание
- Подробнее
Описание
Функции
Ключевые функции
- Авторизация пользователя на развернутом сервере Jenkins.
- Авторизация анонимного пользователя на развернутом сервере Jenkins.
- Просмотр доступных задач для авторизованного пользователя.
- Автоматическая загрузка статусов сборок по задаче;
- Загрузка статусов (иконок) сборок задач
- Изменение количества загружаемых сборок.
- Открытие задач в новом окне в программе.
- Запуск задач с параметрами и без.
- Просмотр номера и статуса запущенной задачи.
- Открытие задач и сборок в окне браузера.
Дополнительные возможности
- В случае ошибки в момент выполнения http запроса к Jenkins, программа выдает диагностическое сообщение с кодом состояния и открывает для просмотра в виде текста файл с ответом от Jenkins.
- Запросы посылаемые к Jekins API, получают только необходимые данные благодаря tree методу, за счет чего нагрузка на http не высока.
- Все запросы отправляются с сервера, а не с клиента.
- Реквизиты и страницы для открытия задачи в новой вкладке создаются программно.
Источники и ссылки:
- Спецификация по работе с Jekins с использованием REST: https://www.jenkins.io/doc/book/using/remote-access-api/
- Индивидуальные параметры по REST API для вашего Jenkins {Your Jenkins URL}/api/
- Примеры REST запросов к Jenkins: https://beginnersforum.net/blog/2019/11/28/jenkin-paramerized-job-api-json/
- Build with parameters Jenkins: https://plugins.jenkins.io/build-with-parameters/
- Jenkisn json api: https://gist.github.com/justlaputa/5634984
- Taming the Jenkins JSON API: https://www.cloudbees.com/blog/taming-jenkins-json-api-depth-and-tree
HTTP Request Jenkins: https://plugins.jenkins.io/http_request/
Особенности и ограничения
- Данная обработка предназначена для работы с серверной версией Jenkins.
- Настройки подключения, общие настройки сохраняются только для текущего пользователя.
- Проверка подключения производится используется обычная проверка подлинности Basic authentication.
- В запросах к Jenkins используется Крошка (Crumb) {Jenkins URL}/crumbIssuer/api/json.
- Если авторизация проведена анонимно, то будут показываться только те задачи, на которые есть права доступа.
- Количество загружаемых сборок уменьшено до 10 для ускорения работы, но это значение можно изменить.
- Если у вас параметризированная сборки, но у неё не было ни разу запуска, загрузка параметров производиться не будет.
Подключение к серверу Jenkins
На закладке "Настройки подключения" указываются параметры для подключения к Jenkins:
- Протокол — протокол подключения http/https
- Сервер — адрес сервера Jenkins
- Порт — по умолчанию 8080
- Вариант авторизации, если поставлена галочка, будет выполнена анонимная авторизация, иначе необходимо ввести логин и пароль.
