Skip to content

Web-hooks for Gitlab to integrate with Bitrix24

License

Notifications You must be signed in to change notification settings

alt3rmann/bxGitlab

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

bxGitlab

Web-hooks for Gitlab to integrate with Bitrix24 Self-hosted.

Функции синхронизации

  • если создается коммит без указания тега с номером задачи, в корп портале создается новая задача, создателем и исполнителем задачи назначается автор коммита, наблюдателем назначается руководитель автора;
  • если создается коммит с указанием тега с номером задачи, то добавляется комментарий к данной задаче;
  • если автор коммита не состоял в задаче, он становится соисполнителем задачи;
  • поиск пользователя среди пользователей корп портала осуществляется по email пользователя, указанного в профиле GitLab, причем коммит может осуществляться по другому email (сертификату);
  • если пользователь не будет найден в корп портале, комментарий к задаче будет создан от имени бота Марта;
  • если не найдена задача с номером, указанным в коммите, будет создана новая задача (если найден пользователь);
  • все коммиты дополнительно сохраняются в отдельном списке, чтобы можно было в дальнейшем удобно просмотреть всю историю с привязкой к задачам и пользователям корп портала;
  • помимо привязки к пользователю в списке сохраняется имя и email автора коммита, так как под одной учеткой гита пользователь может работать с разными сертификатами с разных компьютеров;
  • если в пуше несколько коммитов, будут обработаны все коммиты последовательно;
  • тег с номером задачи может быть указан не только в коммите (хотя это наиболее частый и удобный вариант), но и названии или описании репозитория; в таком случае каждый раз при пуше в данную задачу будет добавляться соответствующий комментарий.

Формат указания номера задачи

task<номер задачи>

Например: task822 task7744

Тег с номером задачи можно указывать:

  • в тексте комментария к коммиту (предпочтительно);
  • в названии или описании репозитория.

Настройка

  • создать список со следующими полями и кодами полей (для лога всех коммитов):
    • NAME - id коммита
    • COMMIT_URL - ссылка на коммит
    • TASK_URL - ссылка на задачу
    • AUTHOR_NAME - имя автора из коммита
    • AUTHOR_EMAIL - мыло автора из коммита
    • BRANCH - ветка в гите
    • REPOSITORY - репа в гите
    • PREVIEW_TEXT - коммент к коммиту
  • залить файл куда-нибудь в папку корп портала (например, /hooks/commithandler.php
  • указать значения констант в define
  • добавить для каждого проекта в GitLab веб хуку на событие push, указать урл, где расположен данный скрипт (с ssl может не работать)
  • проверить, что все корректно отрабатывает.

Distribution

Please feel free to modify and use (GPLv2). Pull requests are strongly appreciated.

About

Web-hooks for Gitlab to integrate with Bitrix24

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%