Клиентская библиотека Jira REST для облака - PullRequest
0 голосов
/ 06 марта 2020

В обзоре Jira Rest Java Client , Atlassian укажите:

Jira REST Java Client работает с Jira Server, но не с Jira Cloud .

Есть ли клиентская библиотека для REST API Jira cloud ?


Я не могу найти какие-либо библиотеки с открытым исходным кодом на inte rnet, специально предназначенные для использования API REST облака Jira.

Кажется, что следующий вопрос неявно задает то же самое, что и я, но явно сфокусирован на существовании POM: Как использовать клиентскую библиотеку JIRA REST? . Таким образом, ответ здесь сосредоточен на советах по использованию POM, найденного на Maven.

Ответы [ 2 ]

1 голос
/ 07 марта 2020

Мне не известна клиентская библиотека с открытым исходным кодом для Jira Cloud (написана на Java), а также быстрый поиск по rnet не дает хороших результатов. Но вы можете создать свой собственный клиент , поскольку Atlassian предоставляет определение Swagger / OpenAPI для своего облачного REST API:

How to download the OpenAPI/Swagger definition for Jira Cloud's REST API

Тогда вы можете создать свой собственный клиент, используя, например, Swagger Codegen или OpenAPI Generator на предпочитаемый вами язык. Я быстро попробовал сам, используя Генератор OpenAPI, но это не удалось из-за ошибки в определении Swagger - если вам интересно, вы можете попробовать исправить это самостоятельно или сообщить об этом в Atlassian Developer Community .

О Jira Rest Java Клиент

Вероятно, вы можете использовать клиент для большинства конечных точек REST API Jira Cloud, так как они похожи на Jira Server , Однако имейте в виду, что между Jira Cloud REST API и Jira Server REST API есть несколько небольших различий. Например, существуют конечные точки, которые существуют только в Jira Cloud , например Jira Expressions . Или конечные точки, которые устарели и будут удалены в ближайшее время, поскольку для них теперь требуются параметры запроса разбивки на страницы, такие как фильтрация для проектов . Кроме того, клиент не поддерживает JWT-аутентификацию или OAuth , но только Basi c Аутентификация - но это может не потребоваться в вашей ситуации, зависит от вашего варианта использования.

0 голосов
/ 09 марта 2020

Клиентская библиотека

Ассоциированный разработчик наконец-то создал эту библиотеку:

https://gitlab.com/hectorjsmith/jira-api-client

На этом сайте есть README, чтобы узнать, как используй это. Он основан на необработанной библиотеке - см. Ниже.

Необработанная библиотека с использованием OpenAPI

Благодаря s. Поэтому, указав мне правильное направление, я получил библиотеку Kotlin, созданную с использованием инструментов Open API. Генератор Open API немного глючил, сначала жаловался на JSON, предоставленный Jira, а затем создавал Kotlin с небольшой ошибкой. Но с некоторыми изменениями Kotlin скомпилирован в JAR. Я еще не тестировал, но вот репозиторий для всех, кто интересуется: https://github.com/ColmBhandal/KotlinJiraCloudClient.

Примечания

Библиотека, автоматически сгенерированная Генератором Open API, довольно некрасива. Этого следует ожидать от автоматически сгенерированного кода от инструмента, специально не предназначенного для Kotlin. Тем не менее, нет особого смысла в его предварительном обогащении, так как API могут измениться, и, следовательно, может потребоваться его восстановление. Вместо этого желательно создать еще один слой кода между этой уродливой библиотекой и вашим клиентским кодом. Код будет своего рода украшением / фасадом поверх необработанного кода, который генерируется автоматически, оборачивая его для обеспечения безопасности типов и лучшей простоты использования.

Python Альтернатива

Похоже, что есть библиотека Python для подключения к Jira, хотя мы не хотели использовать Python в этом случае: https://pypi.org/project/jira-cloud-python/

...