Usiamo ScriptRunner – Vediamo alcuni esempi

Un semplice esempio

In questo post andremo ad esaminare un esempio di come possiamo sfruttare Scriptrunner per JIRA, già presentato in questo blog, per realizzare delle funzioni opportune.

 

Ringraziamenti

Un grazie al lavoro che svolge MrAddons con il suo blog, che ha ispirato questo articolo, in cui spiega come sfruttare la potenza di questo ed altri addon. 

Di cosa parliamo oggi?

Voglio citare un semplice esempio di come possiamo automatizzare alcune azioni che normalmente ci prenderebbero delle giornate. Vediamo come chiudere un task, in automatico, che è stato collegato con un altro come linked issue.

Scenario

Abbiamo un task in cui sono presenti delle issue collegate. Vogliamo che, nell’istante in cui andiamo a chiudere la issue principale, le issue collegate siano a loro volta chiuse.

Come possiamo ottenere questo risultato che, normalmente, le funzioni standard o out-of-the-box di JIRA non ci mettono a disposizione? Risposta: Con Scriptrunner. vediamo come.

 

Pochi semplici passi

Quello che dobbiamo fare e andare ad agire a livello di Workflow, in particolare a livello di Postfunction di una transazione del Workflow (nel nostro caso si tratta di un workflow usato in un progetto di esempio).

e li andiamo a generare la nostra Postfunction personalizzata, come script:

dove inseriamo questa azione. Il concetto è di sfruttare groovy e di andare a dire a JIRA: Quando esegui questa operazione, se si tratta di una issue che presenta delle issue collegate, allora … riesegui la stessa transazione per chiuderla.

Il codice da inserire è il seguente:

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.ComponentAccessor

def issueLinkManager = ComponentAccessor.getIssueLinkManager()
import org.apache.log4j.Category
import com.opensymphony.workflow.WorkflowContext
import com.atlassian.jira.workflow.WorkflowTransitionUtil;
import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl;
import com.atlassian.jira.util.JiraUtils;
import com.atlassian.jira.issue.comments.CommentManager;
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.issue.MutableIssue
def Category log = Category.getInstance(“com.onresolve.jira.groovy.PostFunction”)
log.setLevel(org.apache.log4j.Level.DEBUG)
log.debug “debug statements”
String currentUser = ((WorkflowContext) transientVars.get(“context”)).getCaller();
WorkflowTransitionUtil workflowTransitionUtil = ( WorkflowTransitionUtil ) JiraUtils.loadComponent( WorkflowTransitionUtilImpl.class );
log.debug “Original: ${issue.getId()}, ${issue.getKey()}. DETECTED ” + issue.getStatusObject().getName();

List<IssueLink> allInIssueLink = issueLinkManager.getOutwardLinks(issue.getId());
for (Iterator<IssueLink> inIterator = allInIssueLink.iterator(); inIterator.hasNext();) {
IssueLink issueLink = (IssueLink) inIterator.next();
def linkedIssue = issueLink.getDestinationObject();
log.debug “linked: ${linkedIssue.getId()}, ${linkedIssue.getKey()}. DETECTED ” + linkedIssue.getStatusObject().getName();
if (linkedIssue.getStatusObject().getName().equals(“To Do”)) { // STATO della issue collegata
log.debug “linked Content: ${linkedIssue.getId()}, ${linkedIssue.getKey()}.”

//We can transition the parent ticket
log.debug “start transition”

workflowTransitionUtil.setIssue((MutableIssue) linkedIssue);
workflowTransitionUtil.setUserkey(currentUser);
workflowTransitionUtil.setAction (21); //Transition ID — TRANSAZIONE CHE VIENE ESEGUITA
workflowTransitionUtil.validate();
workflowTransitionUtil.progress();

log.debug “end transition”
}

}

Nel seguente GIF, viene mostrato quello che succede quando attiviamo questa postfunction:

Conclusione

Un piccolo passo e poco poco codice per un grande risultato :-). Nei prossimi post cercheremo di esaminare altri script e scopriremo come sfruttare Scriptrunner.




Estendere TEMPO Timesheet sfruttando EazyBI

TEMPO Timesheet & EasyBI – Connubio perfetto

In questo post andiamo ad esaminare un articolo molto carino e dettagliato del blog di tempo, in cui viene spiegato come estendere la potenzialità di TEMPO Timesheet attraverso la versatilità di EazyBI per realizzare della reportistica.

