Integrare il campo Comments di Jira software e Jira Service Desk

Integrare il campo Comments di Jira software e Jira Service Desk

Integrare il campo Comments di Jira software e Jira Service Desk

Jira Software e Jira Service Desk permettono grazie il campo comments di rendere interattiva la comunicazione all’interno di una issue tra utenti e tecnici che gestiscono la problematica.

 

 

Il campo Comments può essere integrato facilmente per l’esportazione verso qualsiasi applicativo, grazie all’integrazione API ed alla flessibilità di Deep Connector.
E’ possibile, ad esempio, esportare i messaggi presenti nei comment all’interno di un’applicazione che notifichi gli utenti di eventuali note da parte dei tecnici per rendere più agevole la comunicazione ed avere risposte tempestive.
Oppure, è possibile integrare all’interno di un portale di service desk dei propri fornitori eventuali risposte del proprio personale interno, per tenere traccia in tempo reale dei “botta e risposta” inerenti le issue.

Recupero dei comments con Deep Connector

Per leggere i comments di Jira è importante conoscere innanzitutto, come integrare le Issue di Jira. Se non sai come fare, leggi prima di continuare questo articolo per l’integrazione delle issue 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:

	
$issueKey = "My ISSUE Key";
$jiraWs = $this->getClient();
$jiraWs->login();
$resource = $jiraWs->getResource("issue");
$comments = $resource->get($issueKey, 'comment');

Il codice appena visto permette di:

  • Impostare una issue key statica, mediante l’assegnazione di un valore fisso alla variabile $issueKey
  • Recuperare il client di connessione alle Jira API
  • Effettuare il login con le credenziali fornite nella configurazione del web service
  • Recuperare i comment per una specifica issue
  • Recuperare le informazioni relative ai comments della issue

Infatti la variabile $comments avrà la seguente struttura:

Array
(
    [startAt] => 0
    [maxResults] => 1048576
    [total] => 2
    [comments] => Array
        (
            [0] => Array
                (
                    [self] => https://jiraserver.local/rest/api/2/issue/10522/comment/10600
                    [id] => 10600
                    [author] => Array
                        (
                            [self] => https://jiraserver.local/rest/api/2/user?username=autore%40jiraserver.local
                            [name] => autore@jiraserver.local
                            [key] => autore@jiraserver.local
                            [emailAddress] => autore@jiraserver.local
                            [avatarUrls] => Array
                                (
                                    [48x48] => https://jiraserver.local/secure/useravatar?avatarId=10336
                                    [24x24] => https://jiraserver.local/secure/useravatar?size=small&avatarId=10336
                                    [16x16] => https://jiraserver.local/secure/useravatar?size=xsmall&avatarId=10336
                                    [32x32] => https://jiraserver.local/secure/useravatar?size=medium&avatarId=10336
                                )

                            [displayName] => Autore
                            [active] => 1
                            [timeZone] => Europe/Rome
                        )

                    [body] => test
                    [updateAuthor] => Array
                        (
                            [self] => https://jiraserver.local/rest/api/2/user?username=autore%40jiraserver.local
                            [name] => autore@jiraserver.local
                            [key] => autore@jiraserver.local
                            [emailAddress] => autore@jiraserver.local
                            [avatarUrls] => Array
                                (
                                    [48x48] => https://jiraserver.local/secure/useravatar?avatarId=10336
                                    [24x24] => https://jiraserver.local/secure/useravatar?size=small&avatarId=10336
                                    [16x16] => https://jiraserver.local/secure/useravatar?size=xsmall&avatarId=10336
                                    [32x32] => https://jiraserver.local/secure/useravatar?size=medium&avatarId=10336
                                )

                            [displayName] => Autore
                            [active] => 1
                            [timeZone] => Europe/Rome
                        )

                    [created] => 2018-04-16T17:42:55.000+0200
                    [updated] => 2018-04-16T17:42:55.000+0200
                )

            [1] => Array
                (
                    [self] => https://jiraserver.local/rest/api/2/issue/10522/comment/10601
                    [id] => 10601
                    [author] => Array
                        (
                            [self] => https://jiraserver.local/rest/api/2/user?username=autore%40jiraserver.local
                            [name] => autore@jiraserver.local
                            [key] => autore@jiraserver.local
                            [emailAddress] => autore@jiraserver.local
                            [avatarUrls] => Array
                                (
                                    [48x48] => https://jiraserver.local/secure/useravatar?avatarId=10336
                                    [24x24] => https://jiraserver.local/secure/useravatar?size=small&avatarId=10336
                                    [16x16] => https://jiraserver.local/secure/useravatar?size=xsmall&avatarId=10336
                                    [32x32] => https://jiraserver.local/secure/useravatar?size=medium&avatarId=10336
                                )

                            [displayName] => Autore
                            [active] => 1
                            [timeZone] => Europe/Rome
                        )

                    [body] => test 2
                    [updateAuthor] => Array
                        (
                            [self] => https://jiraserver.local/rest/api/2/user?username=autore%40jiraserver.local
                            [name] => autore@jiraserver.local
                            [key] => autore@jiraserver.local
                            [emailAddress] => autore@jiraserver.local
                            [avatarUrls] => Array
                                (
                                    [48x48] => https://jiraserver.local/secure/useravatar?avatarId=10336
                                    [24x24] => https://jiraserver.local/secure/useravatar?size=small&avatarId=10336
                                    [16x16] => https://jiraserver.local/secure/useravatar?size=xsmall&avatarId=10336
                                    [32x32] => https://jiraserver.local/secure/useravatar?size=medium&avatarId=10336
                                )

                            [displayName] => Autore
                            [active] => 1
                            [timeZone] => Europe/Rome
                        )

                    [created] => 2018-04-16T18:10:45.000+0200
                    [updated] => 2018-04-16T18:10:45.000+0200
                )

        )

)

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

Richiamare una determinata issue

Nell’esempio precedente si è visto come recuperare il comment di una issue fissa, mediante l’impostazione di una variabile $issueKey.

Se si volesse recuperare la issue tramite le API di Deep Connector, sarebbe sufficiente eliminare la seguente istruzione nel codice:

$issueKey = "My ISSUE Key";

Ed utilizzare invece la seguente istruzione:

$issueKey = $this->getJob()->getApiRequest()->getUserParam('issue_key');

 

 

Configurare un Web Hook di Jira

Sfruttando quanto visto sopra, richiamando Deep Connector da un web hook di Jira, è possibile impostare direttamente la variabile issueKey tramite chiamata REST, come illustrato nell’immagine seguente:

 

 

0 Commenti

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato.