
JIRA jest jedną z najpopularniejszych i najlepszych aplikacji do zarządzania projektami, zespołami oraz procesami. W tym artykule przedstawię najważniejsze cechy tego oprogramowania, pokaże jak w prosty sposób można ją dostosować do własnych potrzeb oraz jak bardzo mocno możemy ją rozszerzyć za pomocą pluginów.

Obrazek 1. przedstawiający Zgłoszenie.
OPIS FUNKCJONALNOŚCI
Zgłoszenie (Issue)
Jest to podstawowy byt w Jirze, który posiada swój klucz, typ, tytuł, status, opis, priorytet, pola i wiele innych właściwości. Zgłoszenie znajduje się w Jirowym projekcie i można do niego przypisać osobę odpowiedzialną za nie. Posiada ono swój status, czyli etap na którym aktualnie się znajduje. Możemy go zmieniać za pomocą przejść pomiędzy statusami. Ilość statusów i przejścia pomiędzy nimi definiuje przepływ pracy (workflow). Do zgłoszenia również możemy dodawać komentarze oraz załączniki.

Obrazek 2. przedstawiający tworzenie nowego zgłoszenia.

Obrazek 3. przedstawiający widok zgłoszenia.
Przepływ pracy (Workflow)
Umożliwia on zrealizowanie procesu i cyklu życia zgłoszenia poprzez statusy i przejścia pomiędzy nimi. Do każdego typu zgłoszenia możemy podpiąc osobny przepływ pracy. Kolory oraz nazwy statusów informują nas o aktualnym stanie zgłoszenia. Przejścia pomiędzy statusami możemy konfigurować, tak by np. wyświetlały się tylko przy spełnieniu odpowiednich warunków, sprawdzały niektóre pola i blokowały przejście, czy wykonywały określoną akcję, jak np. przepisanie odpowiedzialnej osoby na inną osobę.

Obrazek 4. przedstawiający wygląd przepływu pracy.
Wydania (Releases)
JIRA posiada osobny panel do zarządzania wersjami. Można w nim dodawać wersje, wraz z datą ich wydania. Następnie zgłoszenia można oznaczać tymi wersjami i śledzić na panelu ich gotowość do wydania.

Obrazek 5. przedstawiający panel do zarządzania wersjami.
Tablica (Board)
Tablica pomaga w planowaniu i przydzielaniu zadań w zespole. Mamy do dyspozycji backlog z którego możemy wybierać zadania i umieszczać je na naszej tablicy. Tablica przedstawia wszystkie najistotniejsze informacje o zgłoszeniu. Umożliwia ona również pracę w sprincie.
Pulpit (Dashboard)
Jest to strona która wyświetla różne statystyki na podstawie zgłoszeń. Jest w pełni konfigurowalna i można do niej dodać bardzo dużo różnych gadżetów, które będą informować w różny sposób o postępie prac.

Obrazek 6. przedstawiający Jirowy pulpit.
KONFIGURACJA
Typy zgłoszeń
JIRA umożliwia tworzenie własnych typów zgłoszeń, tak by można było je łatwo odróżnić w zależności od ich funkcji. Najczęściej występujące typy zgłoszeń to Zadanie (Task), Pod-zadanie (Sub-task) oraz Błąd (Bug). Możemy stworzyć na przykład takie typy jak Change Request, Feature lub dowolny inny typ pasujący do naszych potrzeb.

Obrazek 7. przedstawiający konfigurację typów zgłoszeń.
Pola (Custom fields)
Zgłoszenia często wymagają wielu pól, które użytkownik musi uzupełnić. Administrator Jiry może stworzyć takie pola i ma do dyspozycji różne typy pól, takie jak pola tekstowe, listy wyboru czy selektor użytkowników. Typów tych może być o wiele więcej, po wgraniu pluginów, które mogą dodawać własne typy.

Obrazek 8. przedstawiający typy zgłoszeń podczas dodawania nowego pola do Jiry.
Przepływy pracy (Workflows)
Do każdego typu zgłoszenia, możemy skonfigurować własny przepływ pracy. Mamy do dyspozycji statusy oraz przejścia pomiędzy nimi. Dodatkowo do każdego przejścia możemy dodać warunki do wykonania przejścia, weryfikatory uzupełnionych pól na przejściu oraz funkcje następujące, czyli akcje które są wykonywane po zmianie statusu jak na przykład zmiana osoby przypisanej lub aktualizacja pola.

Obrazek 9. przedstawiający konfigurację przepływu pracy.
CUSTOMIZACJA
Jira umożliwia rozszerzanie jej funkcjonalności, poprzez wgrywanie pluginów do niej. Pluginy możemy pobrać lub zakupić z oficjalnego marketu Atlassiana. Atlassian również udostępnia SDK, dzięki któremu możemy tworzyć własne pluginy.
Tempo
Rozszerzenie to pozwala na rejestrowanie i kontrolowanie czasu pracy pracowników. Do każdego zadania można wpisać czas na niego przeznaczony danego dnia oraz ilość godzin lub dni pozostałych do jego wykonania.
ScriptRunner
Pozwala na tworzenie własnych skryptów za pomocą języka Groovy, bez pisania lub używania dedykowanych pluginów.
Tworzenie własnego pluginu
Atlassian udostępnia swoje SDK do tworzenia pluginów. Żeby pisać rozszerzenia do Jiry należy mieć znajomość Javy oraz narzędzia budującego Maven. Atlassian udostępnia wiele tutoriali i poradników jak skonfigurować własne środowisko developerskie oraz jak dodawać własne moduły.
Po skonfigurowaniu środowiska, możemy użyć gotowych komend które pozwalają między innymi postawić instancję Jiry, stworzyć szkielet pluginu, czy dodać do niego moduły.
Przykłady takich komend to:
atlas-create-jira-plugin
- Tworzy nowy szkielet pluginu. Należy dla niego ustawić nazwę, pakiet oraz wersję.
atlas-run
- Komenda uruchomiona w głównych folderze pluginu uruchamia instancję Jiry wraz z tym pluginem
atlas-create-jira-plugin-module
- Pozwala w szybki sposób dodać moduł do pluginu. Modułami takimi są np. post-funkcje, walidatory, czy REST API.
atlas-package
- Komenda ta buduje nasz plugin, który potem możemy zainstalować w Jirze