Jira Discourse

:discourse: Riepilogo Discourse Jira sincronizza progetti, tipi di problema, campi, stati dei problemi e gestisce i problemi.
:hammer_and_wrench: Link al repository https://github.com/discourse/discourse-jira
:open_book: Guida all’installazione Come installare i plugin in Discourse

Funzionalità

  • I progetti Jira, i tipi di problema, i campi e le opzioni dei campi verranno sincronizzati automaticamente.
  • Crea un nuovo problema Jira per un post di Discourse utilizzando il modulo dinamico di creazione del problema.
  • Collega un problema Jira esistente a un post di Discourse.
  • Sincronizza lo stato del problema Jira utilizzando i webhook.

Screenshot

Menu del post

Configurazione

Imposta i valori per le impostazioni del sito di seguito prima di abilitare il plugin.

  • discourse_jira_url: Inserisci l’URL della tua istanza Jira. Deve terminare con il simbolo /.
  • discourse_jira_username: Il nome utente dell’utente per conto del quale verranno creati i problemi.
  • discourse_jira_password: La chiave API assegnata all’utente che crea i problemi. Una password potrebbe funzionare, ma è insicura e l’API è stata deprecata da Atlassian.
  • discourse_jira_enabled: Abilita il plugin Jira per Discourse.
  • discourse_jira_allowed_groups: Seleziona i gruppi che hanno accesso alle funzionalità del plugin Jira. Il valore predefinito è admin e mods.

Webhook

Imposta un token segreto per verificare i webhook in arrivo da Jira.

  • discourse_jira_webhook_token: Questo token deve essere passato nel parametro di query ‘t’ del webhook.

Ad esempio, se il token del webhook è supersecret e l’URL base di Discourse è discourse.example.com, dovresti configurare l’URL del webhook come https://discourse.example.com/jira/issues/webhook?t=supersecret nelle impostazioni del webhook per la tua istanza Jira.

Per verificare semplicemente che il webhook venga attivato e che il corpo emesso sia corretto, puoi optare per l’utilizzo di siti esterni come RequestBin o Webhook.site per configurare URL di webhook temporanei.

Debug

discourse_jira_verbose_log: Abilita questa impostazione per registrare i payload sia dei webhook in arrivo che delle richieste API in uscita.

:discourse2: Ospitato da noi? Questo plugin è disponibile nel nostro piano Enterprise.

10 Mi Piace

@vinothkannans abbiamo notato che i nostri utenti non possono effettivamente vedere lo stato di questi ticket, ma solo gli amministratori possono vederli. È possibile fare qualcosa per rendere lo “stato” più visibile agli utenti?

