Atlassian Jira
Aplikace Requestor umožňuje propojení s externí aplikací Jira společnosti Atlassian. Díky tomuto rozšíření lze z každého ticketu nebo požadavku v aplikaci Requestor vytvořit novou odpovídající položku v Jira (případně ticket napojit na již existující), a to včetně volitelné vzájemné synchronizace komentářů a příloh. Je tedy možné například využívat Requestor jako helpdesk pro zákazníky a případný vývoj nebo další pracovní aktivity řídit právě v Jira.
Většina produktů Jira jsou z nějakého více technického pohledu moduly, které jsou nástavbou tzv. Jira Core, jehož API využívá aplikace Requestor. Díky tomu můžeme synchronizaci provádět (alespoň tedy v době psaní tohoto návodu) se všemi projekty, které byly vytvořeny v rámci následujících produktů:
Jira Software (např. Kanban, Scrum, Bug tracking)
Jira Service Management (např. Customer service management)
Zatímco všechny produkty mají své interní uživatele (účty Jira), Jira Service Management navíc umožňuje také evidovat tzv. zákaznické účty (účet typu Customer). S aplikací Requestor je možné nastavit propojení i s tímto typem účtu, pouze se liší postup konfigurace. Vše je popsáno v tomto návodu.
V tomto návodu si tedy ukážeme konfiguraci, kterou je potřeba provést na straně Jira a aplikace Requestor v případě využití interního účtu Jira, alternativní nastavení u propojení pomocí zákaznického účtu Jira Service Management a v neposlední řadě také praktické ukázky využití propojení.
Propojení s využitím interního účtu Atlassian
V prvním kroku je potřeba pod účtem Atlassian, který bude využívan k synchronizaci s aplikací Requestor, vytvořit nový API token.
Toto nastavení se nachází na adrese https://id.atlassian.com/manage-profile/security/api-tokens
Alternativně lze na tuto stránku přejít tak, že z hlavní adresy produktu Jira (např. https://requestortest.atlassian.net/jira/your-work) klikneme vpravo nahoře na ikonu uživatelského účtu a v nově otevřeném menu klikneme na Manage account.
Budeme přesměrováni na stránku Atlassian account, kde v horním menu vybereme záložku Security a na této stránce klikneme na odkaz Create and manage API tokens.
Na nové stránce klikneme na tlačítko Create API token.
Token si můžeme pojmenovat, abychom v budoucnu věděli, k čemu patří, proto zde zvolíme nějaký vhodný název a klikneme na tlačítko Create.
Zobrazí se nově vytvořený token. Ten se ale zobrazí jen jednou, proto je potřeba jej nyní zkopírovat (např. kliknutím na tlačítko Copy) a někam si jej třeba dočasně uložit.
Nyní máme vše potřebné ke konfiguraci v aplikaci. Přejdeme tedy do aplikace Requestor, kde v administraci v kategorii Integrace zvolíme položku Jira.
Na nové stránce na řádku Propojení s Jira klikneme na Nastavení.
Zde pak klikneme na tlačítko Nová pro vytvoření nové konfigurace.
V nově otevřeném formuláři vyplníme:
Název konfigurace, jedná se o jedinečný název, pod kterým je aplikace vedena v aplikaci Requestor, jde tedy o naši budoucí orientaci
URL produktu, jde o hlavní adresu, na které jsou dostupné produkty Jira, tedy např.
https://nazevfirmy.atlassian.netEmail pro synchronizaci, tedy email k účtu, pod kterým jsme generovali API token
API token, který jsme si zkopírovali v předchozích krocích při jeho vytváření
Typ přístupu do Jira v tomto případě necháme vybraný Interní (Service Desk Team). Nastavení tedy může vypadat například následovně.
Kliknutím na Test připojení můžeme ověřit, zda propojení funguje. Úspěšný výsledek testu je symbolizován následující notifikací.
Druhá část konfigurační stránky umožňuje detailněji nastavit dostupné projekty a jejich typy, synchronizovaná pole a další možnosti propojení s tickety v aplikaci.
Nastavení Dostupné projekty umožňuje zvolit jeden či více projektů, které budou následně při tvorbě nových požadavků z ticketu (resp. propojením s již existujícím požadavkem v Jira) k dispozici. Pokud zde nic nenastavíme, bude možné vybrat ze všech v daný okamžik dostupných projektů, ke kterým má účet pro synchronizaci přístup.
Pokud jsme si dostupné projekty nějakým způsobem omezili, je možné v nastavení Dostupné typy dále omezit jednotlivé typy projektů, které budou v nabídce při vytváření nového požadavku z ticketu.
Další část nastavení je pojmenovaná jako Synchronizovaná pole, která naopak umožňuje vybrat jednu či více položek, které budou z Jira synchronizovány k detailu vazby v ticketu. Doporučujeme tedy projít možnosti a zvolit takové položky, které obsahují nějaké relevantní informace, co by se měly u vazeb u ticketů v aplikaci Requestor zobrazovat (ve výchozím stavu se zobrazuje pouze číslo požadavku a název konfigurace).
Poslední část nastavení obsahuje čtyři zaškrtávací volby:
Povolit pouze jednu vazbu na požadavek, jinými slovy k jednomu ticketu v aplikaci Requestor bude možné navázat právě jeden požadavek Jira
Odstranit vytvořený požadavek v Jira může pouze administrátor, u vazby je ikonka pro smazání požadavku Jira přímo z aplikace Requestor, což zatržením této volby bude umožněnou pouze administrátorům aplikace Requestor, v opačném případě mají tuto možnost i řešitelé
Zobrazit dostupné požadavky Jira zadavateli ticketu, zadavatel ticketu tedy v případě zatržení uvidí, že existuje navázany požadavek v Jira, včetně synchronizovaných detailů (viz nastavení výše)
Nepřenášet přílohy u komentářů z Requestoru do Jira, přikládané přílohy ke komentářům nebudou přeneseny do Jira, jinak se přenáší také
Zde je nějaká ukázka možného nastaveni.
Poslední část nastavení je Synchronizace, což je záložka v levé části stránky.
Tato záložka umožňuje nastavit chování při psaní komentářů, a to jak přímo v Jira (v aplikaci Requestor bude vytvořen buď veřejný, nebo interní komentář dle nastavení zde), nebo naopak v případě, že dojde k vytvoření komentáře v aplikaci Requestor (ten se pak může synchronizovat jako veřejný, interní, případně se nemusí synchronizovat vůbec).
Po zvolení odpovídajících možností je konfigurace dokončena a vše je možné uložit kliknutím na tlačítko Uložit.
Propojení s využitím zákaznického účtu (Jira Service Management)
Pro propojení s Jira je možné využít také zákaznický účet (typ Customer). Tento typ účtu se využívá u produktu Jira Service Management, proto je tato produktová role dostupná pouze u tohoto produktu.
Druhá odlišnost spočívá v tom, že tento typ účtu není administrátorský, proto u něj neproběhne automatická tvorba webhooku přímo z aplikace Requestor, jako je tomu v předchozím případě. Je proto potřeba tento webhook nastavit ručně, jak si níže ukážeme.
V první fázi tedy ověříme existenci zákaznického účtu, případně jej vytvoříme. Příklad je viditelný níže, kdy přímo v seznamu uživatelů klikneme na účet, v jeho detailu následně uvidíme, že do produktu Jira Service Management je nastavená role Customer.
Po přihlášení do Jira pomocí tohoto zákaznického účtu je potřeba vytvořit API token. Postup je v tomto případě stejný, jako v předchozí sekci návodu. Podobná je také konfigurace na straně aplikace Requestor, pouze je rozdíl v tom, že při vytváření nové konfigurace u položky Typ přístupu do Jira vybereme Zákaznický (Service Desk Customers).
Pokud máme korektně zadanou URL produktu, email i API token, měl by již v této chvíli skončit úspěšně test připojení (kliknutím na příslušné tlačítko).
Manuálni tvorba webhooku na straně Jira je potřeba udělat v případě, že požadujeme synchronizaci komentářů z Jira do aplikace Requestor. Lze tedy teoreticky tuto část vynechat, nicméně pak bude fungovat pouze synchronizace z aplikace Requestor do Jira (a už ne naopak).
Přidání webhooku je potřeba udělat pod účtem, který je administrátorem. Administrátorský účet bude mít oprávnění přejít do sekce System v Jira Settings.
V levém menu zvolíme položku WebHooks:
V pravé horní části se nachází tlačítko Create a WebHook.
Jako název pro webhook je možné vyplnit jakýkoli název (slouží pouze pro orientaci v rámci administrace Jira) a do pole URL je nutné zkopírovat celou adresu, která je viditelná v konfiguraci nově vytvořené integrace v aplikaci Requestor.
V sekci Issue related events ve sloupci Comment zatrhneme created.
Ve spodní části formuláře se ujistíme, že je zatržená položka Request with empty body will be sent to the URL. Následně klikneme na tlačítko Create pro vytvoření webhooku.
V poslední části je potřeba se ujistit, že v konfiguraci integrace v aplikaci Requestor máme nastaveno, aby se nové komentáře z Jira opravdu synchronizovaly do aplikace Requestor.
V záložce Synchronizace se nachází jednotlivé možnosti. Pro doplnění ještě uvedeme, že dochází k synchronizaci pouze veřejných (zákaznických) komentářů, interní komentáře v Jira nejsou pro zákazníky viditelné (a jelikož jsme využili zákaznický účet, tak tyto interní komentáře synchronizovány nebudou).
Praktické příklady
V této části návodu si ukážeme, jak lze v praxi vytvořit požadavek nebo vazbu v Jira přímo z aplikace Requestor pomocí tohoto rozšíření.
Tvorba nového požadavku v Jira z aplikace Requestor
Jako modelový příklad je situace, kdy nám zákazník vytvoří nový incident v aplikaci Requestor a vznikne nový ticket. Pokud chceme z tohoto ticketu vytvořit nový požadavek v Jira, tak v otevřeném incidentu v pravém panelu s informacemi ve spodní části se (po dokončené konfiguraci propojení s Jira) nachází položka Jira. Zde klikneme na tlačítko Nový požadavek.
V nově otevřeném okně máme možnost vybrat projekt v Jira (zde platí, že viditelné jsou projekty dle provedeného nastavení při konfiguraci rozšíření v předchozích krocích), typ požadavku (liší se dle zvoleného projektu), volitelně můžeme rovnou přiřadit i řešitele v Jira (ale není podmínkou). Pole předmět a popis jsou předvyplněná obsahem ticketu v aplikaci Requestor, ale je možné oboje modifikovat, případně přiložit soubor(y).
Ve výchozím stavu jsou zatržené volby synchronizace veřejných i interních komentářů, které se v ticketu nachází v okamžiku tvorby nového požadavku v Jira. Pokud komentáře synchronizovat nechceme, jednoduše tyto možnosti zrušíme. Poté klikneme na tlačítko Vytvořit.
Tím vznikne jak nový požadavek v Jira, tak samotná vazba mezi tímto nově vytvořeným požadavkem a ticketem v aplikaci Requestor.
Níže ještě ukázka toho, jak by mohla vypadat vazba, u které se zobrazují nějaká další synchronizovaná pole (viz nastavení výše).
Odpojení a smazání požadavku Jira
U vazby se vždy nachází odkaz, který vede přímo do požadavku Jira, no a vedle něj pak ikona pro odpojení požadavku (požadavek zůstane v Jira, ale dojde ke zrušení vazby v aplikaci Requestor) a smazání požadavku (ikona červené popelnice, dojde jak ke zrušení vazby, tak ke smazání celého požadavku v Jira).
Propojení ticketu s existujícím požadavkem v Jira
Alternativou tvorby nového požadavku z aplikace Requestor je situace, kdy požadavek v Jira již existuje:
V případě, že tento požadavek chceme navázat na ticket v aplikaci Requestor, v odpovídající sekci u ticketu zvolíme možnost Navázat.
Tím dojde k otevření nového okna, kde máme možnost odpovídající požadavek v Jira vyhledat, a to buď podle předmětu, nebo podle ID. Po nalezení odpovídajícího požadavku jej vybereme, zvolíme cílový stav synchronizace existujících komentářů (synchronizace se týká existujících komentářů v aplikaci Requestor do Jira) a nakonec klikneme na tlačítko Navázat.
Tím vznikne nová vazba v ticketu s odpovídajícím obsahem dle předchozí konfigurace.
U vazby jsou stejné možnosti, jako v případě, že byl požadavek v Jira vytvořen přímo z aplikace Requestor. Máme zde tedy odkaz na požadavek, možnost požadavek odpojit, a to včetně možnost úplného smazání požadavku pomocí odpovídajících ikon.