2015-04-24 2 views
5

Итак, у меня есть два разных экземпляра Jira (пусть это A и B), но они связаны друг с другом.Jira API issueLink соединяет два разных экземпляра

Я могу создать ссылку вручную в проблеме внутри A, указывая на проблему в экземпляре B. Поэтому я могу отслеживать проблемы из других экземпляров. Но как мне это сделать с помощью API?

Если будет один экземпляр я буду использовать это: https://docs.atlassian.com/jira/REST/latest/#d2e5606

Есть ли способ, чтобы определить, где он должен поставить «наружу» вопрос?

Как дополнение - я не хочу использовать remoteLink, поскольку это не одно и то же (это просто ссылка, и мне нужно реальное «соединение» со сменой статусов).

UPDATE

Я добавил ответ, например, Баш скрипт можно увидеть там

+0

Создать ссылку вручную в Jira, а затем проверить, как это делается в фоновом режиме, запрашивая эти вопросы через API. – ThePavolC

+0

Сделал это. Он не показан в json ни из дампа выпуска, ни из удаленных ссылок. – stanjer

+0

Вы хотите подключиться из своего собственного приложения, подделывая себя, чтобы быть другой JIRA? Атласский продукт делает это через AppLinks JIRA | Confluence | другой плагин. Или вы хотите автоматически создать приложение A-B сторонним приложением? – Koshinae

ответ

2

Я нашел ответ.

1) Мы делаем запрос к вопросу Jira, которые мы собираемся связать (конечная точка/отдых/API/последний/вопрос/$ {JIRA_ISSUE})

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

И извлекая "Идентификатор" поле. Это внутренний идентификатор проблемы в jira «A»

2) Теперь нам нужно отправить удаленную ссылку на jira B '(/ rest/api/latest/issue/$ {JIRA_ISSUE}/remotelink endpoint)' с знание того, что является APPID из Jira а и то, что это внутренний номер выпуска из (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. – stanjer

 Смежные вопросы

  • Нет связанных вопросов^_^