Prossime novità dal mondo Atlassian

Alcune ….. anticipazioni

In questo post raccogliamo alcuni rumors ed anticipazioni sui vari prodotti della Atlassian.

JIRA si fa in tre …

Risultati immagini per jira core

Risultati immagini per jira software

Risultati immagini per jira service desk

La prima novità che salta all’occhio è che JIRA viene ristrutturato. Per gli utenti si fa in tre :-). Abbiamo una riorganizzazione non indifferente che si attuerà nei prossimi giorni e che la Atlassian stessa spiega attraverso il suo portale Migration Hub.

Risultati immagini per jira service desk

Presentata ufficialmente il 6 ottobre, sono già presenti delle indicazioni sui blog esteri, dove i vari partner iniziano a presentare i nuovi prodotti in orbita JIRA. Qualche indicazione la trovate qui, in lingua inglese e qui in lingua spagnola. Aggiungo anche una piccola curiosità, che ho trovato in rete: Anche Jessica Alba usa JIRA 🙂

Abbiamo una nuova pacchettizzazione dei vari prodotti, il cui risultato è la seguente ristrutturazione:

JIRA Software

Si tratta della fusione del vecchio JIRA con JIRA Agile, con l’obbiettivo di mettere a disposizione uno strumento dedicato agli sviluppatori. In questo modo si dispone di uno strumento pronto all’uso e prettamente dedicato allo scopo.

Risultati immagini per jira software

JIRA Service Desk

JIRA Service Desk raggiunge la versione 3 e cresce a sua volta.

Risultati immagini per jira service desk

L’obbiettivo di JIRA Service Desk è quella di implementare una versione di Service Desk . Di primo acchitto, mi viene da dire che si vuole creare una versione Isolata di JIRA Service Desk. Attendo di assistere alle presentazioni per meglio capire che cosa si vuole fare.

JIRA Core

Risultati immagini per jira core

Fa la sua comparsa JIRA CORE. Si tratta di una pacchettizzazione dedicata ai NON Sviluppatori. Con questa operazione, la Atlassian intende creare una pacchettizzazione dedicata a tutti coloro, che non si occupano prettamente di sviluppo software, che necessitano di un sistema di tracciatura delle segnalazioni/anomalie/implementazioni.

Conclusioni

Grandi novità all’orizzonte. Attendo di partecipare ad un evento, in quel di Bologna, in cui sarà presentato JIRA 7. Seguiranno degli ulteriori post, appositamente dedicati all’evento, in cui descriverò meglio le caratteristiche.




Come usare JIRA e Confluence ….. #3

Come usare JIRA e Confluence per ……

Proseguiamo questa serie di articoli che tentano di spiegare come usare Confluence e JIRA per ulteriori scopi. In questo post andremo a vedere come usare Confluence e JIRA per ….. la gestione delle commesse.

 

Come possiamo organizzare il tutto

Possiamo pensare di impostare questa organizzazione. Come per la gestione degli Asset, vista nei precedenti post, possiamo sfruttare questo concetto e definire un Issue Type Commessa. In questo modo abbiamo la seguente situazione:

  • Una identificazione univoca delle Commesse. Possiamo in questo modo facilmente ricercarle sfruttando la ricerca che JIRA le mette a disposizione 
  • Possiamo gestirle con un opportuno Workflow, consentendo una gestione mirata 
  • Possiamo anche sfruttare i subtask per gestire tutte le attività che ricadono sotto la commessa. Il vantaggio è di dettagliare in maniera quasi completa tutti i lavori svolti e di avere il totale delle ore dedicate. Con delle semplici interrogazioni possiamo tenere sotto controllo la spesa della commessa 
  • Sfruttiamo Confluence per inserire la documentazione della commessa, specificando tutte le informazioni, cliente di riferimento, persona responsabile, lavori che devono ricadere su tale commessa 

Conclusioni

Abbiamo visto un semplice esempio di come possiamo sfruttare le funzionalità di JIRA e Confluence per gestire una situazione di tutti i giorni. Nei prossimi post andremo a vedere come realizzare una possibile implementazione.




Come usare Confluence e JIRA per …. #2

