2015-04-24 10 views
5

So habe ich 2 verschiedene Instanzen von Jira (lassen Sie es A und B sein), aber sie sind miteinander verbunden.Jira API IssueLink verbinden zwei verschiedene Instanzen

Ich kann manuell einen Link in einem Problem innerhalb von A erstellen und auf ein Problem innerhalb der B-Instanz verweisen. So kann ich Probleme von anderen Instanzen verfolgen. Aber wie soll ich das mit einer API machen?

Wenn es eine Instanz sein, die ich diese verwenden: https://docs.atlassian.com/jira/REST/latest/#d2e5606

Gibt es eine Möglichkeit, um zu bestimmen, wo es die „nach außen“ Frage stellen soll?

Nur als Zusatz - ich möchte nicht remoteLink verwenden, da es nicht dasselbe ist (es ist nur eine rohe Verbindung und ich brauche eine echte "Verbindung" mit Statusänderungen).

UPDATE

ich eine Antwort hinzugefügt haben, könnte beispiels Bash-Skript

+0

Link manuell in Jira erstellen, dann überprüfen, wie es im Hintergrund ausgeführt wird, diese Fragen durch API abfragt. – ThePavolC

+0

Habe es getan. Es wird nicht in Json weder aus Problem Dump, noch aus Remote-Links angezeigt. – stanjer

+0

Sie möchten von Ihrer eigenen App aus eine Verbindung herstellen und sich als JIRA-Nutzer täuschen? Atlassian-Produkt tun dies über das AppLinks JIRA | Confluence | andere Plugin. Oder möchtest du den A-B Applink automatisch mit einer 3rd Party App erstellen? – Koshinae

Antwort

2

ich die Antwort gefunden dort gesehen werden.

1) Wir sind eine Anfrage an die jira Thema machen, die werden wir verknüpfen (Endpunkt/rest/api/latest/Ausgabe/$ {JIRA_ISSUE})

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

und Extrahieren "id" Feld. Dies ist die interne ID des Problems in jira "A"

2) Jetzt müssen wir eine Remote-Verbindung zu jira B '(/ Rest/api/neuesten/issue/$ {JIRA_ISSUE}/remotelink Endpunkt)' mit das Wissen, was die appId von jira A ist und was die interne Nummer der Ausgabe von (1) mit dem Typ "com.atlassian.jira", siehe "GlobalID des" "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": {} 
    } 
} 

}

Wir werden es mögen: curl -D- -u ${JIRA_U}:${JIRA_P} -X POST -d '${JSON_TO_POST}' -H "Content-Type: application/json" -m 60 ${JIRA_LINK}

Und es gemacht wird.

UPDATE

Bash-Skript Beispiel https://github.com/fat-troll/snippets/blob/master/jira_2_instance_crosspost.sh

+0

Wenn jemand mehr Antworten hat - fühlen Sie sich frei. Nur ein Zusatz - für mich kann ich nicht Zugang zur jira Datenbank bekommen, weil ich keinen notwendigen Zugang hatte, also nahm ich interne ID von API. – stanjer