en
Språk
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Maskinoversettelse
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • Nei.
  • pl
  • tr

GitHub-integrasjon

0 Innledning

GitHub Integration er et tillegg som kan legges til en av de tre Easy Project-planene.

Hensikten med plugin er å samle viktige data fra GitHub i Easy Project for å hjelpe med rapportering, evaluering og presentasjon av utviklingsaktiviteter, og dermed støtte beslutningstaking fra siden av interessenter som er investert i programvareutviklingsprosjekter og -prosesser til firmaet.

Dens evner inkluderer en veldig enkel innledende tilkobling med GitHub-forekomsten din (både selvhostede eller skyversjoner). Når tilkoblingen er etablert, vil Easy Project vise de mest avgjørende elementene fra GitHub i konfigurerbare og filtrerbare lister (ligner på en oppgaveliste). Disse enhetene er:

  • repositories
  • Trekk forespørsler
  • inger
  • Tester

inkludert deres viktigste egenskaper.

Et sentralt element i integrasjonen er at Easy Project IKKE kopierer depotene fysisk. Koden forblir i GitHub.

1 Etablere forbindelse

For det første må du ha et tilgangstoken fra en bruker i GitHub, med riktige tillatelser.

  1. Velg en bruker som Easy Project skal få tilgang til GitHub via. Dette kan være en spesiell bruker som ingen logger av, f.eks. er_integrator
  2. Logg inn på GitHub av denne brukeren
  3. Klikk på avataren >> Innstillinger

  4. Utviklerinnstillinger

  5. Personlige tilgangstegn

  6. Generer nytt token

  7. Du må tillate disse omfangene
    - repo (full kontroll over private depoter)
    - admin:repo_hook (Full kontroll over depotkroker)
    - bruker (Oppdater ALLE brukerdata)
  8. Kopier tokenet

    Nå kan du gå til Easy Project og skrive inn viktig informasjon

  9. Gå til Admin >> Git-integrasjon >> Finn Tilgjengelige integrasjoner og treffer Legg til

  10. Gi tilkoblingen et navn, skriv inn URL-en og tilgangstokenet du genererte tidligere.
    OBS: Ved skyer, f.eks https://github.com/robogithub-easy , bare skriv inn https://github.com/ uten under-url. Ingen grunn til bekymring, du kan bare se prosjekter som brukeren med tilgangstoken kan se. Hvis du angir alle prosjektene dine som private, vil ingen andre kunne se dem.

  11. Spar
  12. Det er det! Tilkobling er gjort.

Alt annet gjøres automatisk i bakgrunnen. Spesielt

  • Easy Project henter alle prosjekter/depoter som brukeren med tilgangstoken er medlem av
  • I disse repositoriene opprettes webhooks => slik at info om nye commits, pull-forespørsler og tester blir sendt til Easy Project

1.1 Tilkoblingsfeilsøking

Oppgave A
Jeg ser ikke noe depot fra denne GitHub-forekomsten

På grunn av uforutsigbare omstendigheter kan det skje at de nevnte operasjonene ikke vil bli utført med hell. Som et resultat kan det hende du ikke ser noe depot fra denne GitHub-forekomsten i Easy Project.

I slike tilfeller kan du importere depotene manuelt, med bare noen få klikk.

  1. Gå til Admin >> Git-integrasjon >> Konfigurerte integrasjoner >> Klikk på navnet

  2. I sidemenyen klikker du Legg til depot

  3. Finn depotet

  4. Etter å ha valgt det, vil andre felt fylles ut automatisk
  5. Klikk Spar
    Depot er lagt til


Oppgave B
Repositories ble funnet, men mine nye commits, pull-forespørsler og tester er ikke lagt til i Easy Project

Nye data fra GitHub sendes til Easy Project via webhooks konfigurert i GitHub. Under normale omstendigheter opprettes de automatisk. Du kan bekrefte dette i GitHub-prosjektet ditt >> Innstillinger >> Webhooks


Hvis det ikke er noen webhook med lenken til applikasjonen din, må du opprette den. Igjen, dette er en enkel operasjon.

  1. Gå til Admin >> Git-integrasjon >> Konfigurerte integrasjoner >> Klikk på navnet

  2. I sidemenyen, klikk på repositories

  3. Klikk på navnet til en

  4. Klikk på Registrer alle integrasjoner

Dette vil manuelt fremtvinge opprettelse av webhook i riktig form.

Hvis webhook eksisterer, men inneholder feilindikasjon, vennligst sjekk feilmeldingen og prøv å løse deretter.


