Integrace helpdesku s Azure DevOps

 

Aplikace Helpdesk umožňuje integraci se systémem Azure DevOps, ve kterém je možné samostatně evidovat například vývoj software a aplikací a provázat tak tickety v Helpdesku s vybranými položkami v Azure DevOps, případně z Helpdesku přímo požadavky v Azure DevOps vytvářet a přiřazovat například externím vývojářům.

V tomto návodu si ukážeme, jak nakonfigurovat propojení aplikace Helpdesk s Azure DevOps a jakým způsobem vytvářet nové požadavky nebo vazby. Návod obsahuje dvě části - konfiguraci Azure DevOps a následnou konfiguraci v aplikaci Helpdesk. Na konci návodu jsou pak praktické ukázky tvorby nových Work Items z aplikace, resp. postup jejich propojení z ticketu aplikace.

 

Konfigurace Azure DevOps

S ohledem na charakter fungování Azure DevOps je potřeba mít vytvořenou alespoň jednu organizaci, ve které bude existovat alespoň jeden projekt. Každá organizace v Azure DevOps může obsahovat jeden či více projektů, kde každý projekt umožňuje vlastní nastavení typu projektu včetně oprávnění. Projekty pak obsahují jednotlivé požadavky (Work Items), které je možné párovat s tickety v aplikaci Helpdesk.

Pro konfiguraci integrace s aplikací Helpdesk bude potřeba zvolit či vytvořit jeden účet v Azure DevOps, který bude ve všech projektech (se kterými se bude pracovat z aplikace Helpdesk) v konfiguraci zabezpečení ve skupině Project Administrators.

 

image-20241101-073101.png

Jakmile máme u všech projektů (minimálně tedy jednoho) nastavená potřebná oprávnění, u tohoto účtu přímo v administraci Azure DevOps přejdeme do sekce Personal access tokens, kde vytvoříme nový API Token, pomocí kterého bude probíhat ověření komunikace mezi Azure DevOps a aplikací Helpdesk.

S vybraným uživatelským účtem se přihlásíme do Azure DevOps a v pravém horním rohu klikneme na ikonu nastavení. V nově otevřeném menu zvolíme Personal access tokens.

 

image-20241101-073219.png

Na nově otevřené stránce klikneme na tlačítko New Token.

 

V nově otevřeném panelu zadáme nějaký vhodný název nového tokenu, zvolíme možnost All accessible organizations (tuto volbu je nutné zvolit, jinak nebude integrace funkční), zvolíme datum expirace (v době tvorby návodu bylo možné zvolit platnost maximálně 1 rok) a v sekci Scopes zvolíme Full access. Následně vytvoříme nový token tlačítkem Create.

 

Tím dojde k vytvoření nového tokenu. Ten je nutné nyní zkopírovat pomocí tlačítka (případně lze označit celý token a vykopírovat metodou Copy & Paste) a někam si jej dočasně uložit, budeme jej potřebovat při konfiguraci této integrace v aplikaci Helpdesk.

 

 

Jakmile máme token, měli bychom mít všechno potřebné na straně Azure DevOps nastaveno a můžeme přistoupit k druhé části - konfiguraci v aplikaci Helpdesk.

 

 

Konfigurace v aplikaci Helpdesk

V aplikaci Helpdesk přejdeme do Administrace, kde v sekci Integrace klikneme na položku DevOps.

 

Na nově otevřené stránce klikneme na tlačítko Nastavení na řádku s názvem Propojení s DevOps.

 

Nyní přistoupíme k tvorbě nové konfigurace kliknutím na tlačítko Nová.

 

Zobrazí se nový formulář, ve kterém v prvním kroku vyplníme vhodný Název konfigurace (slouží pro naši orientaci, konfigurací je možné vytvořit více, například pokud potřebujeme propojit více účtů v různých organizacích Azure DevOps), email účtu, v rámci kterého jsme vytvářeli v předchozí části Personal Access Token, a nakonec i dříve zkopírovaný token.

Volbu Autentifikace webhooku doporučujeme ponechat deaktivovanou, jedná se o starší metodu využívající Basic Authentication a pro funkčnost synchronizace není nutná (ponechali jsme volbu z důvodu kompatibility starších konfigurací).