Come usare Confluence e JIRA per …..

Proseguiamo con lo scrivere questi post in cui cerchiamo di descrivere come poter usare Confluence e JIRA per poter realizzare un piccolo sistema di gestione degli ordini di acquisto/vendita.

Come possiamo realizzare il tutto?

Allo stesso modo con cui abbiamo realizzato il precedente esempio, possiamo utilizzare JIRA e JIRA Agile per gestire gli ordini di acquisto, vendita.

Ogni ISSUE JIRA rappresenta il nostro ordine di acquisto/vendita. Opportuni campi custom possono aiutare nella tracciatura dell’ordine vero e proprio.

Progetti separati, per tracciare gli ordini di acquisto e gli ordini di vendita può aiutare nello svolgere meglio questa attività.

Un opportuno Workflow, studiato per coprire tutte le casistiche possibili o necessarie per lo svolgimento della attività, può essere implementato ed associato ai progetti. In questo caso potrebbe essere necessario implementarne 2: uno per progetto

Successivamente, utilizzando la BOARD della JIRA Agile, possiamo consentire all’utente di poter meglio gestire i vari passaggi di stato, semplicemente spostando la ISSUE da una colonna all’altra.

In aggiunta, possiamo collegare anche delle informazioni relative alla società o alla natura dell’ordine. A tale scopo, Confluence ci viene in soccorso. In questo modo, possiamo sfruttare la potenza e la versatilità di Confluence per poter realizzare tutta la parte di documentazione necessaria. Queste informazioni possono essere poi collegate tramite campi custom

Risultato

Possiamo disporre di un sistema semplice per arrivare a gestire delle situazioni molto complesse, sfruttando la semplicità di questi strumenti. Nei prossimi post proveremo a sviluppare questa idea e cercheremo di realizzare un prototipo.




JIRA Addons dedicati al test – Una review generale

Tiriamo i fili

Un questo post cercheremo di fare una carrellata di tutti gli addon JIRA, dedicati alla gestione dei test. In questa fase cercheremo di fornire quali criteri saranno usati. In un secondo post, sarà eseguito il confronto.

L’obbiettivo è quello di fornire tutte le informazioni necessarie per poter …. scegliere con criterio. Anche se abbiamo delle necessità, molto spesso è il portafoglio che ci aiuta nella scelta. Di conseguenza, cerchiamo di mettere in fila tutte le informazioni che abbiamo e cerchiamo di dare delle indicazioni più complete possibili per aiutare nella scelta 🙂

Come confrontiamo? Come Scegliamo?

Prezzo

Tra i vari parametri che andremo a confrontare, di sicuro andremo a verificare il costo di licenza. Non tutti possono spendere a piacimento, anche le aziende più importanti.

Funzionalità offerte

Andremo a fare un mini-confronto con le funzionalità offerte. Ci saranno addon che offrono di più ed altri che lavorano in modo particolare. Di questo andremo a fare il controllo.

Facilità di uso/Integrazione con JIRA

Vedremo anche come questi addon si integrano con JIRA. Sarà fornita una valutazione della facilità di uso, parametro non indifferente.

 

Quali addon?

Gli addon che saranno analizzati sono i seguenti:

Si tratta di Addon che ho già analizzato ma, in questa occasione, sono messi a confronto. 🙂

Sono sicuro che avremo delle belle sorprese.

Una piccola ma enorme precisazione

Questo confronto non ha assolutamente intenzione di stabilire un vincitore, tra i vari addon citati. Tutt’altro. Questo confronto vuole aiutare gli utenti a comprendere meglio come decidere quale addon scegliere per svolgere la propria attività, senza fornire una preferenza particolare. In questo modo gli utenti possono anche scegliere di usare un addon per determinati progetti ed un secondo addon per altri.

Conclusioni

Nei prossimi post approfondiremo l’argomento di questo post. 🙂




JIRA Service Desk – Ultime News

JIRA Service Desk – Ultime News

In questo post andremo ad esaminare le ultime novità relative a JIRA Service Desk.

In dettaglio

