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

06.05.24

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Jenkins и 1С 8.3 интеграция через REST по HTTP
.epf 36,13Kb ver:1.1
8
8 Скачать (1 SM) Купить за 1 850 руб.

Введение

Представляю вашему вниманию внешнюю обработку, которая позволяет совершать обмен между 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С и уверен, что многого еще не знаю!

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.151.38

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

См. также

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

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17783    19    22    

16

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

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

5040 руб.

04.05.2021    19849    13    17    

16

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

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

22656 руб.

25.05.2021    14424    42    8    

18

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1172    1    0    

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