en
Sprog
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI-oversættelse
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

GitLab integration

0 Indledning

GitLab Integration er en tilføjelse, der kan føjes til enhver af de tre Easy Redmine-planer.

Formålet med pluginnet er at samle vigtige data fra GitLab i Easy Redmine for at hjælpe med rapportering, evaluering og præsentation af udviklingsaktiviteter og dermed understøtte beslutningstagning fra interessenternes side, som er investeret i softwareudviklingsprojekter og -processer. virksomheden.

Dens muligheder inkluderer en meget enkel indledende forbindelse med din GitLab-instans (både selv-hostede eller cloud-versioner). Når forbindelsen er etableret, vil Easy Redmine vise de mest afgørende elementer fra GitLab i konfigurerbare og filtrerbare lister (svarende til en opgaveliste). Disse enheder er:

  • Arkiver
  • Flet anmodninger
  • begår
  • Tests

inklusive deres vigtigste egenskaber.

Et centralt element i integrationen er, at Easy Redmine IKKE kopierer lagrene fysisk. Koden forbliver i GitLab.

1 Etablering af forbindelse

For det første skal du have et adgangstoken fra en bruger i GitLab med de rigtige tilladelser.

  1. Vælg en bruger, via hvem Easy Redmine vil få adgang til GitLab. Dette kan være en speciel bruger, som ingen person logger af, f.eks. er_integrator
  2. Rediger denne brugers profil
  3. Gå til Access-tokens, vælg alle tilladelser og Opret personlig adgangstoken

  4. Kopiér dette token


    Nu kan du gå til Easy Redmine og indtaste den vitale information

  5. Gå til Admin >> GitLab integration >> Find Tilgængelige integrationer og hit Konfigurer
  6. Giv din forbindelse et navn, indtast URL'en og det adgangstoken, du genererede tidligere.
    Bemærk: I tilfælde af sky, f.eks https://gitlab.com/my-little-gitlab , bare indtast https://gitlab.com/ uden under-url. Ingen grund til bekymring, du kan kun se projekter, som brugeren med adgangstoken kan se. Hvis du indstiller alle dine projekter som private, vil ingen andre kunne se dem.
  7. Gem
  8. Det er det! Tilslutning er udført.

Alt andet gøres automatisk i baggrunden. I særdeleshed

  • Easy Redmine henter alle projekter/depoter, som brugeren med adgangstoken er medlem af
  • I disse repositories oprettes webhooks => så info vedr ny commits, fusionsanmodninger og test vil blive sendt til Easy Redmine

1.1 Tilslutningsfejlfinding

Opgave A
Jeg kan ikke se noget lager fra denne GitLab-instans

På grund af uforudsigelige omstændigheder kan det ske, at de førnævnte operationer ikke bliver gennemført med succes. Som følge heraf kan du muligvis ikke se noget lager fra denne GitLab-instans i Easy Redmine.

I sådanne tilfælde er du i stand til at importere lagrene manuelt med blot et par klik.

  1. Gå til Admin >> Gitlab integration >> Konfigurerede integrationer >> Klik på navnet

  2. Klik på i sidemenuen Importere

  3. Vælg gruppen
    Med selv-hostet GitLab vil der være en gruppe, der repræsenterer hele instansen. Som i eksemplet fra skærmbilledet.
    Med cloud GitLab vil du se alle offentlige grupper og vil sandsynligvis skulle søge efter din gruppe. Feltet er autofuldførelse, så søgningen er hurtig og nem.
  4. Når du har valgt det og klikket væk, ser du listen over fundne projekter/depoter
  5. Vælg alle og tryk Importere

Opgave B
Lagre blev fundet, men mine nye commits, merge-anmodninger og test er ikke tilføjet i Easy Redmine

Nye data fra GitLab sendes til Easy Redmine via webhooks konfigureret i GitLab. Under normale omstændigheder oprettes de automatisk. Du kan bekræfte dette i dit GitLab-projekt >> Indstillinger >> Webhooks

Hvis der ikke er nogen webhook med linket til din ansøgning, skal du oprette den. Igen er dette en simpel operation.

  1. Gå til Admin >> Gitlab integration >> Konfigurerede integrationer >> Klik på navnet
  2. Klik på i sidemenuen Arkiver

  3. Klik på navnet på en
  4. Klik på Registrer alle integrationer

Dette vil manuelt fremtvinge oprettelse af webhook i den korrekte form.

2 Henvisning til nøgleord