2 Referer til nøkkelord

Nå som den generelle tilkoblingen er konfigurert, har du allerede informasjon fra GitHub i Easy Project, og du kan bruke den. For å dra full nytte av integreringen er det imidlertid et par flere innstillinger. Noen er allerede forhåndsinnstilt, og du kan bare sjekke dem.

Det er mulig å koble bestemte commits eller pull-forespørsler til bestemte oppgaver, og til og med logge tid på denne måten uten å måtte besøke Easy Project. Dette gjøres ved såkalte refererer til nøkkelord. Når du bruker dem i commit-meldingen eller pull-forespørselsnavnet i kombinasjon med oppgave-ID, vil det opprette en kobling mellom oppgaven og GitHub-elementet. De vanligste eksemplene er refs #1234 or stenger #1234

I de fleste tilfeller vil du finne noen forhåndsinnstilte referansenøkkelord. Her er hvordan du jobber med dem.

  1. Gå til global meny >> Git-integrasjon >> Referanser


  2. Opprett eller rediger en referanse
  3. Hele skjemaet inneholder verktøytips som hjelper deg med å navigere deg gjennom dem

De viktigste reglene å huske er:

  • Oppgaven må identifiseres i skjema #ID , f.eks #1234
  • Loggtid (hvis tillatt) legges alltid inn som @XhYm , f.eks. @1t30m
  • Ved forpliktelser må de refererende nøkkelordene angis i begå melding
  • På pull-forespørsler må de refererende nøkkelordene angis i navn av pull-forespørselen

3 brukerkartlegging

Siden vi har å gjøre med integrasjon av to forskjellige applikasjoner, har de forskjellige sett med brukere. Alle brukerattributter på GitHub-relaterte enheter (forfatter av forpliktelse, anmelder ved pull-forespørsel, etc.) i Easy Project + brukt tid logget via referansenøkkelord, bør kobles til ekte brukere. Så hvordan blir brukere fra GitHub tilordnet til Easy Project?

Ikke noe vitenskapelig her, brukere blir ganske enkelt kartlagt via e-posten i begge brukerprofilene. Sørg for at utviklerne dine har identiske e-poster i både GitHub og Easy Project.

Hvis en bruker av en eller annen grunn ikke kan forene e-postene i begge applikasjonene, er det mulighet for å legge inn ekstra e-post i Easy Project i brukerprofilen -> skriv inn Github-e-posten her.


4 Hvordan det fungerer

Endelig kommer vi til den morsomme delen. Hva integrasjonen faktisk gjør for brukerne. Få tilgang til hovedsiden/dashbordet til Git-integrering via global meny (øverst til høyre) under seksjonen Tillegg.


Du vil finne en side som kan tilpasses i standardtilstand, som du senere kan tilpasse etter dine behov.

Den inkluderer også en meny for å liste enheter eller angi innstillinger. Som nevnt i introduksjonen, samler og viser Easy Project 4 viktige enheter fra GitHub. La oss se nærmere på hver av dem.

4.1 Repositories

Lagringslisten er funksjonelt sett den minst interessante, selv om den virkelig er nødvendig. Et nyttig filter som er verdt å nevne kalles Service, som du vil bruke hvis du har forskjellige GitHub-instanser tilkoblet og du bare trenger å søke gjennom noen av dem.


Detalj av depot

Merknader:

  • (Av-)registrer alle integrasjoner ble beskrevet i kapittel 1.1. Det vil opprette/slette webhooks i GitHub-prosjektet.
  • Rediger - endre noen attributter manuelt. Det er ingen annen grunn enn avansert feilsøking for å redigere noen attributter til depotet i Easy Project.
  • synkron~~POS=TRUNC - laster ned alle gjeldende data fra depotet.
  • Trekk forespørsler - viser alle pull-forespørsler i dette depotet.
  • Velg sekvensmal - fortsatt under utvikling, vennligst gi oss mer tid til å polere dette robuste verktøyet.

4.2 Pull-forespørsler (kodeforespørsler)

Vi bør avklare hvorfor det er to navn. Trekk forespørsel er begrepet som brukes i GitHub. Andre verktøy har andre navn på det, for eksempel Sammenslåingsforespørsel. Integrasjonsmekanismen til verktøyet vårt er skrevet på en generell måte, slik at vi kan utvide støtten til andre Git-plattformer. Derfor kan du finne etikett i applikasjonen og bildene Kodeforespørsel, som er en generell term som kan brukes på Pull-forespørsler eller Merge-forespørsler.

