Come nascondere elementi su Confluence

Tips & Tricks

In questo post riportiamo alcuni consigli per …. nascondere gli elementi su Confluence, sia in visualizzazione che in stampa.

 

Cosa abbiamo a disposizione?

Il primo suggerimento che riportiamo è quello presente al seguente link, dove viene spiegato come nascondere degli elementi, andando a giocare con CSS ed affini.

Per attuare ciò, occorre selezionare, nella configurazione degli space, la sezione Look and Feel, Custom HTML.

dove possiamo inserire il nostro codice CSS per limitare la visualizzazione (il link citato fornisce diverse indicazioni sugli oggetti che possiamo nascondere).

Se vogliamo invece avere queste opzioni limitate ad un solo spazio, possiamo agire nella stessa posizione ma relativa allo space.

Che alternative abbiamo?

Possiamo definire una macro (solo per la versione server, su cloud questa funzione è stata disabilitata), come descritto in questo documento, che spiega come realizzare il tutto. La macro può essere utilizzata ovunque, rendendo implementazione molto più semplice: basta semplicemente inserire il testo che non si vuole stap

In questo modo visualizziamo a video, ma non stampiamo 🙂

Che altro possiamo usare?

Possiamo anche utilizzare HideElements for Confluence della tedesca Scandio GmbH che mette a disposizione una serie di macro per …. nascondere elementi di Confluence:

Conclusioni

Abbiamo visionato diverse possibilità per poter nascondere e/o non stampare degli elementi di Confluence. Le possibilità di utilizzo sono molteplici 🙂 e sono sicuro che non mancheranno occasioni per applicare questo barbatrucco :-D.

Reference

Maggiori informazioni sono reperibili, in inglese, ai seguenti link:

  • https://confluence.atlassian.com/confkb/how-to-hide-elements-in-confluence-using-css-or-javascript-313458894.html
  • https://confluence.atlassian.com/conf53/noprint-example-of-a-user-macro-411108920.html
  • https://confluence.atlassian.com/conf53/advanced-pdf-export-customisations-411108705.html#AdvancedPDFExportCustomisations-noprint
  • https://marketplace.atlassian.com/plugins/de.scandio.confluence.plugins.hideelements-macro/server/overview



Aggiungere dei partecipanti ad una issue Service Desk… automaticamente

Altro Tips su JIRA Service Desk

In questo post andremo ad analizzare un semplice suggerimento per aggiungere dei partecipanti ad una issue di Service Desk…. automaticamente, non appena viene creata.

 

Di cosa abbiamo bisogno?

Per realizzare questa funzione, ci baseremo su di un addon che abbiamo già visto: Automation for JIRA (in questo caso andiamo ad usare la versione light, che ci è sufficiente per il nostro lavoro).

 

Quello che andremo a realizzare è una azione specifica, attraverso questo addon, per implementare l’azione che ci interessa. Andiamo ad analizzare i vari passi:

Prima cosa da fare è selezioanare, nel progetto Service Desk che ci interessa, la sezione Project Automation. Da li, come mostrato in figura:

andiamo quindi a generare una nuova regola, usando il template blank

quindi seguiamo la autocomposizione e impostiamo le varie parti della regola

Le condizioni che andiamo ad impostare sono: Su issue creata, come mostrata in figura:

andiamo ad eseguire l’editing della issue, andando a modificare il campo che ci interessa (ed in questo caso ci torna utile il seguente suggerimento, che abbiamo esaminato in passato)

Nella regola andiamo ad inserire il JSON da cui impostiamo il nuovo valore del campo.

Nel nostro caso, il JSON da usare è il seguente:

{
 "update": {
 "labels": [
 {
 "add": "triaged"
 },
 {
 "remove": "blocker"
 }
 ],
 "comment": [
 {
 "add": {
 "body": "Thanks for raising {{issue.key}}."
 }
 }
 ]
 },
 "fields": {
 "customfield_XXXXX": [{ "name":"utente1" }, { "name":"utente2" }, { "name":"utente3" }]
 }
}

e ci permette di eseguire l’operazione richiesta.

 

Alcune avvertenze

Tenete conto che la versione lite dell’addon citato consente di far eseguire solo un numero limitato di operazioni. Se superiamo tale limite, occorre acquistare l’addon non lite.

 

Conclusioni

Abbiamo visto un esempio molto semplice, che ci mostra come possiamo automatizzare delle operazioni. Possiamo però sfruttare il principio per realizzare anche operazioni molto più complesse.

 

Reference

Potete trovare altre informazioni anche ai seguenti link:

  • https://codebarrel.atlassian.net/wiki/display/AUTO4J/Advanced+fields
  • https://confluence.atlassian.com/jirakb/how-to-automatically-add-request-participants-when-creating-an-issue-777026955.html



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.




Un altro piccolo tips