Dal mese di settembre, la versione cloud è arrivata alla 3.0.0 :-). In aggiunta, ogni settimana viene eseguito un aggiornamento di versione. Partiamo dal primo aggiornamento e proseguiamo di conseguenza 🙂

E’ stata aggiornata la pagina di presentazione, il wizard che guida nelle prime fasi di configurazioni del JIRA Service Desk, come mostrato nella figura

E’ stata resa più agevole la possibilità, da parte degli agenti, di condividere gli attachments con gli utenti.

In aggiunta sono stati rilasciati diversi bug fix.

Conclusioni

Continua la fase di miglioramento continuo del JIRA Service Desk. Rimaniamo in attesa di ulteriori sorprese 😀

Reference

Maggiori informazioni sono reperibili qui.




Come usare Confluence e JIRA per …. #1

Come usare Confluence e JIRA per ….

In questo post inauguriamo una piccola innovazione. Cerchiamo di dare degli spunti su come è possibile usare questi meravigliosi strumenti, anche per compiti NON IT 🙂

Cosa possiamo fare?

Un esempio che mi viene in mente è quello di poter usare Confluence e JIRA per poter …. censire le offerte di lavoro, arrivando ad avere un controllo completo di ciò che succede in azienda. Come possiamo arrivare a gestire le nostre proposte/offerte di lavoro?

Possiamo usare JIRA per:

  • usare le issue come se fossero delle offerte (basandosi sull’esempio della realizzazione di un Asset manager, dove le issue sono usate per censire gli asset di una azienda;
  • usare il JIRA Workflow per poter gestire i passaggi di stato della offerta, fino a gestire l’intero ciclo di vita del lavoro proposto.
  • Usare JIRA Agile per gestire i passaggi di stato. Sfruttiamo la possibilità di poter visualizzare in un sol colpo lo stato di tutte le commesse e sfruttare i tool che JIRA Agile mette a disposizione

Possiamo usare Confluence per:

  • Documentare l’offerta di lavoro, impostando dei template standard, dove riportare tutte le informazioni dell’offerta, da quando è stata proposta al cliente fino alla sua conclusione 
  • Impostare tutte le informazioni documentali, quali documenti inviati, documenti ricevuti dal cliente e segnalazioni varie. Confluence viene usato più per tracciare tutti i documenti ;

Conclusioni

Questo è solo una idea di come poter implementare una possibile soluzione, sfruttando le funzionalità che i due prodotti mettono a disposizione. Infatti è possibile realizzare delle soluzioni non indifferenti :-).

Nei prossimi post cercheremo di dettagliare meglio questa soluzione, arrivando a fornire pro e contro della soluzione e verificando fino a che punto possiamo spingerci con questi strumenti 😀

 




TEMPO – un addon indispensabile per JIRA

Tempo – Addon indispensabile

In questo post andremo ad esaminare un addon indispensabile per gli utilizzatori di JIRA. Si tratta di TEMPO. Vedremo che cosa offre, quali funzionalità mette a disposizione e quali possibilità offre.

First look

Fondamentalmente, TEMPO consente di poter facilmente tracciare dei consuntivi delle ore di lavoro. Il suo obbiettivo è quello di agevolare il lavoro degli utilizzatori di JIRA, tracciare facilmente le ore di lavoro e consentire ai manager /project manager di poter monitorare l’andamento degli stessi progetti.

Dalla precedente immagine, vediamo che consente una veloce e rapida imputazione dei dati delle ore, consentendo di poter facilmente discriminare tra le varie attività svolte e agevolando il lavoro degli utilizzatori (mi permetto di sottolineare l’uso di questo termine, in quanto questo addon si presta bene a chiunque utilizzi JIRA per tracciare le ore di lavoro, quindi non solo sviluppatori software, ma anche progettisti o chiunque lo utilizzi).

L’addon mette a disposizione agevoli schermate video che consentono una maggiore visibilità delle informazioni, anche nel caso di utenti coinvolti in più progetti.

Report e grafici sono messi a disposizione per monitorare gli andamenti dei progetti, degli sforzi degli utilizzatori nei vari progetti.

Viene messa a disposizione anche la possibilità, per gli utilizzatori, di poter inserire la pianificazione di ferie/permessi.

