Интеграция между Jenkins и 1С:Предприятие 8.3 по HTTP используя Jenkins REST API

05.08.22

Интеграция - WEB-интеграция

Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции по HTTP с Jenkins используя Jenkins REST API. Ключевые функции: выборка доступных задач для авторизованного пользователя; выборка доступных задач для анонимного пользователя; запуск задач с параметрами, без параметров; просмотр состояния задач; просмотр состояния сборок задач; открытие задач и сборок в браузере. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.20.1710) совместно с Jenkins 2.332.3.

Скачать файлы

Наименование Файл Версия Размер
Jenkins и 1С 8.3 интеграция через REST по HTTP
.epf 36,13Kb
5
.epf 1.1 36,13Kb 5 Скачать

Введение

Представляю вашему вниманию внешнюю обработку, которая позволяет совершать обмен между 1С:Предприятием и Jekinins посредством встроенного API. Взяв эту обработку за основу можно настроить регламентные задания для запуска сборок Jenkins, запускать задачи и мониторить их статусы в удобной структуре. Для запуска задач используется POST Http метод, с передачей параметров задачи, которые у вас установлены. Есть возможность открывать URL как задачи, так и сборки. В общем все поподробнее можете прочитать ниже, а также скачать и посмотреть самому)

Функции

Ключевые функции

  1. Авторизация пользователя на развернутом сервере Jenkins.
  2. Авторизация анонимного пользователя на развернутом сервере Jenkins.
  3. Просмотр доступных задач для авторизованного пользователя.
  • Автоматическая загрузка статусов сборок по задаче;
  • Загрузка статусов (иконок) сборок задач
  • Изменение количества загружаемых сборок.
  1. Открытие задач в новом окне в программе.
  2. Запуск задач с параметрами и без.
  3. Просмотр номера и статуса запущенной задачи.
  4. Открытие задач и сборок в окне браузера.

 

Дополнительные возможности 

  1. В случае ошибки в момент выполнения http запроса к Jenkins, программа выдает диагностическое сообщение с кодом состояния и открывает для просмотра в виде текста файл с ответом от Jenkins.
  2. Запросы посылаемые к Jekins API, получают только необходимые данные благодаря tree методу, за счет чего нагрузка на http не высока.
  3. Все запросы отправляются с сервера, а не с клиента.
  4. Реквизиты и страницы для открытия задачи в новой вкладке создаются программно.

 

Источники и ссылки:

  1. Спецификация по работе с Jekins с использованием REST: https://www.jenkins.io/doc/book/using/remote-access-api/
  2. Индивидуальные параметры по REST API для вашего Jenkins {Your Jenkins URL}/api/
  3. Примеры REST запросов к Jenkins: https://beginnersforum.net/blog/2019/11/28/jenkin-paramerized-job-api-json/
  4. Build with parameters Jenkins: https://plugins.jenkins.io/build-with-parameters/
  5. Jenkisn json api: https://gist.github.com/justlaputa/5634984
  6. Taming the Jenkins JSON API: https://www.cloudbees.com/blog/taming-jenkins-json-api-depth-and-tree
  7. HTTP Request Jenkins: https://plugins.jenkins.io/http_request/

 

Особенности и ограничения

  1. Данная обработка предназначена для работы с серверной версией Jenkins.
  2. Настройки подключения, общие настройки сохраняются только для текущего пользователя.
  3. Проверка подключения производится используется обычная проверка подлинности Basic authentication.
  4. В запросах к Jenkins используется Крошка (Crumb) {Jenkins URL}/crumbIssuer/api/json.
  5. Если авторизация проведена анонимно, то будут показываться только те задачи, на которые есть права доступа.
  6. Количество загружаемых сборок уменьшено до 10 для ускорения работы, но это значение можно изменить.
  7. Если у вас параметризированная сборки, но у неё не было ни разу запуска, загрузка параметров производиться не будет.

 

Подключение к серверу Jenkins

На закладке "Настройки подключения" указываются параметры для подключения к Jenkins:

  1. Протокол - протокол подключения http/https
  2. Сервер - адрес сервера Jenkins
  3. Порт - по умолчанию 8080
  4. Вариант авторизации, если поставлена галочка, будет выполнена анонимная авторизация, иначе необходимо ввести логин и пароль.
 
 Снимок экрана: Настройки подключения Jenkins

 

  

 