Un altro consiglio

In questo post riporto quando indicato nel seguente articolo, che ritengo essere un ottimo consiglio per JIRA e che riporto volentieri a tutti gli utenti, sperando che sia di aiuto nella gestione di tutti i giorni.

Di cosa si tratta

Indichiamo un modo per raggruppare gli allegati in modo da renderli molto più …. leggibili e trattabili, come mostrato in figura:

 

Interessante, come lo realizziamo?

Semplice. Definiamo un nuovo campo di tipo Text Field (multi-line), come mostrato in figura:

Definiamo il render del campo, attraverso la relativa field configuration, il render del campo, di tipo Wiki Style Render, come mostrato nella figura sottostante:

Il risultato è visibile nella seguente GIF, dove è presente un esempio di come realizzarlo.

Conclusioni

SI tratta di un esempio di come possiamo realizzare un sistema per riorganizzare gli allegati sotto JIRA. Ringrazio l’autore del post per il consiglio, che riporto volentieri in lingua italiana e che spero risulti utile a tutti gli utenti.

 

Reference

L’articolo originario è presente al seguente link.




I produttori di Upraise ci sorprendono con un altro addon – Test addon

Un nuovo addon cloud

In questo post andremo ad esaminare un nuovo addon rilasciato dai produttori di Upraise. Già nei giorni scorsi abbiamo scoperto, con estremo piacere, un altro addon. Vediamo che cosa offre questo 🙂

 

Installazione

Partiamo come sempre dalla fase di installazione. Procediamo sempre cercando il nostro addon nella sezione di amministrazione degli addon.

Una volta trovato, selezioniamo Free trial e …

… accettiamo i termini di licenza selezionando Accept & install

… quindi lasciamo che l’installazione si completi …

… ed una volta completata …

… lasciamo che la sottoscrizione si aggiorni di conseguenza ….

…. aggiornando la licenza del cloud ….

…. fino alla conclusione della fase di installazione.

Passiamo quindi alla gestione della configurazione

verificando se nella sezione degli addon ci sia un menù dedicato.

 

Configurazione & Test

Proseguiamo con la configurazione. Questa è disponibile direttamente nella dashboard del progetto, come mostrato in figura.

Come potete vedere ho riutilizzato il mio progetto di Asset Management, di cui ho parlato in questo post ed altri. Se selezioniamo il tasto indicato nella precedente figura, andiamo a selezionare la configurazione che, come mostrato in figura precedente, ci fa accedere alla sezione di configurazione. Questa è divisa in due sezioni:

  • Rules – Definizione delle rules
  • Templates – Modelli di email da inviare

Nel dettaglio le seguenti figure:

 

Procediamo con la definizione del Template da usare. Andiamo a selezionare il tasto Create e accediamo alla fase di configurazione. Come possiamo vedere, abbiamo a disposizione un editor che ci guida passo passo, con tutte le indicazioni del caso:

Una volta confermato, andiamo a creare la nostra regola che, fantasia mostruosa, si chiamerà DemoRule :-).

Definiamo anche in questo caso in che consistre la regola, quindi andiamo a definire l’azione che deve essere eseguita e, conseguentemente, a chi inviare la mail.

Una volta salvata possiamo inviarla direttamente semplicemente selezionando Send Email. Il risultato è raccolto nella immagine successiva,

dove  è stato raccolto e definita la mail con tutte le informazioni specificate nel template.  Da li si procede con l’invio della release notes che abbiamo definito.

 

Conclusioni

Abbiamo a disposizione un automatismo che ci aiuta a semplificare una fase molto ripetitiva del progetto, in quanto ci permette, con un semplice tasto, di inviare la release notes agli utenti che interessano, con direttamente settate tutte le informazioni che interessano.

 

Reference

Maggiori informazioni sono reperibili alla relativa pagina del marketplace.




Conversation for Confluence – test Addon

Novità da Codegeist

In questo post proseguiamo l’esplorazione del Codegeist della Atlassian. Andiamo a esaminare la proposta della tedesca K15

Direttamente da K15t Team

Ancora grazie al gruppo che ha sviluppato questo prodotto (Foto scattata all’ Atlassian Summit – Barcellona – 2017):

Installazione

Partiamo come sempre dalla installazione. Andiamo a cercare il nostro addon nella sezione degli addon.

Selezioniamo Free trial per eseguire l’installazione …

… accettiamo la licenza e procediamo ….

… con l’installazione, come siamo già ben abituati …

… fino alla sua conclusione …

… quindi lasciamo che si aggiornino le sottoscrizioni  …

…e le licenze cloud …

… questa operazione richiede qualche istante ….

… fino alla conclusione della stessa :-).

Non appena selezioniamo Get started siamo subito rediretti alla pagina delle spiegazioni, dove gli autori hanno indicato tutti i dettagli per l’utilizzo dell’addon.

 

 

 