Una breve presentazione dei prodotti

Abbiamo già avuto modo di parlare dei due prodotti, ma ritengo comunque doverosa una breve presentazione, in cui introduciamo l’argomento 🙂

TEMPO Timesheet per JIRA è l’addon dedicato alla gestione del timesheet degli utenti e che principalmente ci aiuta nella gestione delle ore di attività e ci permette di rendicontarle. Ci siamo occupati di TEMPO in questo blog e abbiamo avuto modo di esaminarlo.

EazyBI è l’addon per JIRA che ci permette di realizzare della reportistica delle informazioni dei nostri progetti. Ci siamo occupati anche di EazyBI in questo blog.

Abbiamo a disposizione due potentissimi strumenti che ci permettono di poter gestire delle informazioni vitali ed importanti per l’azienda.

Nel dettaglio

L’articolo del blog di TEMPO, ci segnala che unendo le forze di entrambi gli addon, otteniamo un risultato non indifferente :-). Sfruttando le infomazioni che TEMPO Timesheet possiamo importarle su EazyBI e gestirle per generare dei report come il seguente esempio:

tempo-billed-hours-by-year

oppure come il seguente esempio:

Tempo-Top-10-billed-accounts

Conclusione

Abbiamo visto che l’uso combinato di questi addon ci permette di estrapolare tante belle informazioni che ci consentono di avere una visione più ampia della situazione :-). Un principio che ho sempre cercato di esternare con tanti altri articoli in questo blog.




Adaptavist Test Management for JIRA ….. Cloud

Annuntio Vobis Gaudium Magnum …

… habemus Adaptavist Test Management for JIRA …. CLOUD. In questo post andremo a dare una prima occhiata a questo addon e alle potenzialità che offre 🙂

 

 

Subito al sodo

Conosciamo l’addon: lo abbiamo presentato e descritto bene in vari post. Di conseguenza andiamo a vedere che cosa offre.

Dalle immagini presenti nel marketplace, vediamo che l’addon mette a disposizione tutte le principali funzioni che sono disponibili su versione Server.

 

Conclusioni

Una sola parola per definire il tutto: S P E T T A C O L O :-D. Non vedo l’ora di testare nel dettaglio questo addon e vedere come gli sviluppatori hanno piegato al loro volere il cloud, creando un prodotto meraviglioso.

 

Reference

Maggiori informazioni sono presenti alla pagina del marketplace.




Somme su Worklog su JIRA Cloud – Test Addon

Somme su Worklog

In questo post andremo ad esaminare questo addon che permette di poter eseguire delle somme sui dati del worklog, per la versione cloud .

Installazione

 

Come sempre, partiamo dalla installazione del nostro addon. Usiamo come cavia il nostro Jira Cloud di produzione, per usare dei dati effettivi. Ricerchiamo il nostro addon nella apposita sezione di ricerca. A tal proposito, spendo due parole sul nuovo layout: Chi già usa i prodotti non avrà sicuramene alcun problema nell’uso.

Selezionando il tasto Free trial, andiamo ad iniziare la fase di installazione.

Accettiamo le condizioni di licenza e le autorizzazioni, attraverso il tasto Accept & install….

… quindi si attiverà la procedura di installazione …

… Lasciamo che si esegua ….

… quindi si attiverà la fase di gestione delle sottoscrizioni …

… e delle licenze in uso presso la nostra istanza cloud ….

… diamo qualche minuto alla procedura …

… quando si completa …

… sarà visualizzato il solito messaggio .

Configurazione & Test

Con somma gioia notiamo che non abbiamo alcuna configurazione da eseguire.

Procediamo con il test e modifichiamo la nostra Dashboard per inserire uno dei gadget che viene messo a disposizione, come mostrato nela figura successiva:

Il risulto, a meno di oscurare alcuni dei dati sensibili, è moooooooooooolto interessante 🙂

Possiamo avere a disposizione le somme, su colonna, dei campi di worklog e numerici in generale.

Come mostrato dalla precedente immagine, la configurazione può essere eseguita su filtro preesistenet, sfruttando sempre quanto abbiamo a disposizione, oppure su JQL che possiamo inserire direttamente sul gadget.

Dalla precedente figura emerge che non abbiamo solo un gadget, ma ben tre, che ci permettono di poter eseguire degli incroci 🙂

Conclusioni

Carinissimo. Questo addon ci permette di avere il colpo d’occhio sul progetto e di avere sempre a disposizione e sempre aggiornato. Non è da poco. Lo consiglio come addon indispensabile per la gestione di un progetto.

 

Reference

Maggiori informazioni sull’addon sono reperibili alla pagina del marketplace.




Diamo una marcia in più al JQL – Test Addon

Diamo una marcia in più

In questo post diamo i risultati del test di questo addon, che ci permette di poter estendere le interrogazioni che il JQL standard mette a disposizione, e ci permette di avere delle interrogazioni avanzate.

 

Installazione

Partiamo come sempre dalla installazione. Cerchiamo il nostro addon dalla lista degli addon disponibili

Selezioniamo Free trial per attivare la procedura di installazione …

… lasciamo passare qualche minuto …

… che si eseguino tutte le informazioni ….

… una volta completata l’installazione, attendiamo che si attivi la procedura di generazione della licenza …

… selezioniamo Get license per attivare la proceura di generazione della licenza ….

… quindi applicarla al nostro server selezionando Apply License

Fino alla conclusione della procedura. Passiamo alla fase successiva.

Configurazione

L’addon mette a disposizione una sezione di configurazione. Vi possiamo accedere direttamente dalla sezione degli addon installati, selezionando il nostro addon e il tasto Configure , come mostrato in figura:

Possiamo in alternativa accedere alla configurazione anche da un nuovo menù, che è stato inserito nella barra laterale, come mostrato nella figura successiva:

Da li accediamo alla seguente sezione:

da dove possiamo configurare il nostro addon. Esaminiamo nel dettaglio che cosa possiamo configurare:

  • Le licenze dell’addon, opzione che si attiva attraverso il tasto Manage license e che reindirizza sulla pagina di gestione degli addon
  • La JIRA Local URL –

 

Test

Concludiamo con il test. Possiamo accedere ad una console di gestione del codice SQL dal menù di EXPORT di gestione dei Filtri, come mostrato in figura:

Questa funzione ci permette due cose:

  • Di accedere alla console SQL;
  • Se abbiamo scritto una funzione in JQL, questa viene tradotta in SQL e riportata in console, come mostrato in figura successiva;

Dalla console lanciamo le nostre query SQL e otteniamo i seguenti risultati:

Ma non è l’unica cosa che possiamo fare: Possiamo anche richiamare direttamente il codice SQL nel nostro JQL, come mostrato dalla seguente immagine:

che ci permette di poter eseguire delle query molto molto molto più interessanti. Questo ovviamente lo possiamo eseguire a tutti i livelli in cui si richiama JQL. Se andiamo ad osservare la seguente figura:

 

 

Conclusioni

Il risultato del test è ottimo. Possiamo estendere il JQL in modo da fargli eseguire delle interrogazioni che con lo standard non riusciremo a fargli eseguire, estendendo le nostre possibilità.

 

Reference

Maggiori informazioni sono reperibili alla pagina del marketplace.




Diamo una marcia in più al JQL

Diamo una marcia in più

In questo post analizziamo un addon che ci permette di poter estendere le interrogazioni che il JQL standard mette a disposizione, e ci permette di avere delle interrogazioni avanzate.

 

Che cosa offre l’addon?

L’addon permette di eseguire delle interrogazioni avanzate attraverso una opportuna interfaccia, come mostrato dalla seguente figura:

dove abbiamo il controllo completo dello schema di database di JIRA.

Possiamo realizzare tutte le interrogazioni che vogliamo, eseguendo anche delle trasformazioni di JQL in SQL.

Conclusioni

Le premesse sono molto interessanti. JQL out-of-box sono molto potenti ma non consentono di poter eseguire delle interrogazioni di un certo tipo, che richiedono sempre di più l’utilizzo di addons particolari che aggiungono funzioni al JQL. Nel prossimo post andremo, come sempre, a saggiare questo addon e verificare come si comporta.

 

Reference

Maggiori informazioni sono reperibili alla pagina del marketplace.




Atlas CRM per JIRA Cloud – CRM integrato con JIRA

CRM sotto JIRA

In questo post andremo ad esaminare un addon che permette di trasformare JIRA in un CRM.

Subito al dunque

Questo addon permette di gestire i propri clienti direttamente da JIRA. Dalla seguente immagine possiamo vedere che:

possiamo gestire i dati delle aziende clienti e dei contatti. Queste informazioni sono associabili alle varie issue, qualora siano di pertinenza di un particolare cliente