Задачи Jenkins

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

Если авторизация пройдена при следующем запуске авторизация будет произведена автоматически, а также будут загружены доступные задачи

 
 Снимок экрана: Задачи Jenkins

 

Для задач доступны следующие соответствия jenkins color иконкам:

 

 

Коллекция для колонки загружена на прямую, если расскажете как сделать правильнее буду очень рад :)

Для задач, для которых не возможно получить параметры и статусы будет выведена предупреждающая декорация.

 
 Снимок экрана: Недоступная задача

При двойном нажатии по задаче из списка, она откроется в окне браузера

 
 Снимок экрана: открытие задачи в окне браузера

 

Общие команды на вкладке ЗадачиJenkins

Заполнить задачи

Выполняет полную загрузку доступных задач из Jenkins вместе с иконкой состояния, полностью генерирует новые UID для задач, закрывает активные открытые окна задач

Обновить статусы задач

Выполняет обновление статусов задач для текущих задач в списке, не обновляет UID для текущих задач.

Открыть в новом окне

Если для задачи есть возможность просмотра статусов сборки, то для этой задачи появляется возможно открыть её в новом окне.

 
 Снимок экрана: Открытие задачи в новом окне

Закрыть открытые задачи

Закрывает все открытые вкладки задач, а также удаляет все созданные программные реквизиты и элементы.

 

Запуск задач

Запуск задач производится на открытой вкладке задачи.

Если у задачи нет параметров, то будет выведено соответствующая декоративная надпись

 
 Снимок экрана: Задача без параметров

Если у задачи есть параметры, то они будут выведены

 
 Снимок экрана: Задача с параметрами

После нажатия на кнопку "Запустить задачу" нам выведется вопрос, в случае ответа Да, сборка запустится и нам вывдетеся сообщение с номером сборки.

 
 Снимок экрана: Запуск задачи

 

Сборки задач

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

  1. Загрузить статусы сборок - загрузить статусы сборок, присвоить новые UID для статусов
  2. Очистить статусы сборок - полностью очищает статусы для данной задачи
  3. Обновить статусы сборок - обновляет статусы сборок

Если дважды нажать на статус сборки, то она откроется в окне браузера.

 
 Снимок экрана: Сборки задачи

 

Общие настройки

Получение параметров

  1. Выбор вида сборки, откуда будут получаться параметры:
  • lastBuild - Последняя сборка
  • lastCompletedBuild - Последняя запущенная сборка
  • lastSuccessfulBuild - по умолчанию - Последняя успешная сборка

Загрузка статусов сборок

  1. Автоматически загружать статусы сборок - если включено, то при выборе задачи из списка будет автоматически загружаться статусы сборки
  2. Загружать статусы сборок задач - Из-за особенностей Jenkins API, для получения статуса сборки задачи необходимо выполнить дополнительные Rest запрос к каждой сборке, для получения его состояния, если данный параметр включен, то будет выполняться статус задач, но за счет этого загрузка производится медленнее.
  3. Количество загружаемых сборок - по умолчанию 10 - Количество сборок, которые будут загружаться, при значении  от 10-20 , настройка 3 работает очень уверенно и без торможений.
  4. Загружать все - будет выполнена полная загрузка всех сборок задач (не рекомендуется, если количество сборок превышает 1000)
  5. Показывать URL задач и сборок - изменяет видимость URL для задач и сборок

Запуск задач

  1. Закрывать задачу после запуска - После успешного запуска задачи, вкладка с задачей будет закрыта
  2. Обновлять статусы задач и сборок - После успешного запуска задачи, будет выполнено автоматическое обновление статусов задач и сборок. Если включена настройка 1, то также будет выбрана задача и сборка в списке.
 
 Снимок экрана: Общие настройки

 

 

Заключение

Буду рад каждому комментарию, предложению и критике, так как я начинающий программист 1С и уверен, что многого еще не знаю!

Обработка Загрузка Jenkins Интеграция УФ JSON REST API DevOps CICD v8

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15657    9    17    

9

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12809    30    8    

10

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17425    6    15    

13

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25687    9    0    

7

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16256    41    49    

22
Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. TheOldGuard 10 06.07.22 12:08 Сейчас в теме +1 $m
Кстати, какие хотите доработки видеть в этой обработке?
Оставьте свое сообщение