Configurazione

Non abbiamo alcuna configurazione da fare .

 

Test come se piovesse

Andiamo subito a testare, seguendo le indicazioni che ci sono state fornite.  Apriamo una pagina in editazione (in questo caso ho aperto una pagina del mio Confluence Cloud, in cui ho riportato le indicazioni dei miei corsi), come mostrato in figura:

Notiamo subito in basso il link per attivare la conversazione: Lo andiamo a selezionare e procedimao con invitare alla collaborative edit un altro utente e la seguente figura:

mostra il primo risulatato. In basso appare la mia faccia. Unica osservazione: Vi sarà richiesto di autorizzare telecamera e microfono dal browser. Autorizzate senza problemi.

Ho completato la prova utilizzando un altro computer, con opportuna utenza, che si trovava ad almeno 2 metri di distanza, per evitare complicazioni e strani rumori.

 

Conclusioni

S P E T T A C O L O 🙂 Confermo che questo addon mi piace tantissimo. Ho provato a connetterlo con un altro utente del mio Confluence Cloud e il risultato è spettacolare. Ovviamente non visualizzo il risultato (vedermi saltare da un computer all’altro non è proprio il massimo 😛 ), ma il risultato che ho visto è grandioso. Lo consiglio come Addon INDISPENSABILE per le installazioni cloud.

Reference

Maggiori informazioni sono presenti nella pagina del codegeist e nella pagina del marketplace.




Tips per tutti i giorni – Come rendersi la vita più semplice.

Un piccolo tips per migliorare la vita

In questo post ci limitiam a dare un semplice consiglio, che ci può migliorare la vita. Prendo spunto da questo articolo della community che segnalo. Li si trovano tanti spunti e tante soluzioni a molte situazioni e problemi che ci assillano ogni giorno.

Come recuperiamo gli allegati cancellati su di un Confluence Cloud?

Supponiamo di prendere, sempre su cloud, una pagina con una immagine:

Cancelliamo la pagina. Come riusciamo a recuperare il tutto? Semplice. Andiamo a nella sezione di amministrazione dello space e nella sezione Content tools. 

Andiamo ad eseguire il restore della pagina e come per magia….

ecco di nuovo l’allegato.

Conclusioni

Si tratta di un semplice esempio. Invito i lettori a consultare la Community per cercare la risoluzione dei vari problemi/consigli.




Un piccolo suggerimento per JIRA Server

Un piccolo suggerimento

In questo post andremo a vedere un semplice trucco, per JIRA Server, che ci permette di poter resettare una password …. quando siamo in emergenza.

 

Scenario

Nel caso in cui non ricordiamo la password di una determinata utenza, e non riusciamo a resettarla attraverso le operazioni standard (non abbiamo il server di posta configurato), siamo un pò nei guai. Se poi si tratta della utenza di amministrazione, siamo parecchio nei guai.

 

Come rimediamo?

Se abbiamo a disposizione JIRA Server, quello che possiamo fare è seguire le indicazioni riportate in questo articolo ufficiale, in cui andiamo a metter mano al database, cercando di prestare la massima attenzione.

ATTENZIONE

Lo so. Sono ripetitivo, ma lo faccio a fin di bene. Quando mettere mano a database, assicuratevi di andare esattamente dove volete intervenire, non toccare le altre parti e …. fare sempre dei backup

Intervento

Se volete resettare la password del vostro utente XXXX, occorre eseguire il seguente SQL, dove possiamo eseguire il reset della password.

update cwd_user set credential=’uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==’ where user_name=’XXXX’;

Questo codice permette di resettare la password a sphere, permettendoci di accedere e, successivamente, andare a eseguire il reset con le normali procedure.

 




Alcune considerazioni su JIRA Service Desk e le mail

JIRA Service Desk e le mail

In questo post cercheremo di fare il punto della situazione su di un argomento complesso e richiesto di JIRA Service Desk (o JSD): La gestione delle issue attraverso le mail 🙂

Premesse: la gestione della mail

JSD permette di poter gestire le varie segnalazioni anche attraverso l’utilizzo di una email, come riportato nella documentazione (in inglese) ufficiale di Atlassian.

Questo canale di comunicazione può benissimo essere utilizzato per gestire le segnalazioni dei clienti. Infatti, estende una funzionalità già presente su JIRA, e che ho già avuto modo di utilizzare agli arbori della mia esperienza sui prodotti Atlassian: generare delle issue/commentare delle issue preesistenti via email, configurando un mail handler, come mostrato in figura.

