en
Език
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI превод
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Интеграция на GitLab

0 Въведение

GitLab Integration е добавка, която може да бъде добавена към всеки от трите плана Easy Redmine.

Целта на приставката е да обобщи важни данни от GitLab в Easy Redmine, за да помогне при отчитането, оценката и представянето на дейностите по разработка, като по този начин подпомага вземането на решения от страна на заинтересованите страни, които са инвестирани в проектите и процесите за разработка на софтуер на компанията.

Неговите възможности включват много проста първоначална връзка с вашия GitLab екземпляр (както самостоятелно хоствани, така и облачни версии). Когато връзката бъде установена, Easy Redmine ще покаже най-важните елементи от GitLab в конфигурируеми и филтрируеми списъци (подобно на списък със задачи). Тези субекти са:

  • Хранилища
  • Заявки за сливане
  • Ангажира
  • Тестове

включително техните най-важни атрибути.

Ключов елемент от интеграцията е, че Easy Redmine НЕ копира хранилищата физически. Кодът остава в GitLab.

1 Установяване на връзка

Първо, трябва да имате токен за достъп от потребител в GitLab, с подходящи разрешения.

  1. Изберете потребител, чрез когото Easy Redmine ще има достъп до GitLab. Това може да е специален потребител, от който никой не влиза, напр. er_интегратор
  2. Редактиране на профила на този потребител
  3. Отидете на токени за достъп, изберете всички разрешения и Създайте личен токен за достъп

  4. Копирайте този токен


    Сега можете да отидете на Easy Redmine и да въведете жизненоважната информация

  5. Отидете на Администратор >> Интегриране на GitLab >> Намери Налични интеграции и хит Определен
  6. Дайте име на връзката си, въведете URL адреса и маркера за достъп, който генерирахте по-рано.
    Забележка: В случай на облак, напр https://gitlab.com/my-little-gitlab , просто въведете https://gitlab.com/ без под-URL адреса. Няма нужда да се притеснявате, можете да видите само проекти, които потребителят с токен за достъп може да види. Ако зададете всичките си проекти като частни, никой друг няма да може да ги види.
  7. Save
  8. Това е! Връзката е извършена.

Всичко останало се извършва автоматично във фонов режим. В частност

  • Easy Redmine извлича всички проекти/хранилища, в които членува потребителят с токен за достъп
  • В тези хранилища се създават webhooks =>, така че информацията за нов ангажименти, заявки за сливане и тестове ще бъдат изпратени до Easy Redmine

1.1 Отстраняване на неизправности при свързване

Проблем А
Не виждам никакво хранилище от този екземпляр на GitLab

Поради непредвидими обстоятелства може да се случи така, че гореспоменатите операции да не бъдат извършени успешно. В резултат на това може да не видите никакво хранилище от този екземпляр на GitLab в Easy Redmine.

В такъв случай можете да импортирате хранилищата ръчно, само с няколко щраквания.

  1. Отидете на Администратор >> Интегриране на Gitlab >> Конфигурирани интеграции >> Щракнете върху името

  2. В страничното меню щракнете внос

  3. Изберете групата
    При самостоятелно хостван GitLab ще има група, представляваща целия екземпляр. Както в примера от екранна снимка.
    С облачния GitLab ще видите всички публични групи и вероятно ще трябва да потърсите вашата група. Полето се попълва автоматично, така че търсенето е бързо и лесно.
  4. След като го изберете и щракнете, ще видите списъка с намерени проекти/хранилища
  5. Изберете всички и натиснете внос

Проблем Б
Хранищата бяха открити, но моите нови ангажименти, заявки за сливане и тестове не са добавени в Easy Redmine

Новите данни от GitLab се изпращат до Easy Redmine чрез уеб кукички, конфигурирани в GitLab. При нормални обстоятелства те се създават автоматично. Можете да проверите това във вашия GitLab проект >> Настройки >> Webhooks

Ако няма webhook с връзката към вашето приложение, ще трябва да го създадете. Отново, това е проста операция.

  1. Отидете на Администратор >> Интегриране на Gitlab >> Конфигурирани интеграции >> Щракнете върху името
  2. В страничното меню щракнете върху Хранилища

  3. Кликнете върху името на единия
  4. Кликнете върху Регистрирайте всички интеграции

Това ще принуди ръчно създаване на webhook в правилната форма.

2 Референтни ключови думи