Da sottolineare anche la presenza di Gadget, indispensabili per creare delle dashboards omnicomprensive e ricche di informazioni. Questo lo rende uno strumento completo ed indispensabile per svolgere le proprie attività.

Agevoli strumenti sono messi a disposizione per tracciare i timesheet, monitoraggio e pianificazione delle attività.

Conclusioni

SI tratta di uno degli addon più completi e sicuramente indispensabili. Disponibile sia per installazioni server, che per installazioni cloud, è sicuramente lo strumento ideale per la gestione dei progetti. Nei prossimi post andremo ad eseguire la solita prova su strada dell’addon e, successivamente, forniremo una comparazione con altri strumenti che svolgono operazioni simili, come già mostrato nel seguente post:

Reference

 




JIRA Workflow – Approfondimenti

Approfondiamo l’argomento

In questo post andremo ad approfondire l’argomento Workflow, già trattato in:

Cercheremo, in questa prima fase, di capire che funzionalità abbiamo a disposizione, cercando in una seconda fase di applicarle a dei casi reali.

Nel dettaglio

Come JIRA Administrator è possibile operare le seguenti azioni su di un Workflow:

  • Triggers –  Si tratta di  impostare delle azioni specifiche da eseguire in determinate condizioni / transazioni.
  • Conditions – possibilità di poter impostare delle condizioni per poter eseguire determinate transazioni.
  • Validators – intesa come validazione dei dati, affinché rispettino determinate condizioni
  • Post functions – intesa come l’esecuzione di operazioni dopo che una issue è passata da uno stato all’altro
  • Properties – si tratta di coppie di valori che possono essere usate per estendere le proprietà, come informazioni aggiuntive del workflow.

Andiamo ad esaminare nel dettaglio le varie componenti.

 

Triggers

Questi strumenti sono utilizzati prevalentemente per integrare determinate azioni del workflow con gli strumenti di sviluppo quali Stash o FishEye/Crucible. La seguente tabella riassume quali azioni possono essere eseguite.

WF-03-01

Di conseguenza, se non si dispone di un link a tali strumenti, i trigger non risultano usabili. Questo lo andremo a verificare con i nostri test. 🙂

 

Conditions

Si tratta condizioni che possono essere impostate nelle varie transazioni di stato del Workflow. Possiamo, ade esempio, impostare le seguenti condizioni:

  • Consentire al solo reporter di eseguire una transizione di stato. Si tratta di una condizione molto rigida: Si consiglia una attenta valutazione prima di impostare una condizione del genere;
  • Consentire ad un insieme di utenti di poter eseguire una transizione di stato. SI tratta di una condizione molto rigida anche questa.
  • Poter eseguire una transizione di stato solo dopo aver eseguito la commit.

Validators

Con questa funzionalità, riusciamo ad impostare una validazione dei dati che sono inseriti prima della transazione di stato. Se questa fase non viene passata, la transazione di stato non viene eseguita e le operazioni successive non sono eseguite.

In questo modo possiamo accertarci di aver inserito correttamente tutte le informazioni, nell’ambito di una issue. Possiamo finalmente avere delle issue complete in ogni fase della lavorazione 🙂

 

Post functions

Si tratta di operazioni, di corollario, che possono essere impostate per essere eseguite dopo che la transazione di stato è stata eseguita. In questo modo possiamo impostare delle funzionalità aggiuntive. SI tratta di una funzionalità non indifferente 🙂

Possiamo settare lo stato di una linked issue, in modo da sbloccarla in … automatico. Questo sicuramente ci può aiutare nella sincronizzazione dei gruppi di lavoro. Supponiamo che una nostra issue blocca il lavoro di un altro gruppo. Con questa semplice azione possiamo segnalare in automatico che possono procedere con la lavorazione di una determinata anomalia. Immaginatevi se i gruppi di lavoro sono a distanza l’uno dall’altro.

Possiamo anche andare a settare un campo in funzione del contenuto di un’altro. Le possibilità sono molteplici. 😀

 

Properties

Si tratta di coppie di valori (codice/valore) che sono usate per estendere le proprietà di un workflow.