L’attuale versione server (al momento in cui ho iniziato ad analizzare il problema ho fatto riferimento alla versione 3.2.6), permette un minimo di customizzazione, mentre la versione cloud (al momento in cui ho iniziato ad analizzare il problema ho fatto riferimento alla versione 3.3.0) aumenta le possibilità di personalizzare la gestione delle mail, consentendo di poter gestire dei modelli di email a seconda delle informazioni. La mail può essere sia del server aziendale, che messa a disposizione dal cloud stesso (nel caso di cloud, abbiamo già tutto configurato).

Una volta configurato il tutto, basta solo inviare una mail su tale account ed il gioco è fatto: la segnalazione di Service Desk è creata e gestita.

Quali operazioni sono consentite?

Le operazioni consentite sono le seguenti:

  • Creazione di nuova issue. In questo caso, l’oggetto della mail diventa il titolo della issue mentre il corpo della mail diventa la descrizione della issue vera e propria;
  • Inserimento di un commento ad una issue preesistente. In questo caso, il corpo della mail viene
  • Cambiare lo stato della issue alla ricezione della mail. Sfruttando le regole di automazione, è possibile far cambiare lo stato della issue automaticamente.

Che altro?

Tutte queste operazioni sono possibili tenendo conto del fatto che, nella email inviata e ricevuto dal JSD, dobbiamo avere a disposizione sempre e comunque la KEY-NUMERO della issue JIRA.

In assenza di issue JIRA, l’engine usato potrebbe non riuscire a riconoscere la issue e, come conseguenza, generare una nuova issue. Questo è un punto di attenzione da tenere sempre sotto osservazione.

Fino a qui tutto normale ma….

Anche se abbiamo rispettato tutte le regole, JSD potrebbe non rispondere ancora correttamente. Si potrebbe avere una situazione in cui nonostante tutto il sistema non funziona correttamente, generando issue come non mai, rischiando di moltiplicare la mole di lavoro.

Abbiamo infatti la segnalazione su JIRA Server (Segnalazione che è stata risolta con la versione server 3.3.0) e sul corrispettivo JIRA Cloud, quest’ultima risolta (risolta con largo anticipo rispetto alla versione server) e attualmente disponibile nelle installazioni in hosting.

Queste segnalazioni ci dicono, in soldoni, che anche se seguiamo tutte le accortezze, possiamo avere delle issue duplicate, nonostante la presenza della nostra KEY-NUMERO della issue JIRA.

Al momento la situazione dovrebbe essere risolta sulla versione server, ma si forniscono le seguenti raccomandazioni per una migliore risoluzione ed evitare delle situazioni borderline:

  • evitare che, quando si inoltra delle mail in cui, oltre alla mail che viene letta da JSD, siano presenti delle altre email (ad esempio si inoltra la mail per aprire la segnalazione a JSD[at]supportojsd-demo.it, supponendo che sia la email configurata, e ad altre due email in cc, quando le altre email in cc rispondono, allora può succedere che queste siano considerate come nuove segnalazioni.
  • consentire la possibilità di poter eseguire l’aggiunta di utenti su JSD (che non inficiano sulla licenza del sistema).
  • aggiungere come partecipant tutti gli utenti che possono partecipare alla discussione, per evitare che un invio accidentale di una mail possa generare nuove issues.

Si tratta di semplici accortezze che dovrebbero ridurre al minimo i duplicati. Non posso garantire in assoluto che si eliminano definitivamente, ma cerca di ridurle ad un numero accettabile e gestibile.

Conclusione

Con questo post iniziamo una serie dedicata a descrivere situazioni in cui possiamo avere dei problemi e come possiamo eventualmente ridurli al minimo accettabile. Cercheremo di trovare soluzioni tali da …. aiutare il più possibile.




Upraise – Ultime novità

Aggiornamenti ed ultime novità

In questo post andremo a segnalare gli ultimi aggiornamenti e le novità su Upraise

 

Migliorata la gestione degli accessi

La gestione degli accessi è stata migliorata, attraverso l’uso dei gruppi di JIRA. Nell’istante in cui viene eseguito l’upgrade alle nuove versioni, viene anche eseguita una prima configurazione. Successivamente gli utenti possono specializzarla di conseguenza 🙂

 

Condivisione migliorata

E’ possibile adesso condividere gli Objective tra i vari Team.  Questo implica la relativa gestione dei permessi e di eseguire questa operazione.

In aggiunta risulta anche possibile clonare, muovere e caricare Objective da un ciclo all’all’altro. L’operatività risulta migliorata.

 

Esportazione

Abbiamo la possibilità di esportare i nostri OKR in Excel, per poterli condividere via mail.

Bug Fix

Ultime ma non ultime, sono state corrette alcune features che davano dei problemi su Oracle.

 

Conclusioni

Si tratta di un prodotto vivo e che occorre sempre tenere sotto controllo. Nei prossimi post cercheremo di analizzare le caratteristiche di questo prodotto.

 

Reference

maggiori informazioni, in lingua inglese, sono presenti nella documentazione ufficiale del prodotto.