Интеграция между 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
9
9 Скачать (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С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2133    2    0    

9

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    1865    1    1    

4

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

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С. Бесплатный период Техподдержки - 1 месяц.

60000 руб.

07.05.2019    34171    63    45    

24

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

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

24000 руб.

27.09.2024    3370    3    2    

4

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

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

12000 руб.

02.02.2021    18527    53    50    

29

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

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

36000 руб.

03.08.2020    18773    20    22    

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