Integrare le Issue di Jira software e Jira Service Desk


Notice: Undefined index: sidebar_width in /home/intodeepqz/www/wp-content/themes/dante/single.php on line 9

Notice: Undefined index: single_author in /home/intodeepqz/www/wp-content/themes/dante/single.php on line 31
Integrare le Issue di Jira software e Jira Service Desk

Integrare le Issue di Jira Software e Jira Service Desk

Jira Software e Jira Service Desk offrono le funzionalità per gestire i propri ticket (chiamati “issue” nel gergo di Jira) in maniera digitale.
Integrare le issue di Jira con altri software aziendali è un’attività importante per l’organizzazione efficiente dei processi.
Si pensi ad esempio ai service provider che devono organizzare le visite dei propri commerciali, sollecitando il supporto tecnico affinché risolva eventuali segnalazioni prima di un incontro con il cliente.
Un cliente senza problematiche aperte sarà ben più propenso e motivato a partire con nuove implementazioni o ad acquistare nuovi prodotti, rispetto ad un cliente con molte issue aperte.
In questi casi, l’integrazione è il miglior strumento di comunicazione aziendale, perché abilita il reparto commerciale ad essere autonomo e ne semplifica il dialogo con il reparto tecnico. Inoltre, se si integra Jira con il CRM che utilizzano solitamente gli agenti, gli si mette a disposizione dati importanti in tempo reale, con un’interfaccia utilizzata quotidianamente.
La novità è che integrare richiede poco tempo grazie all’integrazione API ed alla flessibilità di Deep Connector.

Integrare i Project

Tutte le Issue di Jira fanno parte di un Project. Punto iniziale per l’integrazione è recuperare i progetti di Jira.
Vengono elencati gli step necessati per recuperare i Project di Jira

  • Crea un nuovo Job, con un IN Metadata di tipo Jira WS. In questo modo potrai collegarti alle API di Jira.

 

  • Ricordati di impostare la configurazione dal tab Configuration del IN Metadata:

 

Fatto questo, compila il campo Content in questo modo:

$jiraWs = $this->getClient();

$jiraWs->login();

$resource = $jiraWs->getResource("project");

$projects = $resource->get();

Il codice appena visto permette di:

  • Recuperare il client di connessione alle Jira API
  • Effettuare il login con le credenziali fornite nella configurazione del web service
  • Recuperare i project presenti su Jira

La variabile $projects avrà la seguente struttura:

[0] => Array
        (
            [expand] => description,lead,url,projectKeys
            [self] => https://jiraserver.local/rest/api/2/project/10002
            [id] => 10002
            [key] => PRJ-KEY
            [name] => PROJECT INTODEEP
            [avatarUrls] => Array
                (
                    [48x48] => https://jiraserver.local/secure/projectavatar?pid=10002&avatarId=10600
                    [24x24] => https://jiraserver.local/secure/projectavatar?size=small&pid=10002&avatarId=10600
                    [16x16] => https://jiraserver.local/secure/projectavatar?size=xsmall&pid=10002&avatarId=10600
                    [32x32] => https://jiraserver.local/secure/projectavatar?size=medium&pid=10002&avatarId=10600
                )

            [projectTypeKey] => service_desk
        )

[1] => Array
        (
            [expand] => description,lead,url,projectKeys
            [self] => https://jiraserver.local/rest/api/2/project/10303
            [id] => 10303
            [key] => PROJECT 2
            [name] => PRJ-KEY2
            [avatarUrls] => Array
                (
                    [48x48] => https://jiraserver.local/secure/projectavatar?pid=10303&avatarId=10209
                    [24x24] => https://jiraserver.local/secure/projectavatar?size=small&pid=10303&avatarId=10209
                    [16x16] => https://jiraserver.local/secure/projectavatar?size=xsmall&pid=10303&avatarId=10209
                    [32x32] => https://jiraserver.local/secure/projectavatar?size=medium&pid=10303&avatarId=10209
                )

            [projectTypeKey] => business
        )

Ovvero un array contenente un insieme di elementi, con le proprietà dei progetti di Jira, come ad esempio l’id o la key.

Integrare le Issue

Recuperare le issue di Jira è facile e può essere fatto mediante queste semplici istruzioni all’interno del IN Metadata del Job di Deep Connector:

$jiraWs = $this->getClient();

$jiraWs->login();

$resource = $jiraWs->getResource("issue");

$issues = $resource->get();

Molto simile a quello già visto per il recupero dei Jira Projects.

Il codice appena visto restituisce un array con tutte le informazioni di una issue, vediamo di seguito solo alcuni campi per capirne la struttura:

 

Array
(
	[expand] => renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations
	[id] => 10522
	[self] => https://jiraserver.local/rest/api/latest/issue/10522
	[key] => CMDB-1
	[fields] => Array
	(
		[issuetype] => Array
		(
			[self] => https://jiraserver.local/rest/api/2/issuetype/10002
			[id] => 10002
			[description] => A task that needs to be done.
			...
		)

		[timespent] =>
		[project] => Array
		(
			  [self] => https://jiraserver.local/rest/api/2/project/10303
			  [id] => 10303
			  [key] => PRJ-KEY
			  [name] => PRJ-NAME
		)

		[aggregatetimespent] =>
		[resolution] =>
		[customfield_10302] =>
		[customfield_10303] =>
		[resolutiondate] =>
		[workratio] => -1
		[lastViewed] => 2018-04-16T18:28:45.241+0200
		[watches] => Array
		(
			[self] => https://jiraserver.local/rest/api/2/issue/CMDB-1/watchers
			[watchCount] => 1
			[isWatching] => 1
		)

		[created] => 2018-03-08T12:32:19.000+0100
		[priority] => Array
		(
			 [self] => https://jiraserver.local/rest/api/2/priority/3
			 [iconUrl] => https://jiraserver.local/images/icons/priorities/medium.svg
			 [name] => Medium
			 [id] => 3
		)
		[assignee] =>
		[updated] => 2018-04-16T18:28:45.000+0200
		[status] => Array

		[description] => DESCRIPTION
		[customfield_10010] =>
		[customfield_10011] =>
		[customfield_10012] =>
		[customfield_10013] =>
		[customfield_10014] =>
		...

La struttura è quella tipica di un array PHP.
Una volta recuperato l’elenco dei progetti e delle issue è facile, grazie all’informazione del progetto a cui appartiene la issue, filtrare le issue per progetto, mediante la chiave “project” contenuta nelle issue di Jira.

[project] => Array
     (
          [self] => https://jiraserver.local/rest/api/2/project/10303
          [id] => 10303
          [key] => PRJ-KEY
          [name] => PRJ-NAME
     )

2 Commenti

Pingbacks

  1. […] come integrare le Issue di Jira. Se non sai come fare, leggi prima di continuare questo articolo per l’integrazione delle issue […]

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato.