Oracle APEX – Let’s integrate with JIRA! Część 3

20 września 2019, Lech Cieślik

Jira jest oprogramowaniem firmy Atlassian służącym do zarządzania projektami. Użytkownik pracujący z dowolną aplikacją APEX często potrzebuje zgłosić błąd dotyczący działania aplikacji lub danych z którymi pracuje. Zamiast logować się do Jiry, szukać odpowiedniego projektu, korzystać z wizarda który umożliwi mu stworzenie nowego zgłoszenia (nazwy, typu, opisu, przypisania zgłoszenia itp), może w łatwy sposób wykorzystać do tego rozwiązanie zaimplementowane w Oracle APEX, które krok po kroku przedstawimy w serii artykułów Oracle APEX- Let’s integrate with Jira! W przedstawionych przykładach wykorzystamy bazę danych Oracle Database 12c Enterprise Edition oraz narzędzie Oracle SQL Developer Version 18.2.

To trzeci i ostatni artykuł z serii. W pierwszym artykule dowiedzieliśmy się czym jest autoryzacja typu OAuth i jak działa proces wymiany tokenów. W drugim wpisie użyliśmy Javy w bazie danych Oracle do implementacji podpisu cyfrowego z wykorzystaniem metody SHA1-RSA. Teraz nadszedł czas na utworzenie pierwszego zgłoszenia w Jirze z poziomu aplikacji APEX. I to właśnie będzie tematem niniejszego artykułu.

Jira API

Jira udostępnia REST API które pozwala integrację Jiry z innymi aplikacjami. Dzięki API można tworzyć, aktualizować, modyfikować i usuwać dane w Jirze przy użyciu standardowych metod HTTP takich jak GET, PUT, POST i DELETE.

Do utworzenia zgłoszenia w Jira użyjemy żądania HTTP typu POST. W nagłówkach przekażemy parametry takie jak format i długość przesyłanej wiadomości (Content-Type i Content-Length). Natomiast zawartość  nagłówka Authorization utworzymy zgodnie z zasadami opisanymi w poprzednich artykułach według poniższego przykładu:

Zawartość żądania zapiszemy w formacie JSON. Według poniższego przykładu, do projektu TPFAU zostanie dodane nowe zgłoszenie typu Bug o wysokim priorytecie:

Ostatni krok czyli utworzenie formularza Oracle Application Express

W serii artykułów szczegółowo opisaliśmy „OAuth Dance”, tworzenie sygnatury z wykorzystaniem języka Java oraz przedstawiliśmy przykłady użycia Jira REST API. Na podstawie tych wszystkich informacji w kilku krokach możemy stworzyć formularz w aplikacji Oracle APEX który pozwoli nam na utworzenie zgłoszenia w Jirze.

Przypadek biznesowy

Dla przedstawionego rozwiązania posłużymy się konkretnym przypadkiem biznesowym. Użytkownik analizuje raport wyników eksperymentów naukowych. Podczas analizy zauważa, że otrzymane wyniki znacząco odbiegają od normy co może być spowodowane błędnymi danymi. Użytkownik chce utworzyć zgłosić błąd w Jirze. Zgłoszenie powinno mieć odpowiedni tytuł, opis, wysoki priorytet oraz powinno być przypisane do wskazanej przez użytkownika osoby.

Rozwiązanie

  1. Na raporcie eksperymentów tworzymy kolumnę typu link  z ikoną Jiry.
  2. Tworzymy proces odpowiedzialny za wysłanie żądania o wygenerowanie Request Token. W żądaniu definiujemy adres formularza Oracle APEX do tworzenia zgłoszenia w Jirze. Następnie do Authorization URL doklejamy zwrócony Request Token i definiujemy przekierowanie do właśnie utworzonego URL. Proces powinien uruchomić się po naciśnięciu ikony Jiry.
  3. Po potwierdzeniu tożsamości na ekranie autoryzacji użytkownik zostanie  przekierowany do adresu zdefiniowanego w parametrze żądania z punktu 2. 
  4. Następnie tworzymy proces typu Before Header który pobierze wartości autoryzowanego Request Tokena i Verifiera z URL za pomocą biblioteki owa.num_cgi_vars i zapisze ich wartości do APEX itemów.
  5. Tworzymy kolejny proces typu Before Header, który wyśle żądanie o wygenerowanie Access Token i zapisze go do APEX itemu.
  6. Tworzymy formularz pozwalający na stworzenie zgłoszenia z uwzględnieniem wszystkich odpowiednich atrybutów opisanych w przypadku biznesowym.
  7. Dodajemy proces wysyłający żądanie utworzenia zgłoszenia z wykorzystaniem API opisanego w pierwszej części niniejszego artykułu.

Podsumowanie

W serii artykułów opisaliśmy integrację aplikacji Oracle APEX z narzędziem Jira. W pierwszym artykule przedstawiliśmy szczegółowo działanie procesu „OAuth Dance” który opiera się na wymianie tokenów. W kolejnym wpisie opisaliśmy tworzenie sygnatury z wykorzystaniem języka Java. Ostatni trzeci artykuł zawiera przykład użycia Jira API oraz jest podsumowaniem całej serii wpisów pokazując jak zaimplementować formularz Oracle APEX do utworzenia nowego zgłoszenia w Jirze dla konkretnego przypadku biznesowego.

Tagi: , , , ,

Zapraszamy do kontaktu!

Pretius jest firmą tworząca oprogramowanie wspierające biznes.
Tworzymy aplikacje webowe wykorzystując: Java, Oracle DB, Oracle Apex, AngularJS.
Skontaktuj się z nami, aby porozmawiać o tym jak możemy pomóc w realizacji Twojego projektu!