In aggiunta è possibile sfruttare le funzionalità di Confluence attraverso un ulteriore addon che lo stesso produttore mette a disposizione degli utenti, e organizzare al meglio le informazioni dei clienti

Conclusioni

JIRA si conferma essere il punto centrale della gestione dei progetti e, attraverso l’uso di questo addon, anche dei clienti di una azienda. Abbiamo avuto modo di esaminare altri addon che si occupano di questo argomento. Cercheremo nei prossimi post di riportare altre informazioni e confronti 🙂

 

Reference

Maggiori informazioni sono reperibili alla seguente pagina del marketplace.




Altri Addon che hanno partecipano a Codegeist 2017

Altri addon per i prodotti Atlassian

In questo post descriveremo altri addon che hanno partecipato a Codegeist 2017, di cui abbiamo già ampiamente parlato in questo blog. Prendiamo ispirazione da questo articolo della Stiltsoft, in cui sono descritti una serie di addon.

Subito in dettaglio

Andiamo subito a descrivere gli addon cercando di fornire subito una prima indicazione per ciascuno 🙂

 

WatchTower. One board for multiple JIRAs

Partiamo con questo addon, disponibile sia per Server che per Cloud, che permette di poter gestire, tramite unica board, le issue di diversi progetti che, a loro volta, risiedono su diversi server JIRA.

Questo permette di focalizzarsi sulle proprie attività, a prescindere da dove sono localizzate

il tutto senza sganciarsi dalle normali procedure di JIRA e con una configurazione molto semplice.

Sicuramente andremo a testare questo addon per saggiarne le potenzalità 🙂

Team Secrets for JIRA

Questo addon permette di eseguire una criptazione dei file sensibili e permetterne la visualizzazione solo a determinati utenti del team.

Gli allegati vengono criptati e solo gli utenti autorizzati possono visionarli

Anche in questo caso, mi vengono in mente tanti ma tanti utilizzi di questo addon. Di sicuro lo proveremo 😀

 

Weekly Commitment

Concludiamo con questo addon, sviluppato dalla Stiltsoft. Si tratta di un addon che permette di fissare degli obbiettivi e di segnalarli nelle varie issue.

Si tratta di un addon che aiuta nel focalizzarsi su determinati obbiettivi, cercando di fissare delle scadenze sulle varie issue

Anche questo addon è molto importate, perchè aiuta, quando prendiamo degli impegni: Possiamo sempre tenere sotto controllo gli impegni presi e verificare i risultati, per accertare se abbiamo raggiuntio l’obbiettivo :-). Anche questo addon sarà opportunamente testato. Sono curioso 😉

 

Conclusioni

Da questo post abbiamo imparato che le sorprese non finiscono mai. Abbiamo tanti addon di cui parlare che …. non basta un blog. Nei prossimi post cerceremo di testare e riportare i risultati e le possibilità offerte da questi addon :-D. STAY TUNED.

 

Reference

Maggiori informazioni sono presenti nell’articolo originario, in inglese, da cui mi sono ispirato per scrivere questo post.




Elements per JIRA – Test addon

Esplorazione continua

In questo post continuiamo a testare l’addon Elements della Valiantys. Cerchiamo di scoprire come si comporta, limiti, vantaggi e svantaggi.

 

 

Installazione

Partiamo come sempre dalla installazione. Dato che questo addon è disponibile sia per Cloud che per Server, in questo test andremo ad eseguire il test direttamente sul nostro sistema cloud di produzione, per aver edie dati abbastanza reali. Cerchiamo, nella sezione degli addon, il nostro Elements.

Selezioniamo Free trial

… accettiamo le condizioni e la licenza …

… lasciamo che si attivi la procedura di installazione ….

… lasciamo che si completi …

… quindi attendiamo che si attivi la procedura che aggiorna la sottoscrizione …

… lasciamo che si aggiornino le licenze …

… che richiede qualche minuto …

… lasciamo che si completi ….

… fino al messaggio finale che ci segnala che l’installazioen è terminata

Passiamo adesso alla fase successiva.

 

Configurazione

Per configurare il tutto, dobbiamo andare nella sezione di amministrazione del progetto, come mostrato nella sgeunete figura:

dove abbiamo la sezione Elements e da dove andiamo a configurare il tutto. Creiamo il nostro pannello, dove andremo a posizionare tutte le informazioni di cui abbiamo bisogno.  Come mostrato nella figura successiva:

