2015-04-24 17 views
5

Quindi, ho 2 diverse istanze di Jira (sia A e B), ma sono connesse tra loro.Problema API Jira Collegare due istanze diverse

Posso creare manualmente un collegamento in un problema all'interno di A, indicando un problema all'interno dell'istanza B. Quindi, posso tenere traccia dei problemi di altre istanze. Ma come lo farò con un'API?

Se non ci sarà un caso Userò questo: https://docs.atlassian.com/jira/REST/latest/#d2e5606

C'è un modo per determinare dove si dovrebbe mettere la questione "verso l'esterno"?

Proprio come una aggiunta - Non voglio usare remoteLink, in quanto non è la stessa (è solo un link non elaborato e ho bisogno di una vera "connessione" con lo stato che cambia).

UPDATE

Ho aggiunto una risposta, ad esempio script bash potrebbe essere visto lì

+0

Crea collegamento manualmente Jira, quindi verificare come si è fatto in fondo interrogando questi problemi attraverso API. – ThePavolC

+0

Fatto. Non è mostrato in json né dal dump del problema, né da ottenere collegamenti remoti. – stanjer

+0

Vuoi connetterti dalla tua app, fingerti di essere un altro JIRA? Il prodotto Atlassian fa questo attraverso il plugin AppLinks JIRA | Confluence | altro. O vuoi creare automaticamente l'applink A-B da un'app di terze parti? – Koshinae

risposta

2

ho trovato la risposta.

1) Stiamo facendo una query per la questione jira che stiamo andando a creare un collegamento (endpoint è/resto/api/ultima/problema/$ {JIRA_ISSUE})

curl -D- -u ${JIRA_U}:${JIRA_P} -X GET -H "Content-Type: application/json" -m 60 ${JIRA_SOURCE_LINK} 

e l'estrazione di "id" campo. Questo è l'ID interno di emissione in jira "A"

2) Ora è necessario inviare un collegamento remoto a jira B '(/ rest/api/latest/issue/$ {JIRA_ISSUE}/remotelink endpoint)' con la conoscenza di ciò è l'appId di jira A e qual è il numero interno di emissione da (1) di tipo "com.atlassian.jira", vedere "globalId di" "issueId":

{ 
"globalId": "appId=0000-0000-000-000-000&issueId=101", 
"application": { 
    "type": "com.atlassian.jira", 
    "name": "Jira name" 
}, 
"relationship": "relates to", 
"object": { 
    "url": "https://jiraurl/browse/ISSUE-11", 
    "title": "ISSUE-11", 
    "icon": {}, 
    "status": { 
     "icon": {} 
    } 
} 

}

avremo le cose come: curl -D- -u ${JIRA_U}:${JIRA_P} -X POST -d '${JSON_TO_POST}' -H "Content-Type: application/json" -m 60 ${JIRA_LINK}

ed è fatta.

UPDATE

script Bash esempio https://github.com/fat-troll/snippets/blob/master/jira_2_instance_crosspost.sh

+0

Se qualcuno ha altre risposte, sentitevi liberi di farlo. Solo un'aggiunta - per me non riesco ad accedere al database di jira, perché non avevo accesso necessario, quindi ho preso l'id interno dall'API. – stanjer

Problemi correlati