Po vyplnění můžeme pro kontrolu kliknout na tlačítko Test připojení.

 

Pokud máme vše správně nakonfigurované, měli bychom vidět notifikaci o úspěšném připojení k DevOps.

 

Ve druhé části formuláře je možné přizpůsobit chování této registrace v aplikaci Helpdesk.

  • Dostupné organizace: po kliknutí do pole dojde k zobrazení všech organizací, ke kterým má výše nakonfigurovaný účet práva. Máme zde možnost vybrat konkrétní jednu nebo více organizací, čímž dojde k následnému omezení budoucího výběru při vytváření nových položek v aplikaci Helpdesk. Pokud žádnou organizaci nevybereme, bude možné z nich vybírat později v aplikaci.

  • Dostupné projekty: podobně jako u organizací lze výběrem konkrétních projektů omezit jejich viditelnost později v aplikaci.

  • Dostupné typy: stejným způsobem lze omezit typy položek Azure DevOps (Work Items), které budou k dispozici později v aplikaci při tvorbě nových požadavků a vazeb.

  • Synchronizovaná pole: vybráním jedné či více položek ze seznamu dojde k rozšíření o tyto informace u vazby v ticketu v aplikaci Helpdesk. Ponecháním prázdného seznamu se zde v tomto případě naopak žádná dodatečná pole synchronizovat nebudou.

Níže je uvedený příklad, jak by mohla konfigurace vypadat v praxi:

 

Odpovídající konfiguraci potvrdíme tlačítkem Uložit v levé spodní části formuláře.

Kromě tohoto nastavení ještě máme k dispozici konfiguraci chování synchronizace mezi požadavky (Work Items) z Azure DevOps do aplikace Helpdesk a naopak. Toto nastavení se nachází v záložce Synchronizace.

 

Toto nastavení určuje, co se stane v případě, že u provázaných požadavků budou vznikat komentáře. Volbou z roletového menu zde určíme, co se stane v případě tvorby komentáře přímo v Azure DevOps, resp. pokud dojde k vytvoření komentáře v ticketu v aplikaci Helpdesk. Požadované změny uložíme tlačítkem Uložit.

 

 

Praktické příklady

Nyní máme nakonfigurované propojení s Azure DevOps. V této části návodu si ukážeme, jak lze v praxi vytvořit požadavek (Work Item) nebo vazbu z aplikace Helpdesk pomocí tohoto rozšíření.

Tvorba nového požadavku v Azure DevOps z aplikace Helpdesk

První možností je vytvoření úplně nového požadavku (Work Item) v Azure DevOps, a to přímo z ticketu v aplikaci Helpdesk. V otevřeném ticketu (požadavek na službu, incident, apod.) v aplikaci Helpdesk se v pravé spodní části nachází sekce DevOps, kde klikneme na tlačítko New Work Item.

 

Tím dojde k otevření nového okna, ve kterém máme možnost zvolit organizaci (za předpokladu, že máme k dispozici více organizací a zároveň pokud jsme si dostupné organizace neomezili v předchozí konfiguraci rozšíření), projekt (podobně jako u organizace) a dále typ požadavku (v Azure DevOps se jedná o Work Items).

V závislosti na typu požadavku se může objevit více nastavení. Dostupné možnosti a volby jsou dynamicky načítány přímo z Azure DevOps. Například Work Item "Epic" obsahuje také položku "Priority", kde lze určit specifickou prioritu pro daný Epic. Priorita ale například není dostupná u Work Item "Feature", proto se v dialogu po volbě tohoto typu Work Item nezobrazí.

Podobně je tomu u volby "Value Area", kde u některých typů Work Items je dokonce povinné zvolit tuto oblast (v případě Feature jsou zde možnosti Business nebo Architectural).

Kromě těchto vlastností je možné napřímo přiřadit konkrétního vývojáře (jedná se o účty dostupné v Azure DevOps) pomocí volby Assined To.

