На одном проекте понадобилось получить данные с тасков из Jira в Excell, статус приоритет и тд. Немножко магии и VBA — нашел простой способ, решил им поделиться. Может кому-нибудь пригодится, ничего внятного в интернете не нашел. Оформил на Github.
У Jira есть rest API, и прекрасная документация на английском. API дает вытащить Get -запросами все что угодно. На каждый запрос возвращается Json который можно спарсить и получить значение конкретного атрибута, например статус таска. Для тестирования любого апи я использую Postman, очень удобно, выглядит вот так:

Ответ на запрос выглядит примерно так, в зависимости от настроек атрибутов вашей Jira структура Json может отличаться. Название атрибутов и их значение в двойных кавычках и разделены двоеточием, например, «id» : «11104»
Чтобы записать ответ апи в ячейку экселя придется проделать следующие действия:
Я хотел функции, которые по идентификатору таска в джире возвращали бы несколько атрибутов: статус, приоритет, название и дату создания. Таких функций нет в Excell но на VBA можно написать свою функцию и использовать на листах. Сделал такую таблицу:

Покажу функцию для получения статуса, нет смысла показывать их все, все равно вам придется переписать пару строк для своей Jira — структура тасков у всех своя. В конце статьи приложу готовый лист с настройками и модулями, скачал настроил и готово.
' Функция для получения статуса задачи
Function getTaskStatus(ByVal taskURL As String) As String
' Базовая авторизация
Dim jiraRequest As Object
Set jiraRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
jiraRequest.Open "POST", "https://domain-jira.ru/login.jsp?os_username=jiralogin&os_password=jirapass"
jiraRequest.Send
' GET запрос в Rest API Jira
jiraRequest.Open "GET", taskURL
jiraRequest.Send
' Парсим Json ответ
Dim Json As Object
Set Json = JsonConverter.ParseJson(jiraRequest.ResponseText)
getTaskStatus = Json("fields")("status")("name")
End Function
Чтобы все работало:

Такую эксельку можно использовать для интеграции с любым API, просто меняешь параметры функции и готово. Скачать готовый эксель файл.
Вместо функций можно макрос написать и связать с кнопкой, чтоб запросы в жиру уходили после нажатия, полезно если сразу кучу тасков хочется проверить:
Sub getJSON()
Dim taskId As String
Dim jiraRequest As Object
Dim Json As Object
Set jiraRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
jiraRequest.Open "POST", "https://domain-jira.ru/login.jsp?os_username=yourlogin&os_password=yourpass"
jiraRequest.Send
Dim i As Long
For i = 3 To Application.WorksheetFunction.CountA(Range("A3:A300")) + 2
Cells(i, 3) = i
taskId = Range("A" & i)
jiraRequest.Open "GET", "https://domain-jira.ru/rest/api/2/issue/" & taskId
jiraRequest.Send
Set Json = JsonConverter.ParseJson(jiraRequest.ResponseText)
Range("B" & i) = Json("fields")("status")("name")
Range("C" & i) = Json("fields")("priority")("name")
Range("D" & i) = Json("fields")("created")
Range("E" & i) = Json("fields")("summary")
Next
MsgBox "Готово!"
End Sub
Отправляя сообщение, Вы разрешаете сбор и обработку персональных данных. Политика конфиденциальности.