{"id":88942,"date":"2016-01-21T10:22:23","date_gmt":"2016-01-21T09:22:23","guid":{"rendered":"https:\/\/artigianodelsoftware.wordpress.com\/?p=88942"},"modified":"2019-08-06T15:43:43","modified_gmt":"2019-08-06T13:43:43","slug":"script-runner-prova-su-strada-2","status":"publish","type":"post","link":"https:\/\/artigianodelsoftware.it\/blog\/2016\/01\/21\/script-runner-prova-su-strada-2\/","title":{"rendered":"Script Runner &#8211; Prova su strada #2"},"content":{"rendered":"<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right\"><a href=\"javascript: imageToPdf()\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_self\"><img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"Visualizza PDF\" \/><\/a><a href=\"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/88942?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div><blockquote>\n<h1>Prova su strada #2<\/h1>\n<\/blockquote>\n<p>Proseguiamo la prova su strada. Nella prima parte abbiamo visto installazione e configurazione dell&#8217;addon. Passiamo adesso all&#8217;utilizzo.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/marketplace-cdn.atlassian.com\/files\/images\/396d3521-7734-4137-9a47-d7afedf1ea18.png\" \/><\/p>\n<blockquote>\n<h1>Utilizzo addon<\/h1>\n<\/blockquote>\n<p>Vediamo come utilizzare questo addon. Nel post precedente abbiamo visto come installarlo e che cosa offre come configurazione. Passiamo all&#8217;utilizzo vero e proprio :-).<\/p>\n<p>Come prima cosa, generiamo un progetto ad hoc, da usare come banco di prova e capire come su utilizza questo addon. Con molta fantasia, andiamo a chiamare il progetto\u00a0<em><strong>Script Runner Demo<\/strong><\/em> \ud83d\ude1b<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-01.png\" rel=\"attachment wp-att-89020\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89020\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-01.png?w=660\" alt=\"script-02-01\" width=\"660\" height=\"255\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-01.png 1332w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-01-300x116.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-01-768x296.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-01-1024x395.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-01-1200x463.png 1200w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>Questo progetto presenta un Workflow molto semplice. A tale scopo, prima di proseguire, consigliamo la lettura del miei post, <a href=\"https:\/\/artigianodelsoftware.wordpress.com\/?s=workflow+jira&amp;submit=Search\" target=\"_blank\" rel=\"noopener noreferrer\">dedicati al Workflow ed alla loro spiegazione<\/a>. Il nostro progetto di test presenta un workflow molto semplice, come mostrato in figura:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-02.png\" rel=\"attachment wp-att-89021\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89021\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-02.png?w=660\" alt=\"script-02-02\" width=\"660\" height=\"380\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-02.png 745w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-02-300x173.png 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>A questo punto, introduciamo lo scriptrunner. Supponiamo di voler eseguire una riassegnazione automatica della Issue, quando si apre nuovamente la stessa. Vediamo come configurarla. Selezioniamo la transazione che ci interessa:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-03.png\" rel=\"attachment wp-att-89022\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89022\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-03.png?w=660\" alt=\"script-02-03\" width=\"660\" height=\"262\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-03.png 1090w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-03-300x119.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-03-768x305.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-03-1024x407.png 1024w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>Aggiungiamo una\u00a0<em><strong>Post Functions.\u00a0<\/strong><\/em>Selezioniamo\u00a0<em><strong>Script Post-Function<\/strong><\/em>, come tipo di funzione, come mostrato in figura:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-04.png\" rel=\"attachment wp-att-89023\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89023\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-04.png?w=660\" alt=\"script-02-04\" width=\"660\" height=\"340\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-04.png 1005w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-04-300x154.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-04-768x395.png 768w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>Confermiamo ed andiamo a selezionare il tipo di script che vogliamo attivare:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-05.png\" rel=\"attachment wp-att-89024\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89024\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-05.png?w=660\" alt=\"script-02-05\" width=\"660\" height=\"261\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-05.png 1323w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-05-300x119.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-05-768x304.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-05-1024x405.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-05-1200x474.png 1200w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>selezioniamo\u00a0<em><strong>Assign to first member of role<\/strong><\/em>, andando avanti nel wizard &#8230;.<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-06.png\" rel=\"attachment wp-att-89025\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89025\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-06.png?w=660\" alt=\"script-02-06\" width=\"660\" height=\"292\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-06.png 898w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-06-300x133.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-06-768x340.png 768w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>&#8230; selezionaimo il ruolo che ci interessa (nel nostro caso va benissimo anche Administrator). Selezioniamo <em><strong>Add<\/strong><\/em>, confermando a questo punto anche la nostra Post Function \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-07.png\" rel=\"attachment wp-att-89026\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89026\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-07.png?w=660\" alt=\"script-02-07\" width=\"660\" height=\"229\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-07.png 1089w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-07-300x104.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-07-768x267.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/01\/script-02-07-1024x355.png 1024w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>Come mostrato dalla precedente immagine, abbiamo il tutto. Procediamo con una semplice demo. A tale scopo mi servir\u00f2 di un semplice applicativo che registra delle GIF animate e che mostra il risultato \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-08.gif\" rel=\"attachment wp-att-89028\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-89028\" src=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2016\/01\/script-02-08.gif?w=660\" alt=\"script-02-08\" width=\"660\" height=\"327\" \/><\/a><\/p>\n<p>Come possiamo osservare, abbiamo che la Issue, in fase di riapertura, viene riassegnata nuovamente ad Administrator.<\/p>\n<blockquote>\n<h1>Conclusioni<\/h1>\n<\/blockquote>\n<p>Chiudiamo, con questo post, abbiamo visto qui come \u00e8 possibile utilizzare lo Script Runner per poter gestire delle nuove situazioni e poter inserire delle funzioni aggiuntive, non presenti nello standard. Questo \u00e8, al momento, disponibile solo per le versioni SERVER di JIRA, ma non mettiamo mai limiti. Sono sicuro che la Adaptavist ci stupir\u00e0 nel prossimo futuro \ud83d\ude42<\/p>\n<p>Ovviamente questo post non esaurisce l&#8217;argomento: Ci saranno ulteriori post con aggiornamenti.<\/p>\n<blockquote>\n<h1>Reference<\/h1>\n<\/blockquote>\n<ul>\n<li><a href=\"https:\/\/marketplace.atlassian.com\/plugins\/com.onresolve.jira.groovy.groovyrunner\" target=\"_blank\" rel=\"noopener noreferrer\">Marketplace ScriptRunner<\/a><\/li>\n<li><a href=\"https:\/\/scriptrunner.adaptavist.com\/4.1.3.7\/jira\/quickstart.html\" target=\"_blank\" rel=\"noopener noreferrer\">Manualistica Addon<\/a><\/li>\n<\/ul>\n<div class=\"clearfix\"><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'88942','like')\" >Likes<img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/like-dislike-counter-for-posts-pages-and-comments\/images\/up.png\" \/>(<span>0<\/span>)<\/span><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'88942','dislike')\" >Dislikes<img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/like-dislike-counter-for-posts-pages-and-comments\/images\/down.png\" \/>(<span>0<\/span>)<\/span><\/div>","protected":false},"excerpt":{"rendered":"<p>Prova su strada #2 Proseguiamo la prova su strada. Nella prima parte abbiamo visto installazione e configurazione dell&#8217;addon. Passiamo adesso all&#8217;utilizzo. Utilizzo addon Vediamo come utilizzare questo addon. Nel post precedente abbiamo visto come installarlo e che cosa offre come<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","footnotes":""},"categories":[3,14,15,17,22],"tags":[30,34,58,70,74,75,89],"_links":{"self":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/88942"}],"collection":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/comments?post=88942"}],"version-history":[{"count":2,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/88942\/revisions"}],"predecessor-version":[{"id":94540,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/88942\/revisions\/94540"}],"wp:attachment":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/media?parent=88942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/categories?post=88942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/tags?post=88942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}