Pull request er en rik enhet (lagrer alle viktige attributter) som gjør det mulig å lage fine oppføringer, rapporter og til og med diagrammer over dem direkte i Easy Project.

Detalj av pull-forespørsel


Merknader:

  • Navnet på pull-forespørselen inneholder det refererende nøkkelordet "refs" etterfulgt av oppgave-ID med hash #765 - det er derfor det ble koblet til oppgave 765
  • Ved å klikke på synkron~~POS=TRUNC vil oppdatere alle data om denne PR fra GitHub
  • Alle attributter kan vises på listen over pull-forespørsler
  • Alle attributter unntatt SHA kan brukes som filtre på pull requests liste/rapport/diagram
  • Pull request-listen inneholder også attributter for tester (CI/CD) relatert til den, viktigst av alt - Teststatus

4.3 Forplikter seg

I likhet med pull-forespørsler gir listen over forpliktelser også enorme rapporteringsmuligheter. Forpliktelseslisten inneholder også attributter fra tester.


Commit har ikke sin egen detaljvisning i Easy Project. Det er rett og slett ikke behov for det. Ved å klikke på URL (eller SHA), vil du bli dirigert til detaljene i GitHub.

4.4-tester

De ble nevnt i forhold til enhetene ovenfor. Tester har også sin egen liste for å generere ulike rapporter. Den mest vanlige bruken vil sannsynligvis være live-visning av tester på de kritiske depotene, for eksempel utgivelseskandidater.


Testen har heller ikke sin egen detaljvisning, ved å klikke tar du deg til GitHub.

4.5 Synergi - utsikt fra oppgave

La oss ta en titt på hvordan det hele henger sammen.


1 Generell status for GitHub-enheter relatert til denne oppgaven. Den kan inneholde ulike kombinasjoner av farger (rød, oransje, grønn) og ikoner (hake, kryss). Den beste er selvfølgelig grønn hake i grønn ramme
Kombinasjonen avhenger av status for pull-forespørsel(er) og testresultater relatert til forpliktelser og pull-forespørsler. Hensikten er å vise ved første øyekast hvordan den "tekniske" fremdriften av denne oppgaven går, spesielt nyttig for QA- eller leveranseledere.

2 Navn på depot(er) som endringene som refererer til denne oppgaven ble forpliktet til. Ved å klikke på lenken blir du dirigert til listen over disse forpliktelsene.

3 Navn på pull-forespørsel(er) som refererer til denne oppgaven. Ved å klikke på den vil du bli ledet til detaljene i PR i Easy Project.
I tilfelle det bare er forpliktelser som refererer til denne oppgaven, men pull-forespørsel mangler, er denne verdien tom.

4 Status for hver pull-forespørsel. Ved å klikke på den vil du bli omdirigert til pull request-detaljen i GitHub.
I tilfelle det bare er forpliktelser som refererer til denne oppgaven, men pull-forespørsel mangler, er denne verdien tom.

5 Resultat av siste testkjøring i pull-forespørselen. Ved å klikke på den blir du dirigert til GitHub. Det er ikke klikkbart inn Ukjent status (test finnes ikke).
I tilfelle det bare er commits som refererer til denne oppgaven, men pull-forespørsel mangler, viser verdien siste testresultat som ble kjørt på siste commit.

6 Kjør test manuelt - tar deg til GitHub.

7 Klikk for å opprette en pull-forespørsel. Nyttig når du bare har et sett med forpliktelser, men mangler PR (tar deg til GitHub).

4.6 Lag gren fra oppgave

Noen brukere synes det er praktisk å lage en gren direkte fra oppgaven.

Knappen finner du i global meny på oppgavedetaljen


Velg depotet i autofullfør-feltet. Filialnavn er forhåndsutfylt med oppgave-ID og emne, men du kan endre det. Kildegren er forhåndsutfylt av Master


Du vil se grenen som en tag under Git-integrasjonsdelen på oppgaven. Den er klikkbar og fører til grenen i GitHub.



5 tillatelser

Det er for øyeblikket to tillatelser.

  • Vis - Få tilgang til tillegget fra den globale menyen
  • Administrer - rediger dashbordet


Den globale konfigurasjonen er bare tilgjengelig for Easy Project-administrator.

Prøv Easy Project i 30 dager gratis prøveversjon

Fulle funksjoner, SSL-beskyttet, daglige sikkerhetskopier, i din geoposisjon