GitLab Issues na Status Board

GitLab Issues na Status Board

Napsal: Petr|Datum: 16.6.2014

Status Board od Panic je aplikace pro iPad, která umožňuje zobrazovat různá data na displeji (ať už přímo na iPadu nebo na monitoru či televizi). Pro zobrazení je možné využít základní panely jako čas, datum, kalendář, emaily, počasí, twitter a rss. Další možností je zobrazení vlastních dat pomocí 3 rozšířujících panelů: graf, tabulka a HTML. Výsledně je tak možné zobrazovat například: statistiku návštěvnosti na webu, různé grafy zátěže serveru nebo aktivní projekty.

GitLab (viz instalace Gitlabu) umožňuje komunikaci pomocí rozhraní API. Díky němu je možné vytáhnout data a zobrazit je dle potřeby. V tomto článku se budu věnovat zobrazení Issues na Status Boardu.

Základní požadavky

  • GitLab ve verzi 6 a vyšší
  • Status Board
  • Webový server (hosting) s PHP 5.3.2 s cURL rozšířením
  • Composer

Instalace

Samotná instalace probíhá ve třech krocích:

  1. Instalace pomocí Composer (composer install)
  2. Nahrání souborů na hosting (např. pomocí FTP klienta)
  3. Nastavení

Nastavení

Po úspěšné instalaci je potřeba vyplnit nastavení pro skript. To se provede zkopírováním souboru gitlab.config.sample.php na gitlab.config.php.

Ve zkopírovaném souboru je nutné vyplnit URL na GitLab a uživatelský token (nejlépe administrátora či někoho, kdo má přístup ke všem potřebným projektům k zobrazení). Token je možné získat z profilu v GitLabu.

Dále je možné vyplnit názvy, časy aktualizací apod. Vzhledem k omezené velikosti panelu na Status Boardu je možnost využít přezdívky jak pro uživatele tak pro projekty. Oba dva poté slouží i jako filtry – co není uvedeno, to se nezobrazí. Je možné tak zobrazovat jenom důležité projekty (většinou aktivní) a důležité uživatele.

V nastavení je možné určit, jaký druh grafu bude výchozí. Možnosti jsou dvě:

  • Issues dle uživatelů (ipu)
  • Issues dle uživatelů a projektu (ipup)

Skript je poté nutné přidat jako URL do nového graf panelu. URL může vypadat např. takto https://www.domena.cz/gitlab.php. Pomocí parametru type je možné určit typ grafu (ipu nebo ipup) a pomocí parametru save_json s hodnotou true je možné uložit json soubor. V tomto případě je nutné odkazovat poté na vygenerovaný soubor.

Možnosti

Graf dle uživatele

Při nastavení možnosti ipu se zobrazí souhrnné číslo issues dle uživatele (viz následující obrázek).

Issues dle uživatele

Issues dle uživatele

Pro ukázku je zde uveden i vygenerovaný json, který Status Board zpracuje do podoby grafu.

Graf dle uživatele a projektu

Při nastavení možnosti ipup se zobrazí počet issues dle uživatele a dle projektu (viz následující obrázek).

Issues dle uživatele a projektu

Issues dle uživatele a projektu

Pro ukázku je zde uveden i vygenerovaný json, který Status Board zpracuje do podoby grafu.

Ukládání do souboru

Bohužel script je celkem náročný hlavně v případě, kdy existuje velké množství repositářů v GitLabu. V případě, kdy nechcete volat tento skript pokaždé, kdy si Status Board požádá o aktuální data, je možné výsledný json ukládat do souboru a na ten poté odkazovat. O generování (ukládání) se poté může automaticky starat Cron dle vhodného intervalu.

Shrnutí

Kompletní návod je k dispozici na GitHubu. V případě dotazu neváhejte využít komentáře níže.