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

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

0 Въведение

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

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

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

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

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

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

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

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

  1. Изберете потребител, чрез когото Easy Redmine ще има достъп до GitHub. Това може да е специален потребител, от който никой не влиза, например er_интегратор
  2. Влезте в GitHub от този потребител
  3. Кликнете върху аватара >> Настройки

  4. Настройки на програмиста

  5. Лични токени за достъп

  6. Генерирайте нов токен

  7. Трябва да разрешите тези обхвати
    - репо (Пълен контрол на частни хранилища)
    - admin:repo_hook (Пълен контрол на куките на хранилището)
    - потребител (Актуализиране на ВСИЧКИ потребителски данни)
  8. Копирайте токена

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

  9. Отидете на Администратор >> Git интеграция >> Намери Налични интеграции и хит Добави

  10. Дайте име на връзката си, въведете URL адреса и маркера за достъп, който генерирахте по-рано.
    Забележка: В случай на облак, напр https://github.com/robogithub-easy , просто въведете https://github.com/ без под-URL адреса. Няма нужда да се притеснявате, можете да видите само проекти, които потребителят с токен за достъп може да види. Ако зададете всичките си проекти като частни, никой друг няма да може да ги види.

  11. Save
  12. Това е! Връзката е извършена.

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

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

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

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

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

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

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

  2. В страничното меню щракнете Добавяне на хранилище

  3. Намерете хранилището

  4. След като го изберете, другите полета ще бъдат попълнени автоматично
  5. Кликнете Save
    Добавено е хранилище


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

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


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

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

  2. В страничното меню щракнете върху Хранилища

  3. Кликнете върху името на единия

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

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

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


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

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

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

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

  1. Отидете в глобалното меню >> Интегриране на Git >> Препратки


  2. Създайте или редактирайте препратка
  3. Целият формуляр съдържа подсказки, които да ви помогнат да се ориентирате през тях

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

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

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

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

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

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


4 Как работи

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


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

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

4.1 Хранилища

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


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

Забележки:

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

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

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

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

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

Забележки:

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

4.3 Ангажи

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


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

4.4 тестове

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

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

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

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

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

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

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

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

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

6 Изпълнете теста ръчно - отвежда ви до GitHub.

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

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

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

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


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

Ще видите разклонението като таг под секцията за интегриране на Git на задачата. Може да се кликне и води до клона в GitHub.



5 Разрешения

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

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

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

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

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