Pomôžte nám zlepšiť dokumentáciu GitPulse. Vyplniť dotazník.

  1. Získavanie údajov z GitLabu

  • Pre: Čitateľ práce
  • Vyžaduje: Nič
GitLab ponúka dve cesty k údajom. Webhook oznámi zmenu v priebehu sekúnd, ale doručenie nie je zaručené práve raz, poradie nie je zaručené a po opakovaných zlyhaniach ho GitLab vypne. Rozhranie REST vráti úplný aktuálny stav objektu, o zmene sa však program sám nedozvie. Platforma preto berie udalosť ako signál a REST ako zdroj podrobností.

4.1 Čo je v tele udalosti

Udalosť žiadosti o zlúčenie neobsahuje zmenené súbory (R03), udalosť Note nemá celé diskusné vlákno (R08) a Push obsahuje najviac dvadsať commitov. Udalosť procesu CI/CD naopak obsahuje zoznam úloh, takže R12 sa dá vyhodnotiť priamo. Po prijatí sa telo uloží, odpoveď sa vráti hneď a doplnenie prebehne na pozadí. Ručná synchronizácia doplní, čo sa stalo pred nastavením webhooku alebo čo sa nedoručilo. Periodické prehľadávanie projektov GitPulse nemá.

4.2 Priradenie kontrol k zdrojom

KontrolaSpúšťačDoplnenieHranica interpretácie
R01Issuestav a priradeniePriradenie nepreukazuje vykonanú prácu.
R02Merge RequestnetrebaKonvencia názvu je voliteľná podľa kurzu.
R03Merge Requestzmenené súboryZ názvu súboru nevyplýva kvalita testu.
R04Merge RequestnetrebaOdkaz nepreukazuje vecnú zhodu zmeny s tiketom.
R05Merge RequestnetrebaDĺžka a sekcie sú iba formálne minimum.
R06Notepoznámky žiadostiPočet slov je zástupný ukazovateľ kvality.
R07Notepoznámky viacerých žiadostíPočet žiadostí nevyjadruje náročnosť recenzie.
R08Notediskusné vláknaKomentáre mimo vlákna sa párujú iba približne.
R09Merge RequestschváleniaSchválenie bez komentára nedokazuje kontrolu.
R10Merge RequestnetrebaKto smie zlúčiť, určuje pravidlo kurzu.
R11Issue, Merge Requeststav oboch objektovBez výslovnej väzby je výsledok menej istý.
R12PipelinenetrebaÚspech dokazuje len to, čo proces naozaj spúšťa.
R13Push, synchronizáciahistória commitovVzor názvu nedokazuje použitého klienta.

4.3 Zistenia pre návrh

Všetkých trinásť kontrol má dostupný vstup. Pri dvoch však potrebný údaj v GitLabe nie je: väzba odpovede na pripomienku mimo vlákna (R08) a klient, ktorým commit vznikol (R13). Takéto kontroly rozhranie odlišuje a výsledky ukladajú aj identifikátory objektov a textové zdôvodnenie. Samostatné odhaľovanie neúprimného plnenia zadania bolo z návrhu vypustené, pretože by skladalo neisté signály do tvrdenia o správaní študenta.

Zdroje rozhraní