2015-06-01 7 views
0

Моя проблема: я хочу ввести новое поле в JIRA со статусной информацией из внешней службы REST (ответ json).Jira вызывает внешнюю службу REST

План: Каждая проблема Jira имеет поле ввода с некоторой ссылочной строкой. За этим полем должна быть панель, которая должна отображать информацию из внешнего вызова REST (требуется синтаксический анализ JSON).

Может ли кто-нибудь дать мне несколько полезных информационных страниц, как рассказать JIRA о вызове внешнего сервиса REST?

ответ

2

Если вы не хотите, чтобы построить его видеть:

Если вы хотите построить его самостоятельно, то начать, следуя этому учебник по Creating a custom field type, который должен более или менее хранят базовую строку в базе данных. (Это была бы эталонная строка)

У вас есть два варианта: первый из них находится в пределах класса JiraCustomField, переопределяя getVelocityParameters, который был взят из How to call a java method from velocity вопросов Atlassian Answers.

Затем создайте метод (fetchValueFromWebService(String val)), который вы бы назвали, который будет содержать код для запроса службы REST, основанный на значении полей, которое будет передано из шаблона скорости. (Например, $instance.fetchValueFromWebService($value)))

Для выполнения фактического вызова веб-службы вы можете использовать любую нужную библиотеку, просто просмотрите документацию Managing Dependencies, чтобы она включалась в плагин. (Например, с использованием Jira Джерси версии see this)

Другой вариант был бы в пределах view-basictext.vm иметь его использовать яваскрипт и выполнить AJAX для веб-службы с помощью вызова функции в вашем собственном файле JS и свалка, что в пролете что вы определили: (См Including Javascript and CSS resources)

<span id="webServiceValue"></span> 
<script type="text/javascript"> 
    fetchValueFromWebService($value); 
</script> 

вы однако должны обеспечить, чтобы вебсервис была Cross-origin resource sharing (CORS) включена, если вы идете маршрут AJAX.

+0

Благодарим вас за информацию. Я попробую пользовательское поле HTTP-канала, но я думаю, мне нужно создать плагин самостоятельно. Если у кого-то есть дополнительная информация, напишите здесь. – heaphach

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