Статьи

Как использовать Jira API

В этом посте мы рассмотрим Jira Rest API. Мы объясним, как вы можете использовать Jira API для создания пользовательского отчета о времени. Кроме того, это хороший повод для написания кода на Python.

Вступление

В настоящее время многие компании используют Jira для поддержки своих процессов Scrum или Kanban. Могут быть установлены дополнения для расширения функциональности Jira. Некоторые из них бесплатны, другие необходимо приобрести. Jira доступна в двух версиях: облачная и серверная (локальная). Количество надстроек для Jira Cloud очень ограничено и предназначено для небольших групп. Jira Server имеет гораздо больше надстроек и предназначено для крупных организаций. 

Количество надстроек и то, хотите ли вы сами нести ответственность за техническое обслуживание, могут быть решающими факторами для выбора версии. Однако обе версии также поддерживают API. Это довольно расширенный API и дает вам возможность писать свои собственные скрипты, расширяющие функциональность Jira. Например, вы можете создать интерфейс между вашей системой управления службами и Jira для передачи билетов от поддержки 1-й линии (работа с системой Service Management) к поддержке 2-й линии (работа с Jira).

Достаточно для этого введения, давайте начнем использовать API! Мы разработаем скрипт Python, который будет генерировать пользовательский отчет о времени для конкретного проекта Jira. Мы используем Python 3.7.5 и версию 2 Jira API. Источники можно найти на GitHub .

Вы также можете быть заинтересованы в: Является ли JIRA контрпродуктивным программным обеспечением для управления проектами на современном рынке?

Создать учетную запись Jira Cloud

Прежде всего, нам понадобится работающий экземпляр Jira, чтобы выполнить некоторые интеграционные тесты. Перейдите на сайт Jira и перейдите к нижней части страницы. Мы выбираем бесплатный план Jira Cloud.

На следующем шаге вам необходимо создать учетную запись и выбрать имя сайта. Мы выбираем mydeveloperplanet.atlassian.netназвание сайта.

Последнее, что нужно сделать, это создать доску Scrum, и тогда мы все готовы к работе. Нам потребовалось менее 5 минут, чтобы начать работу с Jira Cloud.

Создайте несколько пользовательских историй с подзадачами, запустите спринт и запишите некоторые работы в подзадачи. Мы также можем использовать Jira API для этого, но это может быть что-то для другого поста.

Jira API

Поскольку мы используем Jira Cloud, нам нужно сначала создать токен API. Нажмите на свой аватар в левом нижнем углу и выберите «Настройки аккаунта».

Перейдите на вкладку Безопасность и создайте токен API.

Теперь давайте взглянем на документацию Jira Rest API: https://developer.atlassian.com/cloud/jira/platform/rest/v2/

API хорошо документирован и содержит примеры того, как вызывать API с помощью curl, Node.js, Java, Python и PHP. Ожидаемый ответ на запрос также предоставляется. Итак, вся документация доступна, основная задача — выяснить, какие запросы вам нужны для вашего приложения.

Помните, что для Jira Server API также доступна документация . Он содержит менее четкую информацию, чем облачная версия. Перед написанием скрипта, который должен поддерживать обе версии, проверьте, идентичен ли вызов API, и по возможности используйте документацию Cloud.

Обратите внимание, что также можно использовать библиотеку Python Jira , но мы предпочли поговорить с Jira API напрямую. Таким образом, мы независимы от сторонней библиотеки.

Отчет о времени Джира

Требования к отчету о времени Jira, который мы хотим создать, следующие:

  • Отчет должен содержать все зарегистрированные работы для пользователя в течение определенного периода времени для конкретного проекта Jira.
  • Отчет должен быть отсортирован по пользователю, дню и проблеме

Чтобы получить рабочие журналы проблемы Jira, нам нужно вызвать запрос Получить выпуск рабочих журналов . Для этого запроса требуется идентификатор проблемы или ключ. Поэтому сначала нам нужно найти проблемы, которые содержат рабочие журналы в течение указанного периода времени. Мы можем использовать Поиск проблем, используя для этого JQL- запрос. Это даст нам возможность использовать язык запросов Jira (JQL), так же как мы можем использовать его для поиска проблем в самой Jira. Мы используем следующий запрос:


питон