Jira RPC / SOAP GetCustomFields () può essere utilizzato solo da un amministratore?

StackOverflow https://stackoverflow.com/questions/1612447

  •  06-07-2019
  •  | 
  •  

Domanda

Attualmente sto usando l'interfaccia SOAP di Jira all'interno di un C # (suppongo che la lingua usata qui non sia tremendamente importante).

Fondamentalmente, sto creando un'API e una Winform che avvolge alcune delle funzionalità del servizio soap in modo che i nostri sviluppatori possano aggiungere a livello di codice bug quando qualcosa va storto nella nostra applicazione.

Come parte di questo, ho bisogno di conoscere gli ID di campo personalizzati che sono in uso in Jira, piuttosto che codificarli (poiché sono ancora inclini al cambiamento occasionale) Ho usato Il metodo GetCustomFields () nell'API jira-rpc lo ha poi filtrato, in modo che tutto ciò che lo sviluppatore deve sapere sia il nome del campo, quindi l'ID viene compilato automaticamente per loro.

Tutto funziona benissimo, ma con una condizione abbastanza importante: accedere al servizio SOAP / RPC come utente con privilegi amministrativi.

La documentazione di Jira indica che il servizio soap / rpc segue i soliti flussi di lavoro e schemi di sicurezza, tuttavia non riesco a trovare da nessuna parte nulla che possa rimuovere questa restrizione sull'enumerazione dei campi personalizzati (e piuttosto perché in ogni caso si vorrebbe qualcuno che DEVE essere un amministratore per ottenere questo accesso, soprattutto perché l'id del campo personalizzato tende a trovarsi nella fonte HTML di Jira è oltre me)

Qualcuno sa se ho perso un'impostazione da qualche parte? O se esiste una sorta di soluzione per questo, a parte l'hardcoding dell'ID campo personalizzato?

O è questo il caso di dover approfondire il plug-in RPC di Jira e modificare la fonte per esso al fine di darmi la funzionalità di cui ho bisogno?

Saluti

Modifica per amore di google / posteri

Wow, per tutto questo tempo, e sembra che Atlassian non abbia ancora cambiato questo comportamento.

È stato utile?

Soluzione

aggirato questo problema creando un dizionario personalizzato che accede come utente amministrativo, afferra i campi personalizzati e quindi si disconnette. Non è l'ideale, ma dovrebbe funzionare fino a quando le cose atlassiche non cambiano le cose

Altri suggerimenti

Non ti manca nulla: non è possibile ottenere campi personalizzati tramite l'API SOAP standard.

In JIRA Client, apprendiamo i campi personalizzati in due modi:

  1. Scarichiamo i problemi tramite la visualizzazione RSS del navigatore dei problemi o tramite la rappresentazione XML di un problema specifico. Se viene impostato un campo personalizzato per un problema, l'XML avrà id, classe e valore (valori).

  2. Di tanto in tanto controlliamo il contenuto della pagina di ricerca di IssueNavigator, alla ricerca di utenti per i campi personalizzati. Lo screen-scraping dell'HTML ci offre non solo ID dei campi personalizzati, ma anche possibili valori per i campi enum.

Questo è un hacker, ovviamente, e potrebbe andare storto, quindi una buona API sarebbe andata molto meglio.

Nel tuo caso, posso suggerire due soluzioni:

  1. Crea il tuo plugin API remoto SOAP (o REST) ??che ti fornirà solo le informazioni che ti mancano dall'API standard. Dal momento che apparentemente hai il controllo del tuo JIRA, puoi installare qualsiasi cosa lì.

  2. Screen-raschia il " Nuovo bug " pagina per il progetto e il tipo di problema che devi inviare. Otterrai tutte le informazioni: campi, opzioni, valori predefiniti, quale campo è obbligatorio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top