{"id":96583,"date":"2023-07-16T16:58:57","date_gmt":"2023-07-16T14:58:57","guid":{"rendered":"https:\/\/artigianodelsoftware.it\/blog\/?p=96583"},"modified":"2023-07-16T16:58:59","modified_gmt":"2023-07-16T14:58:59","slug":"jira-cloud-e-i-database-una-ipotesi-di-lavoro-interessante","status":"publish","type":"post","link":"https:\/\/artigianodelsoftware.it\/blog\/2023\/07\/16\/jira-cloud-e-i-database-una-ipotesi-di-lavoro-interessante\/","title":{"rendered":"Jira Cloud e i database &#8211; Una ipotesi di lavoro interessante"},"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\/96583?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div>\n<p>Un annoso problema che ci assilla \u00e8 causato dal fatto che non sempre possiamo collegare Jira Cloud con i Database&#8230;.. fino ad ora. Qualche mese fa stavo eseguendo delle sperimentazioni che mi hanno portato a scoprire un addon molto interessante. Adesso, dopo la sperimentazione posso descrivere i primi risultati. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"794\" height=\"635\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/03\/image-6.png\" alt=\"\" class=\"wp-image-96572\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/03\/image-6.png 794w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/03\/image-6-300x240.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/03\/image-6-768x614.png 768w\" sizes=\"(max-width: 794px) 100vw, 794px\" \/><figcaption class=\"wp-element-caption\">Modalit\u00e0 sperimentatore Alchimista in azione<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Descriviamo lo scenario<\/h2>\n\n\n\n<p>Questa situazione la conosciamo bene. Quando i clienti ci chiamando perch\u00e9 vogliono leggere le informaizoni dai loro database locali e le vogliono rendere reperibili anche su Jira Cl\u00f2oud. Questa di solito \u00e8 la nostra faccia<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"720\" height=\"405\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/image-1.png\" alt=\"\" class=\"wp-image-96594\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/image-1.png 720w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/image-1-300x169.png 300w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><figcaption class=\"wp-element-caption\">La scena \u00e8 presa dal celebre film THE MASK, ma descrive bene come ci riduciamo<\/figcaption><\/figure>\n\n\n\n<p>Proviamo a chiarire. Sappiamo beniussimo che il nostro Cloud \u00e8 una macchina remota AWS localizzata, nel nostro caso, a Dublino o Francoforte (quindi GDPR RISPETTATA. CHIARO??). Concetto da tenere sempre presente \u00e8 che Jira Cloud \u00e8 su Internet e di conseguenza per poter accedere ad un database, questa macchina su internet deve essere (UDITE UDITE) autorizzata. <\/p>\n\n\n\n<p>Ora, se andiamo in una azienda qualsiasi, i responsabili della sicurezza avrebbero qualcosa da dire. Se apriamo una porta del genere, occorre ben presidiarla oppure si rischia di fare dei danni. Ricordiamoci sempre che quando si apre una porta su internet, prima o poi si rischia che qualcuno di non desiderato entri dentro senza il nostro permesso. Fa parte dei rischi.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/image-2.png\" alt=\"\" class=\"wp-image-96596\" width=\"538\" height=\"391\"\/><figcaption class=\"wp-element-caption\">Ok. Adesso  vediamo quali precauzioni possiamo prendere<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Quali precauzioni?<\/h2>\n\n\n\n<p>Possiamo prendere diverse precauzioni per far si che chiunque tenti di entrare non possa andare oltre un certo limite e, se anche dovesse arrivare, li si fermi. Parafrasando il celebre film &#8220;Il Codice da Vinci&#8221;, mi permetto di citare un verso della Bibbia: <strong>(Giobbe 38-11)<\/strong>. <strong><em>e dissi: `Fin qui tu giungerai, e non oltre; qui si fermer\u00e0 l\u2019orgoglio de\u2019 tuoi flutti?\u2019<\/em><\/strong><\/p>\n\n\n\n<p>Possiamo fare in modo che il database che colleghiamo a Jira Cloud sia una copia con pochi dati. In questo modo, anche se qualcuno dovesse arrivare a leggerli, le informazioni siano parziali e non servibili allo scopo. Questo per\u00f2 implica che:<\/p>\n\n\n\n<ul>\n<li>i dati devono essere aggiornati a cadenze regolari<\/li>\n\n\n\n<li>In alcuni istanti i dati non saranno perfettamente disponibili (intendo gli ultimi)<\/li>\n\n\n\n<li>In ogni caso se qualcuno arriva li, legge dei dati e potrebbe comunque tentare delle operazioni di ricostruzioni.<\/li>\n<\/ul>\n\n\n\n<p>Sicuramente questo \u00e8 un sistema per limitare il danno, ma non eliminiamo completamente la possibilit\u00e0 di eliminare il danno.<\/p>\n\n\n\n<p>La vera precauzione consiste nell&#8217;inserire il database direttamente su Jira, o sulla macchina remota. Solo cos\u00ec avremmo a disposizione la possibilit\u00e0 di poter gestire una sicurezza molto alta. Se il database \u00e8 gi\u00e0 interno a Jira, allora abbiamo la sicurezza di Atlassian che ci protegge. Tuttavia la macchina remota NON \u00e8 usabile da parte nostra e non credo che Atlassian ci permetta di poter mettere mano a tali macchine dall&#8217;oggi al domani. Di conseguenza le possibilit\u00e0 sono molto ridotte&#8230;.. oppure no?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Non disperiamo. Abbiamo una soluzione<\/h2>\n\n\n\n<p>Ebbene si. Abbiamo una soluzione. Possiamo portare i dati direttamente su Jira e usarli come un database e per questo obiettivo un potente addon ci permette di poter gestire questa situazione. ma come?<\/p>\n\n\n\n<p>Semplice. Possiamo memorizzare i dati all&#8217;interno di un progetto di comodo, dove i record sono presenti nelle issue. Come ben sapete, le issue possono diventare qualsiasi cosa noi vogliamo. Questa \u00e8 una delle grandi possibilit\u00e0 che Jira mette a disposizione di noi utenti.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/e-allora-e-quindi.gif\" alt=\"\" class=\"wp-image-96598\" width=\"774\" height=\"555\"\/><figcaption class=\"wp-element-caption\">Come dice la stessa immagine, e allora?<\/figcaption><\/figure>\n\n\n\n<p>Benissimo. Se mappiamo i record usando le issue type seguendo questa logica: \u00e8 un tipo di record. Nell&#8217;issue type andiamo a memorizzare i dati che ci servono, utilizzando i campi custom per memorizzare anche altre informazioni del nostro record. Risultato? abbiamo il nostro database locale. <\/p>\n\n\n\n<p>A questo punto passiamo alla seconda domanda. Come lo usiamo?<\/p>\n\n\n\n<p>Anche qui ci viene incontro uno splendido addon che ci aiuta a rispondere a questa seconda domanda. Si tratta di:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/marketplace.atlassian.com\/apps\/1219994\/external-data-for-jira-fields?hosting=cloud&amp;tab=overview\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"449\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.43.09-1024x449.png\" alt=\"\" class=\"wp-image-96599\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.43.09-1024x449.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.43.09-300x131.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.43.09-768x337.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.43.09-1536x673.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.43.09-2048x897.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Scheda su Marketplace Atlassia dell&#8217;addon<\/figcaption><\/figure>\n\n\n\n<p>Questo addon permette di poter eseguire delle interrogazioni direttamente su Jira come se fosse un database. In questo caso abbiamo a disposizione la nostra arma segreta: il JQL; che ci aiuta nell&#8217;interrogare i dati senza grandi problemi. Lo stesso lo possiamo fare con questo addon che ci permette di poter gestire il risultato finale.<\/p>\n\n\n\n<p>L&#8217;addon permette di poter creare una connessione a Jira Cloud stesso . Questo consente di gestire Jira Cloud come un database e, come sempre sostengo da immemore tempo, il JQL ci aiuta a creare la query di selezione dei dati<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"400\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-16-at-14.13.10-1024x400.png\" alt=\"\" class=\"wp-image-96628\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-16-at-14.13.10-1024x400.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-16-at-14.13.10-300x117.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-16-at-14.13.10-768x300.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-16-at-14.13.10-1536x601.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-16-at-14.13.10-2048x801.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">La configurazione che l&#8217;addon mette a disposizione quando si collega a Jira Cloud Stesso.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Moooolto interessante e quale \u00e8 il risultato?<\/h2>\n\n\n\n<p>Il risultato finale \u00e8 che abbiamo a disposizione la possibilit\u00e0 di definire dei campi &#8216;database&#8217;, se mi si pu\u00f2 concedere la libert\u00e0 di scrivere cos\u00ec, dove i valori visualizzati sono prelevati dal progetto che abbiamo definito su Jira<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"474\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.56.02-1024x474.png\" alt=\"\" class=\"wp-image-96600\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.56.02-1024x474.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.56.02-300x139.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.56.02-768x355.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.56.02-1536x710.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.56.02-2048x947.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Un esempio di progetto a mo di Database<\/figcaption><\/figure>\n\n\n\n<p>Sfruttando l&#8217;addon possiamo ottenere questo risultato:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"467\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.55.04-1024x467.png\" alt=\"\" class=\"wp-image-96601\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.55.04-1024x467.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.55.04-300x137.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.55.04-768x350.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.55.04-1536x700.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-10-at-12.55.04-2048x934.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Come possiamo vedere, l&#8217;addon ci permette di poter sfruttare le issue di un progetto come se si trattasse dei record del nostro simil-quasi-database (concedetemi questo termine), ma l&#8217;utente finale non vede questa cosa: per lui \u00e8 una lista. L&#8217;addon permette anche di poter aggiornare il campo a cadsenze regolari. Ci\u00f2 che si deve fare e aggiornare l&#8217;elenco delle issue del progetto che abbiamo battezzato. L&#8217;addon pu\u00f2 essere programmato per far si che l&#8217;elenco sia aggiornato a cadenza regolare.<\/p>\n\n\n\n<p>Ovviamente consiglio di trovare un compromesso al tempo di aggiornamento che vogliamo: Questo per evitare comunque di sovraccaricare la nostra istanza di Jira Cloud.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Risultato?<\/h2>\n\n\n\n<p>Abbiamo una nuova arma in pi\u00f9 per definire un database all&#8217;interno di Jira e sopratutto abbiamo la possibilit\u00e0 di poter mantenere una discreta sicurezza senza aprire quella della nostra sicurezza. In aggiunta, questo sistema pu\u00f2 essere usato anche per:<\/p>\n\n\n\n<ul>\n<li>definire assets aziendali senza avere insight<\/li>\n\n\n\n<li>definire delle tabelle di un database interno a Jira<\/li>\n\n\n\n<li>definire delle semplici liste valori aggiornabili facilmente  <\/li>\n\n\n\n<li>definire quello che vogliamo all&#8217;interno di Jira.<\/li>\n<\/ul>\n\n\n\n<p>L&#8217;unico limite \u00e8 la nostra fantasia. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un mio appunto personale<\/h2>\n\n\n\n<p>Il 29 Giugno ho avuto il piacere di presentare questa soluzione al Meetup Madrid\/Buenos Aires. Mi permetto di condividere il <a href=\"https:\/\/www.linkedin.com\/posts\/artigianodelsoftware_jira-addons-c%C3%B3mo-crear-tu-propia-receta-activity-7080556069378301953-pZcj?utm_source=share&amp;utm_medium=member_desktop\">Video del mio intervento, disponibile su Linkedin<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<p>Maggiori informazioni sull&#8217;addon sono disponibili nella <a rel=\"noreferrer noopener\" href=\"https:\/\/marketplace.atlassian.com\/apps\/1219994\/external-data-for-jira-fields?hosting=cloud&amp;tab=overview\" target=\"_blank\">pagina del marketplace<\/a>.<\/p>\n\n\n\n<p><\/p>\n<div class=\"clearfix\"><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'96583','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,'96583','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>Un annoso problema che ci assilla \u00e8 causato dal fatto che non sempre possiamo collegare Jira Cloud con i Database&#8230;.. fino ad ora. Qualche mese fa stavo eseguendo delle sperimentazioni che mi hanno portato a scoprire un addon molto interessante.<\/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,4,14,15,16,17,250,154,133,22],"tags":[30,34,35,70,71,74,75,89],"_links":{"self":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/96583"}],"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=96583"}],"version-history":[{"count":11,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/96583\/revisions"}],"predecessor-version":[{"id":96699,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/96583\/revisions\/96699"}],"wp:attachment":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/media?parent=96583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/categories?post=96583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/tags?post=96583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}