Nu hvor den generelle forbindelse er konfigureret, har du allerede information fra GitLab i Easy Redmine, og du kan bruge den. For at få det fulde udbytte af integrationen er der et par indstillinger mere. Nogle er allerede forudindstillet, og du kan blot kontrollere dem.

Det er muligt at forbinde bestemte commits eller flette anmodninger til bestemte opgaver og endda logge tid på denne måde uden at skulle besøge Easy Redmine. Dette gøres ved såkaldte henvisning til søgeord. Når du bruger dem i commit-meddelelsen eller fletteanmodningsnavnet i kombination med opgave-id, vil det skabe et link mellem opgaven og GitLab-elementet. De mest almindelige eksempler er refs #1234 or lukker #1234

I de fleste tilfælde vil du finde et par forudindstillede referencenøgleord. Her er, hvordan du arbejder med dem.

  1. Gå til menuen Mere >> GitLab integration >> Referencer
  2. Opret eller rediger en reference
  3. Hele formularen indeholder værktøjstip, der hjælper dig med at navigere dig igennem dem

De vigtigste regler at huske er:

  • Opgaven skal identificeres i formular #ID , fx #1234
  • Loggetid (hvis tilladt) indtastes altid som @XhYm , fx @1t30m
  • Ved commits skal de refererende nøgleord indtastes i begå besked
  • Ved fletningsanmodninger skal referencenøgleordene indtastes i navn af fusionsanmodningen

3 brugerkortlægning

Da vi har at gøre med integration af to forskellige applikationer, har de hver især forskellige brugersæt. Alle brugerattributter på GitLab-relaterede entiteter (forfatter af commit, anmelder ved fletningsanmodning osv.) i Easy Redmine + brugt tid logget via referencenøgleord, bør forbindes til rigtige brugere. Så hvordan er brugere fra GitLab faktisk kortlagt til Easy Redmine?

Ikke noget videnskabeligt her, brugere kortlægges blot via e-mailen i begge brugerprofiler. Sørg for, at dine udviklere har identiske e-mails i både GitLab og Easy Redmine.

Hvis én bruger af en eller anden grund ikke kan forene e-mails i begge applikationer, er der mulighed for at indtaste yderligere e-mail i Easy Redmine i brugerprofilen -> indtast GitLab e-mailen her.


4 Sådan fungerer det

Endelig er vi nået til den sjove del. Hvad integrationen egentlig gør for brugerne. Få adgang til hovedsiden/dashboardet for GitLab-integration via menuen Mere (øverst til højre) under afsnittet Tilføjelser.

Du vil finde en side, der kan tilpasses i en standardtilstand, som du senere kan indstille til dine behov.

Den indeholder også en menu til at vise enheder eller indtaste indstillinger. Som nævnt i introduktionen samler og viser Easy Redmine 4 afgørende entiteter fra GitLab. Lad os se nærmere på hver af dem.

4.1 Depoter

Opbevaringslisten er funktionelt den mindst interessante, selvom den virkelig er nødvendig. Et nyttigt filter, der er værd at nævne, kaldes Service, som du vil bruge, hvis du har forskellige GitLab-instanser forbundet, og du kun behøver at søge gennem nogle af dem.

Navnet på lageret indeholder også navnet på dets gruppe.

Detalje af depot

Bemærkninger:

  • (Af-)Registrer alle integrationer blev beskrevet i kapitel 1.1. Det vil oprette/slette webhooks i GitLab-projektet.
  • Redigere - manuelt ændre nogle attributter. Der er ingen anden grund end avanceret debugging til at redigere attributter for depotet i Easy Redmine.
  • Synkroniser - downloader alle aktuelle data fra depotet.
  • Flet anmodninger - viser alle fletteanmodninger i dette lager.
  • Vælg sekvensskabelon - stadig under udvikling, giv os venligst mere tid til at polere dette robuste værktøj.

4.2 Fletningsanmodninger (kodeanmodninger)

Vi bør præcisere, hvorfor der er to navne. Anmodning om fletning er udtrykket brugt i GitLab. Andre værktøjer har andre navne for det, f.eks Træk anmodning. Integrationsmekanismen i vores værktøj er skrevet på en generel måde, så vi kan udvide supporten til andre Git-platforme. Derfor kan du muligvis finde en etiket i applikationen og billederne Kodeanmodning, som er en generel term, der kan anvendes på Merge requests eller Pull requests.

Merge request er en rig enhed (gemmer alle de vigtige attributter), som gør det muligt at oprette flotte lister, rapporter og diagrammer over dem direkte i Easy Redmine.

Detalje af anmodning om fletning

Bemærkninger:

  • Navnet på fletteanmodningen indeholder det refererende nøgleord "refs" efterfulgt af opgave-id'et med hash #765 - det er derfor, det blev knyttet til opgave 765
  • Hvis du klikker på Synkroniser vil opdatere alle data for denne MR fra GitLab
  • Alle attributter kan vises på listen over fletteanmodninger
  • Alle attributter undtagen SHA kan bruges som filtre på fletteanmodningers liste/rapport/diagram
  • Listen med fletanmodninger indeholder også attributter for test (CI/CD) relateret til den, vigtigst af alt - Teststatus

4.3 Forpligter sig

I lighed med fusionsanmodninger giver listen over commits også enorme rapporteringsmuligheder. Forpligtelseslisten indeholder også attributter fra tests.


Commit har ikke sin egen detaljevisning i Easy Redmine. Det er der simpelthen ikke behov for. Ved at klikke på URL (eller SHA), vil du blive dirigeret til dens detaljer i GitLab.

4.4 test

De blev nævnt i forhold til enheder ovenfor. Tests har også deres egen liste til at generere forskellige rapporter. Den mest almindelige brug vil sandsynligvis være live-visning af test på de kritiske arkiver, såsom udgivelseskandidater.

Test har heller ikke deres egen detaljevisning, hvis du klikker på dem, kommer du til GitLab.

4.5 Synergi - udsigt fra opgave

Lad os tage et kig på, hvordan det hele hænger sammen.

1 Overordnet status for GitLab-enheder relateret til denne opgave. Det kan indeholde forskellige kombinationer af farver (rød, orange, grøn) og ikoner (flueben, kryds). Den bedste er selvfølgelig grøn flueben i grøn ramme
Kombinationen afhænger af status for fletteanmodninger og testresultater relateret til commits og fletningsanmodninger. Dens formål er at vise ved første øjekast, hvordan den "tekniske" fremgang af denne opgave går, især nyttigt for QA- eller leveringsansvarlige.

2 Navn på depot(er), som ændringerne vedrørende denne opgave blev forpligtet til. Ved at klikke på linket bliver du dirigeret til listen over disse tilsagn.

3 Navn på fletteanmodning(er), der henviser til denne opgave. Ved at klikke på den bliver du dirigeret til detaljerne om MR i Easy Redmine.
Hvis der kun er commits, der refererer til denne opgave, men der mangler en fletningsanmodning, er denne værdi tom.

4 Status for hver fletteanmodning. Ved at klikke på den vil du blive omdirigeret til fletteanmodningsdetaljen i GitLab.
Hvis der kun er commits, der refererer til denne opgave, men der mangler en fletningsanmodning, er denne værdi tom.

5 Resultat af den sidste testkørsel i fletteanmodningen. Ved at klikke på den bliver du dirigeret til pipelinen i GitLab. Den kan ikke klikkes ind Ukendt status (pipeline findes ikke).
Hvis der kun er commits, der refererer til denne opgave, men merge request mangler, viser værdien sidste testresultat kørt på den sidste commit.

6 Kør test manuelt - Klik for at køre pipelinen manuelt (fører dig til GitLab).

7 Klik for at oprette en fletteanmodning. Nyttigt, når du kun har et sæt commits, men mangler MR (tager dig til GitLab).

4.6 Opret gren fra opgave

(Bemærk: Funktion tilgængelig fra 11plus.6.0)

Nogle brugere finder det praktisk at oprette en filial direkte fra opgaven.

Knappen kan findes i Flere menuer på opgavedetaljen


Vælg lageret i autofuldførelsesfeltet. Filialnavn er forududfyldt med opgave-id og emne, men du kan ændre det. Kildegren er forududfyldt af Master

Du vil se grenen som et tag under Gitlab-integrationssektionen på opgaven. Det er klikbart og fører til grenen i GitLab.



5 tilladelser

Der er i øjeblikket to tilladelser.

  • Vis - Få adgang til tilføjelsen fra menuen Mere
  • Administrer - rediger dashboardet

Den globale konfiguration er kun tilgængelig for Easy Redmine admin.

Prøv Easy Redmine i 30 dages gratis prøveperiode

Fuldstændige funktioner, SSL-beskyttet, daglige backups, i din geolocation