2015-04-24 44 views
5

因此,我有2個不同的Jira實例(讓它成爲A和B),但它們彼此連接。Jira API問題鏈接連接兩個不同的實例

我可以手動創建A中某個問題的鏈接,指向B實例中的問題。所以,我可以跟蹤其他實例的問題。但是,我將如何使用API​​來做到這一點?

是否會有一個實例,我會用這個:https://docs.atlassian.com/jira/REST/latest/#d2e5606

有沒有一種方法來確定它應該把「走出去」的問題?

正如一個補充 - 我不想使用remoteLink,因爲它不相同(它只是一個原始鏈接,我需要一個真正的「連接」狀態改變)。

UPDATE

我加入一個答案,例如bash腳本可以在那裏

+0

JIRA中手動創建鏈接,然後看看它是如何在後臺通過API查詢這些問題做了。 – ThePavolC

+0

做到了。它不會在問題轉儲中顯示,也不會從遠程鏈接中顯示。 – stanjer

+0

你想從自己的應用程序連接,僞裝成另一個JIRA? Atlassian產品通過AppLinks JIRA | Confluence |其他插件執行此操作。或者你想由第三方應用程序自動構建A-B applink? – Koshinae

回答

2

看到我找到了答案。

1)我們正在做一個查詢,這是我們要連接(JIRA問題端點/ REST/API /最新/問題/ $ {JIRA_ISSUE})

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

,並提取 「ID」領域。這是jira中的問題的內部標識「A」

2)現在我們需要發佈遠程鏈接到jira B'(/ rest/api/latest/issue/$ {JIRA_ISSUE}/remotelink endpoint)'什麼是JIRA A的APPID,什麼知識是從(1)型 「com.atlassian.jira」 問題的內部編號,請參閱 「globalId的」 「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": {} 
    } 
} 

}

我們會喜歡它: curl -D- -u ${JIRA_U}:${JIRA_P} -X POST -d '${JSON_TO_POST}' -H "Content-Type: application/json" -m 60 ${JIRA_LINK}

然後就完成了。

UPDATE

bash腳本,例如https://github.com/fat-troll/snippets/blob/master/jira_2_instance_crosspost.sh

+0

如果有人有更多的答案 - 隨意。只是一個補充 - 對我來說我無法訪問jira數據庫,因爲我沒有必要的訪問權限,所以我從API獲取了內部id。 – stanjer