Сега, когато общата връзка е конфигурирана, вече имате информация от GitLab в Easy Redmine и можете да я използвате. Въпреки това, за да се възползвате напълно от интеграцията, има още няколко настройки. Някои вече са предварително зададени и можете просто да ги проверите.

Възможно е да свързвате конкретни заявки за ангажименти или заявки за сливане към определени задачи и дори да регистрирате времето по този начин, без да се налага да посещавате Easy Redmine. Това става чрез т.нар препращане към ключови думи. Когато ги използвате в съобщението за комит или името на заявката за обединяване в комбинация с идентификатора на задачата, това ще създаде връзка между задачата и GitLab елемента. Най-често срещаните примери са реф. #1234 or затваря #1234

В повечето случаи ще намерите няколко предварително зададени референтни ключови думи. Ето как да работите с тях.

  1. Отидете в менюто Още >> Интегриране на GitLab >> Препратки
  2. Създайте или редактирайте препратка
  3. Целият формуляр съдържа подсказки, които да ви помогнат да се ориентирате през тях

Най-важните правила, които трябва да запомните, са:

  • Задачата трябва да бъде идентифицирана във формуляр #ID, напр. #1234
  • Времето за регистриране (ако е позволено) винаги се въвежда като @XhYm , например @1h30m
  • При комитации ключовите думи за препращане трябва да бъдат въведени в съобщение за ангажиране
  • При заявки за сливане ключовите думи за препращане трябва да бъдат въведени в име на заявката за сливане

3 Картографиране на потребители

Тъй като се занимаваме с интеграция на две различни приложения, всяко от тях има различни групи потребители. Всички потребителски атрибути на свързаните с GitLab обекти (автор на commit, рецензент на merge reqeust и т.н.) в Easy Redmine + прекарано време, регистрирано чрез препращащи ключови думи, трябва да бъдат свързани с реални потребители. И така, как всъщност потребителите от GitLab са картографирани към Easy Redmine?

Тук няма нищо научно, потребителите са просто картографирани чрез имейл и в двата потребителски профила. Моля, уверете се, че вашите разработчици имат идентични имейли както в GitLab, така и в Easy Redmine.

Ако по някаква причина един потребител не може да обедини имейлите в двете приложения, има опция за въвеждане на допълнителен имейл в Easy Redmine в потребителския профил -> въведете имейла на GitLab тук.


4 Как работи

Най-накрая стигаме до забавната част. Какво всъщност прави интеграцията за потребителите. Достъп до главната страница/таблото за управление на интеграцията на GitLab чрез менюто Още (горе вдясно) под секция Добавки.

Ще намерите адаптивна страница в състояние по подразбиране, която по-късно можете да настроите според вашите нужди.

Той също така включва меню за изброяване на обекти или въвеждане на настройки. Както бе споменато във въведението, Easy Redmine събира и показва 4 важни обекта от GitLab. Нека разгледаме по-отблизо всеки един от тях.

4.1 Хранилища

Списъкът с хранилища е функционално най-малко интересен, макар и наистина необходим. Полезен филтър, който си струва да се спомене, се нарича обслужване, който ще използвате, ако имате свързани различни екземпляри на GitLab и трябва да търсите само през някои от тях.

Името на хранилището съдържа и името на неговата група.

Подробности за хранилището

Забележки:

  • (Не-) Регистрирайте всички интеграции са описани в глава 1.1. Той ще създава/изтрива уеб кукички в проекта GitLab.
  • редактирам - ръчна промяна на някои атрибути. Няма друга причина освен разширено отстраняване на грешки за редактиране на атрибути на хранилището в Easy Redmine.
  • синхронизирам - изтегля всички текущи данни от хранилището.
  • Заявки за сливане - изброява всички заявки за сливане в това хранилище.
  • Изберете шаблон за последователност - все още в процес на разработка, моля, дайте ни повече време да полираме този здрав инструмент.

4.2 Заявки за сливане (заявки за код)

Трябва да изясним защо има две имена. Заявка за сливане е терминът, използван в GitLab. Други инструменти имат различни имена, например Заявка за изтегляне. Механизмът за интеграция на нашия инструмент е написан по общ начин, така че да можем да разширим поддръжката към други Git платформи. Следователно в приложението и изображенията може да намерите етикет Искане за код, което е общ термин, който може да се приложи към заявки за обединяване или изтегляне.

