Inviare una mail da Scriptrunner utilizzando JETI (Email This Issue)

JETI è un plugin molto utile se si desidera personalizzare le mail inviate da JIRA. E’ possibile modificare sia le mail in ingresso che in uscita, è possibile attivare l’invio mal solo per certi contesti e aggiunge una post-function per inviare mail durante le transizioni. Nel caso ci fisse bisogno di invocare un invio di … Leggi tuttoInviare una mail da Scriptrunner utilizzando JETI (Email This Issue)

Aggiungere una nuova orgranizzazione a un progetto Service Desk

Con queste righe di codice potrete aggiungere una nuova organizzazione ad un progetto Service Desk import com.atlassian.jira.component.ComponentAccessor import com.atlassian.servicedesk.api.ServiceDeskManager import com.atlassian.servicedesk.api.organization.CustomerOrganization import com.atlassian.servicedesk.api.organization.OrganizationService import com.atlassian.servicedesk.api.util.paging.SimplePagedRequest import com.onresolve.scriptrunner.runner.customisers.WithPlugin @WithPlugin ( “com.atlassian.servicedesk” ) def serviceDeskManager = ComponentAccessor. getOSGiComponentInstanceOfType (ServiceDeskManager) def organisationService = ComponentAccessor. getOSGiComponentInstanceOfType (OrganizationService) def adminUser = ComponentAccessor. userManager .getUserByKey( “admin” ) def project = ComponentAccessor. … Leggi tuttoAggiungere una nuova orgranizzazione a un progetto Service Desk

Come leggere da un file CSV allegato ad una Issue

Se vogliamo leggere il contenuto di un file CSV allegato ad una issue possiamo utilizzare queste poche righe di codice sfruttando la libreria già presente in jira “com.mindprod.csv.CSVReader”. Questa libreria contiene anche la parte delle routines di scrittura di un file CSV. In presenza di più files allegati basta aggiungere un “if” che scarti i … Leggi tuttoCome leggere da un file CSV allegato ad una Issue

Come modificare il contenuto di un campo Select

Utilizzando i “Behaviours” è possibile modificare in tempo reale il contenuto di un campo select che potrebbe contenere opzioni che vanno eliminate o aggiunte a in particolari condizioni. Il seguente codice confronta i valori esistenti con un array di valori permessi e crea una variabile che contiene i solo i valori permessi e sovrascrive i … Leggi tuttoCome modificare il contenuto di un campo Select

Come impostare le dashboard dei propri gruppi di appartenenza come preferite

Con questo script che può essere creato all’interno di un Listener di Scriptrunner è possibile recuperare tutti i gruppi di un utente ed impostare come preferite tutte le dashboard che sono state condivise con i gruppi di utenti ai quali si appartiene. Si può facilmente modificare il codice per modificare i criteri di impostazione con … Leggi tuttoCome impostare le dashboard dei propri gruppi di appartenenza come preferite

Come recuperare i campi presenti in uno screen

Per recuperare la lista dei custom fields presenti in uno screen si può usare il seguente codice import com.atlassian.jira.issue.fields.screen.FieldScreenManager def fieldManager = ComponentAccessor.getFieldManager(); def fieldScreenManager = ComponentAccessor.getComponent(FieldScreenManager.class); def fieldScreens = fieldScreenManager.getFieldScreens() def sc = fieldScreens.find { /* in questo modo viene cercato lo screen per nome */ it.name.startsWith(“XXXXXX”) } def rr = sc.getTab(0) def a … Leggi tuttoCome recuperare i campi presenti in uno screen

Connessione diretta al database

Se fosse necessario collegarsi con groovy per query dirette al database è possibile farlo attraverso il seguente codice con drivers differenti a seconda del DB utilizzato MYSQL (JIRA < 7.5): net.sourceforge.jtds.jdbc.Driver MYSQL (JIRA > 7.5): com.mysql.jdbc.Driver SQL Server: com.microsoft.sqlserver.jdbc.SQLServerDriver In questo caso leggiamo dalla tabella del DB contenente la lista delle issue. import groovy.sql.Sql import java.sql.Driver … Leggi tuttoConnessione diretta al database

Come recuperare il Project Lead

A volte può servire avere un utente specifico che possa, all’interno del progetto, alcun privilegi particolari definiti nel permission schema e che può coincidere con il Project Lead. Questo è il modo per recuperarlo: import com.atlassian.jira.component.ComponentAccessor def projectManager = ComponentAccessor.getProjectManager() def project = projectManager.getProjectObjByKey(“<key>”) def projectLead = project.getProjectLead()