possiamo definire diverse tipologie di campi, non ultima possiamo definire anche dei campi calcolati (lo si vede bene nella figura precedente). Passiamo al test adesso:

Test addon

Andiamo a leggere i dati da una qualsiasi issue ed il risultato è il seguente:

Ma non è finita. Possiamo anche definire dei totali sulle colonne. Semplicemente, come mostrato dalla seguente figura:

indichiamo la formula da mostrare nel footer della griglia, ed il gioco è fatto. Il risultato è il seguente:

Non indifferente 🙂

 

 

Conclusione

Interessante e moooolto utile. Possiamo definire delle griglie di informazioni sulla issue, che possono essere utilizzate per vari usi, dal più semplice (ovvero compilare delle informazioni durante le diverse fasi di lavorazione della issue), al più compilato (note aggiuntive sulla issue che prevedono anche delle informazioni particolari). Ho diverse idee su come usare questo addon.

 

Reference

Maggiori informazioni sono presenti alla pagina del Marketplace. Il seguente video, del produttore, spiega (in inglese) e descrive l’addon.

 

 




Un aiuto alle traduzioni su JIRA – Test addon

Affrontiamo un argomento delicato

In questo post andremo ad affrontare un argomento molto delicato, soprattutto qui in Italia: Le traduzioni. Andiamo ad analizzare un addon per JIRA che ci dovrebbe dare supporto per tale scopo.

Installazione

Partiamo, come sempre dalla installazione dell’addon. Come sempre, andiamo a cercare nella apposita sezione di amministrazione l’addon che vogliamo installare:

Selezioniamo Free trial  per attivare la procedura di installazione …

… lasciamola esaurire …

… fino a quando non richiede l’installazione della licenza. ….

…. Selezionare Get license per attivare il processo automatico di installazione della licenza….

…. e lasciamo quindi applicare la stessa al nostro server …

…. fino al completamento della stessa. Passiamo alla fase successiva.

 

Configurazione

Proseguiamo con la configurazione. Dato che abbiamo introdotto dei campi custom, ci concentreremo su questo punto in maniera più dettagliata possibile.

Un piccolo appunto

Di sicuro vedrete questo messaggio: Dato che si tratta di una modifica ai campi, viene richiesto di eseguire una operazione di re-index. Infatti avrete visto (difficile non vederlo) questo messaggio:

Seguite le indicazioni del link e procedere con una operazione prima di usare i campi.

Partiamo proprio da questo punto e notiamo che sono stati introdotti nuovi tipi di campo, che presentano il prefiso Translate. A questo punto testiamo uno di questi e verifichiamo come si comporta 🙂  .

Configuriamo una dropdown list, impostando delle opzioni di test 😛

Confermiamo la creazione e andiamo avanti. Abbiamo il nostro nuovo campo. Verifichiamo che cosa introduce adesso l’addon andando ad esplorare le configurazioni del nuovo campo.

Selezioniamo il Cog menù e vediamo le seguenti opzioni:

Andiamo a configurare le nostre opzioni, che abbiamo definito nella creazione del nuovo campo e…. notiamo che è presente un nuovo menù: Translate.

Se lo andiamo a selezionare per una qualsiasi delle opzioni (option 1), questo è il risultato:

ovvero una form dedicata che ci permette di inserire il testo con la traduzione.  A questo punto impostiamo una traduzione per la lingua portoghese e procediamo con il test 🙂

 

Test

Adesso che abbiamo configurato il tutto, procediamo con il test di traduzione. Se andiamo a vedere una qualsiasi issue, in cui è presente il nuovo campo definito, questo è il risultato:

Se andiamo a maneggiare il profilo utente, impostando la lingua portoghese, come mostrato dalla seguente figura:

…. questo è il risultato ottenuto, ovvero abbiamo la traduzione del campo e della opzione (in questo caso ho impostato un valore completamente differente rispetto a option 1 proprio per far notare la differenza nel caso di traduzione).

 

 

Conclusioni

Non posso che usare una sola parola: S P E T T A C O L O :-D. Questo addon permette di poter eseguire delle traduzioni in maniera molto lineare e semplice, permettendo di ottenere un risultato, appunto, spettacolare.  Lo consiglio senza alcun dubbio.

 

Reference

Maggiori informazioni sono presenti nella pagina del Marketplace.