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

GitHub-integration

0 Indledning

GitHub 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 GitHub 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 GitHub-instans (både selv-hostede eller cloud-versioner). Når forbindelsen er etableret, vil Easy Redmine vise de mest afgørende elementer fra GitHub i konfigurerbare og filtrerbare lister (svarende til en opgaveliste). Disse enheder er:

  • Arkiver
  • Træk anmodninger
  • begår
  • Tests

inklusive deres vigtigste egenskaber.

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

1 Etablering af forbindelse

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

  1. Vælg en bruger, via hvem Easy Redmine vil få adgang til GitHub. Dette kan være en speciel bruger, som ingen person logger af, f.eks. er_integrator
  2. Log ind på GitHub af denne bruger
  3. Klik på avataren >> Indstillinger

  4. Udviklerindstillinger

  5. Personlige adgangstokens

  6. Generer nyt token

  7. Du skal tillade disse scopes
    - repo (fuld kontrol over private depoter)
    - admin:repo_hook (Fuld kontrol over repository hooks)
    - bruger (opdater ALLE brugerdata)
  8. Kopiér tokenet

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

  9. Gå til Admin >> Git integration >> Find Tilgængelige integrationer og hit Tilføj

  10. Giv din forbindelse et navn, indtast URL'en og det adgangstoken, du genererede tidligere.
    Bemærk: I tilfælde af sky, f.eks https://github.com/robogithub-easy , bare indtast https://github.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.

  11. Gem
  12. 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 om nye commits, pull requests og tests vil blive sendt til Easy Redmine

1.1 Tilslutningsfejlfinding

Opgave A
Jeg kan ikke se noget lager fra denne GitHub-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 GitHub-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 >> Git integration >> Konfigurerede integrationer >> Klik på navnet

  2. Klik på i sidemenuen Tilføj lager

  3. Find depotet

  4. Når du har valgt det, udfyldes andre felter automatisk
  5. Klik Gem
    Repository tilføjes


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

Nye data fra GitHub sendes til Easy Redmine via webhooks konfigureret i GitHub. Under normale omstændigheder oprettes de automatisk. Du kan bekræfte dette i dit GitHub-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 >> Git 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.

Hvis webhook eksisterer, men indeholder fejlindikation, skal du kontrollere fejlmeddelelsen og prøve at løse i overensstemmelse hermed.


2 Henvisning til nøgleord

Nu hvor den generelle forbindelse er konfigureret, har du allerede information fra GitHub 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 pull-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 pull-anmodningsnavnet i kombination med opgave-id, vil det skabe et link mellem opgaven og GitHub-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 global menu >> Git 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 pull-anmodninger skal de refererende nøgleord indtastes i navn af pull-anmodningen

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å GitHub-relaterede enheder (forfatter af commit, anmelder ved pull-anmodning osv.) i Easy Redmine + brugt tid logget via referencenøgleord, bør forbindes til rigtige brugere. Så hvordan er brugere fra GitHub 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 GitHub og Easy Redmine.

Hvis en 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 Github e-mail 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 Git integration via den globale menu (ø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 GitHub. 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 GitHub-instanser tilsluttet, og du kun skal søge gennem nogle af dem.


Detalje af depot

Bemærkninger:

  • (Af-)Registrer alle integrationer blev beskrevet i kapitel 1.1. Det vil oprette/slette webhooks i GitHub-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.
  • Træk anmodninger - viser alle pull-anmodninger i dette lager.
  • Vælg sekvensskabelon - stadig under udvikling, giv os venligst mere tid til at polere dette robuste værktøj.

4.2 Pull-anmodninger (kodeanmodninger)

Vi bør præcisere, hvorfor der er to navne. Træk anmodning er det udtryk, der bruges i GitHub. Andre værktøjer har andre navne for det, f.eks Anmodning om fletning. 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å Pull-anmodninger eller Merge-anmodninger.

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

Detalje af pull-anmodning

Bemærkninger:

  • Navnet på pull-anmodningen indeholder det refererende nøgleord "refs" efterfulgt af opgave-id'et med hash #765 - det er derfor, det blev linket til opgave 765
  • Hvis du klikker på Synkroniser vil opdatere alle data om denne PR fra GitHub
  • Alle attributter kan vises på listen over pull-anmodninger
  • Alle attributter undtagen SHA kan bruges som filtre på pull requests' liste/rapport/diagram
  • Pull request liste indeholder også attributter for test (CI/CD) relateret til den, vigtigst af alt - Test status

4.3 Forpligter sig

I lighed med pull-anmodninger 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 GitHub.

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 GitHub.

4.5 Synergi - udsigt fra opgave

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

1 Overordnet status for GitHub-enheder relateret til denne opgave. Det kan indeholde forskellige kombinationer af farver (rød, orange, grøn) og ikoner (flueben, kryds). Det bedste er selvfølgelig grønt flueben i grøn ramme
Kombinationen afhænger af status for pull-anmodninger og testresultater relateret til commits og pull-anmodninger. 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å pull-anmodning(er), der henviser til denne opgave. Ved at klikke på den bliver du dirigeret til detaljerne i PR i Easy Redmine.
Hvis der kun er commits, der refererer til denne opgave, men pull-anmodningen mangler, er denne værdi tom.

4 Status for hver pull-anmodning. Ved at klikke på den vil du blive omdirigeret til pull request-detaljen i GitHub.
Hvis der kun er commits, der refererer til denne opgave, men pull-anmodningen mangler, er denne værdi tom.

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

6 Kør test manuelt - tager dig til GitHub.

7 Klik for at oprette en pull-anmodning. Nyttigt, når du kun har et sæt commits, men mangler PR (tager dig til GitHub).

4.6 Opret gren fra opgave

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

Knappen kan findes i global menu 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 Git-integrationssektionen på opgaven. Det er klikbart og fører til grenen i GitHub.



5 tilladelser

Der er i øjeblikket to tilladelser.

  • Vis - Få adgang til tilføjelsen fra den globale menu
  • 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