Заявката за сливане е богата единица (съхранява всички важни атрибути), която позволява да създавате хубави списъци, отчети и диаграми над тях директно в Easy Redmine.

Подробности за заявката за сливане

Забележки:

  • Името на заявката за сливане съдържа препращащата ключова дума "refs", последвана от идентификатора на задачата с хеш #765 - затова е свързана със задача 765
  • Кликвайки върху синхронизирам ще актуализира всички данни за този MR от GitLab
  • Всички атрибути могат да бъдат показани в списък със заявки за сливане
  • Всички атрибути с изключение на SHA могат да се използват като филтри в списък/отчет/диаграма на заявките за сливане
  • Списъкът със заявки за обединяване също съдържа атрибути на тестове (CI/CD), свързани с него, най-важното - Състояние на теста

4.3 Ангажи

Подобно на заявките за сливане, списъкът с ангажименти също предоставя широки възможности за докладване. Списъкът за комит също съдържа атрибути от тестове.


Commit няма собствен подробен изглед в Easy Redmine. Просто няма нужда от това. Като щракнете върху URL (или SHA), ще бъдете насочени към подробностите му в GitLab.

4.4 тестове

Те бяха споменати във връзка с посочените по-горе субекти. Тестовете също имат свой собствен списък за генериране на различни отчети. Вероятно най-честата употреба ще бъде преглед на живо на тестове на критичните хранилища, като например кандидати за освобождаване.

Тестовете също нямат собствен подробен изглед, щракването ще ви отведе до GitLab.

4.5 Синергия - изглед от задача

Нека да разгледаме как върви всичко заедно.

1 Цялостно състояние на обектите на GitLab, свързани с тази задача. Може да съдържа различни комбинации от цветове (червено, оранжево, зелено) и икони (отметка, кръст). Най-добрият е, разбира се, зелена отметка в зелена рамка
Комбинацията зависи от състоянието на заявката(ите) за сливане и резултатите от тестовете, свързани с ангажименти и заявки за сливане. Целта му е да покаже на пръв поглед как върви "техническият" напредък на тази задача, полезно особено за QA или мениджъри по доставки.

2 Име на хранилище(а), в което са поети промените, отнасящи се до тази задача. Като щракнете върху връзката, ще бъдете насочени към списъка с тези ангажименти.

3 Име на заявка(и) за сливане, отнасяща се до тази задача. Като кликнете върху него, ще бъдете насочени към детайлите на MR в Easy Redmine.
В случай, че има само комити, отнасящи се до тази задача, но липсва заявка за сливане, тази стойност е празна.

4 Състояние на всяка заявка за сливане. Като кликнете върху него, ще бъдете пренасочени към подробностите за заявката за сливане в GitLab.
В случай, че има само комити, отнасящи се до тази задача, но липсва заявка за сливане, тази стойност е празна.

5 Резултат от последното тестово изпълнение в заявката за сливане. Като кликнете върху него, ще бъдете насочени към конвейера в GitLab. Не може да се щракне неизвестен състояние (тръбопроводът не съществува).
В случай, че има само комити, отнасящи се до тази задача, но липсва заявка за сливане, стойността показва последния тестов резултат, извършен при последния комит.

6 Изпълнение на теста ръчно - Щракнете, за да стартирате тръбопровода ръчно (отвежда ви до GitLab).

7 Щракнете, за да създадете заявка за сливане. Полезно, когато имате само набор от ангажименти, но липсва MR (отвежда ви до GitLab).

4.6 Създаване на клон от задача

(Забележка: Функцията е налична от 11plus.6.0)

Някои потребители намират за удобно да създадат клон директно от задачата.

Бутонът може да бъде намерен в Още меню върху детайла на задачата


Изберете хранилището в полето за автоматично довършване. Името на клон е предварително попълнено с идентификатор на задачата и тема, но можете да го промените. Изходният клон е предварително попълнен от майстор

Ще видите клона като маркер в раздела за интеграция на Gitlab на задачата. Може да се щракне и води до клона в GitLab.



5 Разрешения

В момента има две разрешения.

  • Преглед - Достъп до добавката от менюто Още
  • Управление - редактиране на таблото

Глобалната конфигурация е достъпна само за администратора на Easy Redmine.

Опитайте Easy Redmine за 30 дни безплатен пробен период

Пълни функции, SSL защитени, ежедневни архиви, във вашето геолокация