Un’opzione potrebbe essere ovviamente rendere visibile quel blocco di citazione, oppure sarebbe anche bello se potessi mappare gli stati di Jira ai tag, e che il tag dell’argomento venisse aggiornato per riflettere lo stato di avanzamento del ticket (backlog, in-progress, #complete, ecc.).

Per fare seguito a Jordan, ho alcune idee aggiuntive per migliorare questo plugin.

  1. Possibilità di scollegare un ticket JIRA. Non vedo un’opzione per scollegare o eliminare un ticket JIRA che ho collegato a un post.
  2. Scegliere quali gruppi possono vedere i ticket JIRA allegati. Al momento sembra che solo gli amministratori del sito possano vederli, ma vorremmo l’opzione di selezionare uno o più gruppi aggiuntivi che possano vederli.
  3. Livelli di visibilità. Possibilità di specificare quale/i parte/i del ticket appariranno ai non amministratori. Ad esempio, potremmo volere che tutti i gruppi vedano il numero del ticket e lo stato, ma non il titolo del ticket, che potrebbe contenere informazioni sensibili. Quindi, possiamo specificare gruppi fidati che possono vedere il titolo del ticket.
2 Mi Piace

I vostri suggerimenti migliorerebbero davvero l’esperienza con questo plugin.

Abbiamo davvero bisogno che il contenuto possa essere rivelato a un gruppo specifico (che non siano amministratori).

Esiste una versione di OpenProject di questo? Sarebbe fantastico averla dato che usiamo OpenProject per gestire i nostri task.

@jordan-violet @colin.mckibben questi sono buoni suggerimenti per rendere il plugin più utile. Terrò presente questo aspetto quando ci lavorerò la prossima volta.

1 Mi Piace

Ciao, ho una domanda sulla configurazione del plugin. Ricevo errori 500 quando creo/allego un ticket, quindi penso che le mie impostazioni non siano del tutto corrette. Cosa ho sbagliato?

Innanzitutto, ho copiato e incollato dove normalmente accedo alla mia istanza Jira nel campo discourse jira url, anche se non sono completamente sicuro dell’URL poiché dipende dalla vista Jira selezionata, l’URL è diverso.

In primo luogo, ho impostato un discourse jira username casuale, con la discourse jira password copiata e incollata da un token API Atlassian generato.



Quindi ho aggiunto un Webhook Jira e impostato l’URL del webhook Jira all’URL della mia istanza Discourse più /jira/issues/webhook?t=

Quindi ho impostato il segreto del Webhook e l’ho copiato e incollato nuovamente nel campo di configurazione del plugin discourse jira webhook token.

Qualche idea? Molto apprezzato! Grazie.

Qualcuno può condividere le impostazioni del tuo plugin funzionante in Discourse (senza password/token ovviamente) in modo che io possa vedere come farlo funzionare? Grazie!

Ho copiato il token del webhook nell’URL nella configurazione del webhook di Jira, quindi dice https://example.com/jira/issues/webhook?t=abcdefghijk, e anche il tuo discourse_jira_url dovrebbe essere https://modernsquared.atlassian.net/ senza il percorso.

@vinothkannans Ho un’altra domanda però: è possibile cambiare l’issue collegato a un argomento dopo averlo collegato, o semplicemente rimuovere/eliminare il collegamento? Se non è possibile, ci hai pensato?

Grazie @mikael.gundhus, sono riuscito a far connettere il plugin a Jira.

Ma ho riscontrato una stranezza. Non sono sicuro se sono l’unico a riscontrare questo problema, ma il pulsante “Crea e allega problemi” sembra essere invertito? Quando faccio clic sul pulsante “Crea problema”, il plugin mi porta alla schermata di allegato problema:

E quando faccio clic sul pulsante “Allega problema”, il plugin mi porta alla schermata di creazione problema: MS-155 è un problema esistente in Jira. Se digito un nuovo problema, diciamo, MS-200, che non esiste in Jira, mi dice Si è verificato un errore: non sei autorizzato a visualizzare la risorsa richiesta.

@mikael.gundhus sì, dovrebbe esserci un’opzione per rimuovere l’allegato esistente. @ckshen sembra che ci siano intestazioni errate nelle finestre modali. Lavoreremo su questi aspetti nella prossima iterazione.

Ci sono piani per rendere questo accessibile agli utenti che non sono amministratori/moderatori? Abbiamo team interni che stanno cercando di spostare le loro operazioni su Discourse e, così come stanno le cose, l’unico modo per loro di utilizzare lo strumento JIra è concedere loro privilegi di moderazione a livello di sito.

4 Mi Piace

Ho appena aggiornato questo plugin con i permessi di gruppo! È predefinito e deve sempre includere gli Amministratori, ma con questo aggiornamento gli utenti possono ora creare ticket Jira senza bisogno di essere a livello di Amministratore. Buon divertimento!

5 Mi Piace

Ehi ragazzi,

Qualcuno è riuscito a far funzionare questo plugin con Jira server o Datacenter?

Non vedo alcuna opzione di allegato e vedo un errore nei log.

Job exception: DiscourseJira::InvalidURI

1 Mi Piace

Finora abbiamo creato questo plugin utilizzando solo le API per Jira Cloud. Pertanto, potresti non avere successo con Jira DC.

Documentazione REST di Jira Cloud: https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-createmeta-get
Documentazione REST di Jira DC/Server: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples

1 Mi Piace

Grazie Natalie, dopo aver aggiunto il nostro host ai host interni consentiti in Sicurezza, siamo stati in grado di collegarci e creare problemi. Questo è probabilmente utile da sapere per chiunque utilizzi un’istanza interna di Jira. Sto ancora lavorando sulla sincronizzazione dei commenti, ma credo che si tratti di un problema di configurazione.

2 Mi Piace

Questa funzionalità funziona anche con i progetti Jira Service Management?

Sembra esserci un’incompatibilità tra jira e reactions

1 Mi Piace

Ho provato questo sulla nostra istanza self-hosted di Jira Data Center, ma sembra che sia bloccato. Apprezzerei davvero se poteste aiutarmi.

TL;DR - Ricevo un 403 e HTML quando dovrei ottenere un 201 e JSON:

/var/www/discourse/plugins/discourse-jira/lib/discourse_jira/api.rb:63:in 'DiscourseJira::Api.getJSON'

  • Ho creato il Personal Access Token di Jira
  • Ho provato diversi percorsi per l’API: /, /rest, /rest/api, /rest/api/latest :left_arrow: Ho verificato che l’ultimo funzioni.
  • Indipendentemente da ciò, continuo a ricevere HTML invece di JSON.

Sospetto di sbagliare qualcosa nella configurazione del plugin, ma non riesco a capire cosa. Se qualcuno ha fatto funzionare questo con JIRA Data Center, sarei felice di chiedervi consiglio!

Grazie

Bruce