Jelikož vytváříme nový požadavek (resp. Work Item) z aplikace Helpdesk přímo z ticketu, máme již předvyplněná pole Title a Description. Tato pole můžeme buď ponechat v této podobě, nebo si titulek a popis před tvorbou nového požadavku v Azude DevOps modifikovat dle potřeby.

Jakmile máme vše zadané správně, můžeme nový Work Item vytvořit kliknutím na tlačítko Vytvořit. Příklad dialogu je níže.

 

Za zmínku stojí také volitelná možnost Add an existing work item as a parent:

 

Tato volba umožňuje zvolit Work Item v Azure DevOps, ktery bude sloužit jako nadřazený požadavek. Tato vlastnost je v Azure DevOps volitelná a záleží vždy na dané organizaci, jakým způsobem se rozhodli vytvářet a udržovat struktury položek. Praktickým příkladem může být model, kdy pro nějaký větší požadavek dojde k založení Work Item typu Epic, no a daný epic má následně podřízený jeden či více Featute Requests.

Pokud bychom chtěli tedy například vytvořit Feature request z aplikace Helpdesk

, který bude podřízený již existujícímu Work Item typu Epic, můžeme zatrhnout checkbox (viz ukázka výše). To nám umožní kliknout na tlačítko Vybrat a v novém dialogu vyhledat (podle ID nebo Title) požadovaný nadřazený Work Item.

 

Nalezený Work Item následně můžeme vybrat jako nadřazený požadavek opět tlačítkem Vybrat. Po uzavření vyhledávacího dialogu je daný Work Item přidaný jako nadřazený.

 

Po uložení dojde k vytvoření Work Item v Azure DevOps a zároveň ke tvorbě vazby, která je viditelná přímo u daného ticketu v aplikaci Helpdesk v pravém panelu ve spodní části.

 

Work Item je zároveň možné již najít i v Azure DevOps.

 

A to včetně dříve přidané vazby na nadřazený požadavek.

 

 

 

Propojení ticketu s existujícím požadavkem v Azure DevOps

Alternativou tvorby nového požadavku z aplikace Helpdesk je situace, kdy Work Item v rámci Azure DevOps již existuje:

 

Související ticket v aplikaci Helpdesk tedy bude stačit pouze navázat. Toho dosáhneme tak, že v aplikaci přejdeme do odpovídajícího ticketu (požadavek na službu, incident, apod.) a v sekci DevOps ve spodní části pravého panelu zvolíme možnost Link Existing.

 

V nově otevřeném okně máme (podobně jako u vazby na nadřazený požadavek, který jsme popisovali v předchozí sekci) možnost vyhledat existující Work Item dle ID, případně dle předmětu (Title). V našem příkladu víme, že ID požadavku je 14, proto stačí do pole pro vyhledání podle ID zadat číslo 14 a kliknout na Search.

Po vyhledání požadovaného Work Item zvolíme checkbox vedle výsledku a klikneme na Link Existing, čímž dojde k navázání požadavku na ticket v aplikaci.

 

Tímto způsobem dochází k tvorbě vazby, nicméně nedochází již k aktualizaci komentářů a popisů, které byly vytvořeny jak v aplikaci, tak Azure DevOps před tvorbou vazby.

 

Odstranění vazby a smazání požadavku z aplikace Helpdesk

Kromě tvorby nového požadavku z aplikace a propojení s existující Work Item v Azure DevOps je také možné vazbu v jakékoli chvíli zrušit, eventuálně požadavek v Azure DevOps z aplikace Helpdesk kompletně smazat.

Tato možnost je dostupná buď pouze administrátorům aplikace Helpdesk, nebo také jejich operátorům - a to dle konfigurace integrace, kterou jsme vytvářeli v první části tohoto návodu.

Možnosti jsou viditelné vždy u vazby v ticketu.

 

První ikona symbolizuje možnost odpojení (tzn. zrušení vazby), druhá ikona kromě samotného zrušení vazby také smaže celý Work Item v Azure DevOps. Kliknutím na ikonu dojde k zobrazení varování s potvrzením, že skutečně chceme odpojit, resp. smazat Work Item z Azure DevOps.

 

Potvrzením pak dojde k provedení zvolené akce.