{"id":97145,"date":"2024-06-06T20:01:36","date_gmt":"2024-06-06T18:01:36","guid":{"rendered":"https:\/\/artigianodelsoftware.it\/blog\/?p=97145"},"modified":"2024-06-06T20:01:38","modified_gmt":"2024-06-06T18:01:38","slug":"un-annoso-problema-sui-prodotti-atlassian-con-soluzione","status":"publish","type":"post","link":"https:\/\/artigianodelsoftware.it\/blog\/2024\/06\/06\/un-annoso-problema-sui-prodotti-atlassian-con-soluzione\/","title":{"rendered":"Un annoso problema sui prodotti Atlassian&#8230;.. con soluzione"},"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\/97145?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div>\n<p>Parliamo di un problema che da sempre di assilla, perplime e sopratutto ci assale. Sto parlando di come bloccare la transazione di stato di un ticket quando questo deve essere bloccato fino a quando un altro ticket non \u00e8 stato chiuso\/risolto.<\/p>\n\n\n\n<p>Sappiamo che si Jira non abbiamo un blocco in tal senso. Se colleghiamo due ticket, A e B, e vogliamo che non possiamo iniziare a lavorare il ticket B prima che il ticket A sia stato lavorato, non basta impostare un link tra i due ticket. Questo non BASTA!!!!<\/p>\n\n\n\n<p>Tutto questo era vero&#8230; fino ad oggi. Ho appena scoperto un addon che permette di poter avere a disposizione questa funzionalit\u00e0. Oggi andiamo ad esplorare questo nuovo addon verificando che cosa \u00e8 possibile fare e che risultati possiamo ottenere.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"480\" height=\"270\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-12.png\" alt=\"\" class=\"wp-image-96827\" style=\"width:634px;height:auto\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-12.png 480w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-12-300x169.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><figcaption class=\"wp-element-caption\">Corriamo subito ad analizzare questo addon<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Introduciamo meglio lo scenario e la necessit\u00e0.<\/h2>\n\n\n\n<p>Chi ha svolto la consulenza sa perfettamente di cosa sto parlando. Tutti i clienti con cui mi sono interfacciato mi hanno chiesto questa funzionalit\u00e0 che spiego meglio: <\/p>\n\n\n\n<p>Dati due ticket, A e B, se vogliamo che il ticket B sia &#8216;lavorabile&#8217; ovvero sia possibile cambiare lo stato ed iniziare a lavorare su quanto richiesto, solo quando \u00e8 terminata la lavorazione del task A, allora non abbiamo molte scelte, usando lo standard.<\/p>\n\n\n\n<p>Quello che si ci aspetta normalmente \u00e8 che quando si imposta una relazione <em>block\/is blocked by<\/em> tra i due ticket, gli utilizzatori di Jira si aspettano questo comportamento come normale amministrazione. Invece. non \u00e8 cos\u00ec.<\/p>\n\n\n\n<p>Da sempre ne abbiamo provate di diverse, come consulenti, ma non sempre si raggiungeva il risultato e normalmente ci si arrendeva usando diversi altri addon che permettessero di attivare un blocco proprio in funzione degli issue link.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"425\" height=\"284\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2022\/04\/image-6.png\" alt=\"\" class=\"wp-image-96131\" style=\"width:667px;height:auto\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2022\/04\/image-6.png 425w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2022\/04\/image-6-300x200.png 300w\" sizes=\"(max-width: 425px) 100vw, 425px\" \/><figcaption class=\"wp-element-caption\">Un vero e proprio mal di testa.<\/figcaption><\/figure>\n\n\n\n<p>In aggiunta riportiamo i due ticket, di Atlassian, dove viene richiesto di poter eseguire questo blocco:<\/p>\n\n\n\n<p><a href=\"https:\/\/jira.atlassian.com\/browse\/JRASERVER-43369\">https:\/\/jira.atlassian.com\/browse\/JRASERVER-43369<\/a> Per la versione Data Center<\/p>\n\n\n\n<p><a href=\"https:\/\/jira.atlassian.com\/browse\/JRACLOUD-43369\">https:\/\/jira.atlassian.com\/browse\/JRACLOUD-43369<\/a> Per la versione Cloud<\/p>\n\n\n\n<p>e vi inviatiamo a leggere i dettagli di queste segnalazioni ed i vari commenti. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fino ad ora&#8230;..<\/h2>\n\n\n\n<p>Questo problema rappresentava un forte mal di testa che, adesso, \u00e8 stato risolto da un nuovo addon che oggi presentiamo. L&#8217;ho scoperto dopo una lunga ricerca ed ho avuto modo di apprezzarlo grazie anche al seguente video:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"How to block a Jira issue transition when blocking linked issues are not completed\" width=\"750\" height=\"563\" src=\"https:\/\/www.youtube.com\/embed\/R_PFKatLD28?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Il video di Youtube dove \u00e8 descritto il funzionamento dell&#8217;addon<\/figcaption><\/figure>\n\n\n\n<p>Come possiamo vedere dal video che ho collegato, il funzionamento \u00e8 molto semplice. Agiamo a livello di Workflow, impostando una Validazione (luogo naturale dove impostare tale blocco) dove andiamo a definire dove impostare questo BLOCCO.<\/p>\n\n\n\n<p>Possiamo parametrizzare il tipo di Issue Link (possiamo quindi definire il nostro link custom).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fantastico. Lo provo subito<\/h2>\n\n\n\n<p>Partiamo dalla installazione dell&#8217;addon (che al momento in cui scrivo \u00e8 gratuito, free per tutti):<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"938\" height=\"486\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Kapture-2024-06-06-at-19.28.35.gif\" alt=\"\" class=\"wp-image-97160\"\/><figcaption class=\"wp-element-caption\">Il deploy della app sulla nostra istanza di prova<\/figcaption><\/figure>\n\n\n\n<p>Passiamo quindi a configurare il nostro Workflow. Come possiamo vedere dalla seguente immagine:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"326\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.29-1024x326.png\" alt=\"\" class=\"wp-image-97153\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.29-1024x326.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.29-300x96.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.29-768x245.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.29-1536x489.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.29-2048x652.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">La configurazione come si presenta<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"748\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.45-1024x748.png\" alt=\"\" class=\"wp-image-97154\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.45-1024x748.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.45-300x219.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.45-768x561.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.45-1536x1122.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Screenshot-2024-06-02-at-17.06.45.png 1870w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Come si presenta la configurazione della Validazione<\/figcaption><\/figure>\n\n\n\n<p>Il risultato della configurazione viene mostrato dal seguente video:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"853\" height=\"420\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2024\/06\/Kapture-2024-06-02-at-17.17.44.gif\" alt=\"\" class=\"wp-image-97156\"\/><figcaption class=\"wp-element-caption\">I risultati della configurazione impostata<\/figcaption><\/figure>\n\n\n\n<p>Vediamo che, fino a quando lo stato della issue bloccante non \u00e8 quello conclusivo, allora la issue bloccata rimane nello stato originario. Possiamo vedere che questa situazioone permane anche se cambiamo lo stato in uno stato conclusivo. <\/p>\n\n\n\n<p>Occorre infatti notare che abbiamo dovuto inserire la validazione sui passaggi di stato che di interessano, per far si che non sia possibile violare la regola. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusioni<\/h2>\n\n\n\n<p>Una soluzione. Abbiamo una soluzione ai nostri problemi e non posso che essere contento di questo. Esprimo un ringraziamento speciale agli autori o all&#8217;autore dell&#8217;addon ringraziando per questo importante risultato.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<p>Maggiori informazioni sono disponibili alla <a href=\"https:\/\/marketplace.atlassian.com\/apps\/1233642?tab=overview&amp;hosting=cloud\" target=\"_blank\" rel=\"noreferrer noopener\">pagina del Marketplace<\/a>.<\/p>\n<div class=\"clearfix\"><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'97145','like')\" >Likes<img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/like-dislike-counter-for-posts-pages-and-comments\/images\/up.png\" \/>(<span>1<\/span>)<\/span><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'97145','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>Parliamo di un problema che da sempre di assilla, perplime e sopratutto ci assale. Sto parlando di come bloccare la transazione di stato di un ticket quando questo deve essere bloccato fino a quando un altro ticket non \u00e8 stato<\/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],"tags":[],"_links":{"self":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/97145"}],"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=97145"}],"version-history":[{"count":7,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/97145\/revisions"}],"predecessor-version":[{"id":97257,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/97145\/revisions\/97257"}],"wp:attachment":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/media?parent=97145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/categories?post=97145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/tags?post=97145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}