Un possibile uso può essere quello di impostare delle restrizioni in base ai valori delle properties impostate.

 

Conclusioni

In questo post siamo andati un in profondità sui Workflow. Abbiamo visto come è possibile estendere queste nuove funzionalità, come poter impostare diverse condizioni, validazioni ed estendere il Workflow con nuove proprietà. Nei prossimi post andremo a vedere un esempio di utilizzo di queste, applicandoli a situazioni già descritte.

 




User Macro – Un semplice esempio di utilizzo

User Macro

In questo post andremo ad consultare un articolo presente in questo blog, che ritengo molto interessante. Lo esamineremo e cercheremo di approfondire l’argomento, in quanto lo ritengo un ottimo esempio didattico.

Andiamo in dettaglio

L’articolo del blog spiega come realizzare una alternativa alla macro Space Detail Macrousando le macro per ottenere un risultato migliore 🙂

In particolare il risultato che offre con la sua macro è il seguente:

L’ho scelto perché si tratta di una macro molto semplice e, dal punto di vista didattico, la macro risulta realizzata molto bene.

Vediamo il codice

La configurazione preliminare della macro è molto semplice. La seguente immagine la riassume:

Il codice è molto semplice. Lo riporto di seguito nella sua interessa e successivamente lo andremo ad esaminare pezzo per pezzo, in modo da capire come viene eseguita ogni singola operazione.

## Macro title: Space Meta Data
## Macro has a body: Y or N (N)
## Body processing: Selected body processing option
## Output: Selected output option
##
## Developed by: Andrew Frayling
## Date created: 03/05/2012
## Installed by: <your name>

## Macro to display information such as number of pages, number of blog posts, attachment size, etc. about a Space. 

## @noparams

## Get space details
#set ( $spaceName = $space.getName() )
#set ( $spaceKey = $space.getKey() )
#set ( $spaceHome = $space.getHomePage() )
#set ( $spaceCreator = $space.getCreatorName() )
#set ( $spaceCreationDate = $space.getCreationDate() )
#set ( $spaceDescription = $space.getDescription() )
#set ( $pageCount = $spaceManager.findPageTotal($space) )
#set ( $blogCount = $spaceManager.getNumberOfBlogPosts($space) )

## Get all pages in the current Space
#set ( $allPagesInSpace = $pageManager.getPages($space, true) )

## Reset total attachment file size
#set ( $totalAttachmentFileSizeForSpace = 0 )

## Reset total number of attachments
#set ( $totalAttachmentCount = 0 )

## Loop through all pages in the current Space
#foreach ($page in $allPagesInSpace)
  ## reset the attachment count for each page
  #set ( $pageAttachmentCount = 0 )
  ## reset the attachment file size total for each page
  #set ( $totalFileSizePerPage = 0 )
  ## get the attachments for each page
  #set ( $allAttachments = $page.getAttachments() )
  ## Loop through each attachment
  #foreach ($attachment in $allAttachments)
    ## Increment the attachment count for the page
    #set ( $pageAttachmentCount = $pageAttachmentCount + 1 )
    ## Sum the size of the attachments on the page
    #set ( $totalFileSizePerPage = $totalFileSizePerPage + $attachment.getFileSize() )
  #end
  ## End looping through attachments
  ## Increment total attachment count for the current Space
  #set ( $totalAttachmentCount = $totalAttachmentCount + $pageAttachmentCount )
  ## Sum the total size of attachments for the current Space
  #set ( $totalAttachmentFileSizeForSpace = $totalAttachmentFileSizeForSpace + $totalFileSizePerPage )
#end
## End looping through pages

## Convert attachment size to MBs
#set ( $attachmentSizeMb = ($totalAttachmentFileSizeForSpace / 1024.00) / 1024.00 )

## Display Space Details
<table class="confluenceTable">
  <tbody>
    <tr>
      <th class="confluenceTh">Name</th>
      <td class="confluenceTd">$spaceName</td>
    </tr>
    <tr>
      <th class="confluenceTh">Key</th>
      <td class="confluenceTd">$spaceKey</td>
    </tr>
    <tr>
      <th class="confluenceTh">Description</th>
      <td class="confluenceTd">$spaceDescription.getBodyAsString()</td>
    </tr>
    <tr>
      <th class="confluenceTh">Home Page</th>
      <td class="confluenceTd">#contentLink2($spaceHome true false)</td>
    </tr>
    <tr>
      <th class="confluenceTh">Created By</th>
      <td class="confluenceTd">#usernameLink($spaceCreator) ($action.dateFormatter.formatDateTime($spaceCreationDate))</td>
    </tr>
    <tr>
      <th class="confluenceTh">Number of Pages</th>
      <td class="confluenceTd">$pageCount</td>
    </tr>
    <tr>
      <th class="confluenceTh">Number of Blog Posts</th>
      <td class="confluenceTd">$blogCount</td>
    </tr>
    <tr>
      <th class="confluenceTh">Number of Attachments</th>
      <td class="confluenceTd">$totalAttachmentCount (including all versions)</td>
    </tr>
    <tr>
      <th class="confluenceTh">Total Size of Attachments</th>
      <td class="confluenceTd">$attachmentSizeMb MB</td>
    </tr>
  </tbody>
</table>

Distinguiamo le seguenti sezioni nella macro:

  • Testata
  • Lettura parametri dello space
  • Lettura della dimensione dei vari allegati
  • Visualizzazione dati ottenuti

Andiamo ad esaminarle in dettaglio.

## Macro title: Space Meta Data 
## Macro has a body: Y or N (N) 
## Body processing: Selected body processing option 
## Output: Selected output option 
## 
## Developed by: Andrew Frayling 
## Date created: 03/05/2012 
## Installed by: <your name> 
## Macro to display information such as number of pages, number of blog posts, attachment size, etc. about a Space. ## @noparams

L’Intestazione della macro è quello che avevo già descritto nel mio primo post. In questo caso, l’autore ha realizzato una intestazione molto ben fatta, chiara, semplice e di rapido effetto.

Spiega subito le caratteristiche della macro in poche righe.

## Get space details
#set ( $spaceName = $space.getName() )
#set ( $spaceKey = $space.getKey() )
#set ( $spaceHome = $space.getHomePage() )
#set ( $spaceCreator = $space.getCreatorName() )
#set ( $spaceCreationDate = $space.getCreationDate() )
#set ( $spaceDescription = $space.getDescription() )
#set ( $pageCount = $spaceManager.findPageTotal($space) )
#set ( $blogCount = $spaceManager.getNumberOfBlogPosts($space) )

## Get all pages in the current Space
#set ( $allPagesInSpace = $pageManager.getPages($space, true) )

## Reset total attachment file size
#set ( $totalAttachmentFileSizeForSpace = 0 )

In questa sezione, invece, va a leggere tutte le informazioni dello Space, impostando tutte le variabili con le informazioni che si vogliono visualizzare nella macro. Notiamo le variabili, definite con la sintassi che è stata già spiegata nei precedenti post.

## Reset total number of attachments 
#set ( $totalAttachmentCount = 0 )

## Loop through all pages in the current Space
#foreach ($page in $allPagesInSpace)
  ## reset the attachment count for each page
  #set ( $pageAttachmentCount = 0 )
  ## reset the attachment file size total for each page
  #set ( $totalFileSizePerPage = 0 )
  ## get the attachments for each page
  #set ( $allAttachments = $page.getAttachments() )
  ## Loop through each attachment
  #foreach ($attachment in $allAttachments)
    ## Increment the attachment count for the page
    #set ( $pageAttachmentCount = $pageAttachmentCount + 1 )
    ## Sum the size of the attachments on the page
    #set ( $totalFileSizePerPage = $totalFileSizePerPage + $attachment.getFileSize() )
  #end
  ## End looping through attachments
  ## Increment total attachment count for the current Space
  #set ( $totalAttachmentCount = $totalAttachmentCount + $pageAttachmentCount )
  ## Sum the total size of attachments for the current Space
  #set ( $totalAttachmentFileSizeForSpace = $totalAttachmentFileSizeForSpace + $totalFileSizePerPage )
#end
## End looping through pages

## Convert attachment size to MBs
#set ( $attachmentSizeMb = ($totalAttachmentFileSizeForSpace / 1024.00) / 1024.00 )

In questa sezione del codice, viene eseguito un esempio di ciclo sulle varie pagine, per determinare la dimensione dei vari allegati alle pagine dello Space. Questo è sicuramente un ottimo esempio che mostra come sono reperite le informazioni usando il codice delle macro.

In aggiunta vediamo come eseguire il reperimento dei dati, quali le pagine presenti dentro uno space, e degli allegati. La sintassi non è affatto difficile e consente di poter lavorare agevolmente.

## Display Space Details
<table class="confluenceTable">
  <tbody>
    <tr>
      <th class="confluenceTh">Name</th>
      <td class="confluenceTd">$spaceName</td>
    </tr>
    <tr>
      <th class="confluenceTh">Key</th>
      <td class="confluenceTd">$spaceKey</td>
    </tr>
    <tr>
      <th class="confluenceTh">Description</th>
      <td class="confluenceTd">$spaceDescription.getBodyAsString()</td>
    </tr>
    <tr>
      <th class="confluenceTh">Home Page</th>
      <td class="confluenceTd">#contentLink2($spaceHome true false)</td>
    </tr>
    <tr>
      <th class="confluenceTh">Created By</th>
      <td class="confluenceTd">#usernameLink($spaceCreator) ($action.dateFormatter.formatDateTime($spaceCreationDate))</td>
    </tr>
    <tr>
      <th class="confluenceTh">Number of Pages</th>
      <td class="confluenceTd">$pageCount</td>
    </tr>
    <tr>
      <th class="confluenceTh">Number of Blog Posts</th>
      <td class="confluenceTd">$blogCount</td>
    </tr>
    <tr>
      <th class="confluenceTh">Number of Attachments</th>
      <td class="confluenceTd">$totalAttachmentCount (including all versions)</td>
    </tr>
    <tr>
      <th class="confluenceTh">Total Size of Attachments</th>
      <td class="confluenceTd">$attachmentSizeMb MB</td>
    </tr>
  </tbody>
</table>

Questa è la parte che si occupa della visualizzazione. Notiamo che si tratta di HTML, che sfrutta le classi e le proprietà di Confluence. Vediamo che tutti i risultati delle precedenti elaborazioni sono inserite in questa tabella, in maniera molto rapida.

Conclusioni

Abbiamo analizzato un esempio di macro, molto semplice ma nello stesso tempo, fondamentale. Con esso è possibile comprendere e capire meglio come si può realizzare una macro, come possiamo sfruttare i vari punti del linguaggio per realizzare le funzionalità di cui si abbisogna senza, in questo caso, dover installare nulla :-). Scusate se è poco 😀

Ringraziamenti

Un ringraziamento particolare va all’autore del post blog. L’articolo è ben fatto e, anche se in inglese, è molto chiaro. I complimenti all’autore sono d’obbligo. 🙂

 

 




JIRA Calendar – Un calendario sotto JIRA

Un calendario sotto JIRA

In questo post andremo ad esaminare un altro addon particolare. Si tratta infatti di un Calendario che si può impostare sotto JIRA, utile per le sessioni di progetto.

 

Andiamo in dettaglio

Questo addon mette a disposizione di JIRA un calendario, sul quale agevolmente mostrare le varie Issue e versioni. Disponibile per tutte le installazioni (sulla versione cloud è preinstallato), l’interfaccia offerta risulta abbastanza semplice e chiara, sia come Gadget:

sia come TAB Calendar, presente nel dettaglio del progetto, dove è possibile visualizzare le Issue/versioni del singolo.

Abbiamo la possibilità di poter visualizzarlo anche su iCal o di poterlo mettere a disposizione su qualsiasi sistema che sia in grado di leggere iCal.

Conclusioni

Questo addon è un semplice calendario che possiamo agganciare sotto JIRA. Questa è sicuramente una soluzione per poter disporre di un Calendar avendo a disposizione solo JIRA, senza dover acquistare Confluence e Team Calendar. Nei prossimi post andremo a vedere la prova su strada.