2015-11-19 6 views
1

Мне нужно сообщить о ежемесячной базе по количеству билетов по приоритету в джире. Я знаю, что могу сделать это на веб-портале jira, используя фильтры/расширенный поиск. Но это дает мне все детали билетов, а не то, что я хочу. Я пытаюсь сделать отчет об этом. Так что лучший способ сделать это? Я попытался использовать curl и jira rest api с помощью jql, но это дает мне json-файл со всеми подробностями. Мне нужно только количество билетов по приоритету. Может ли jql сделать это или мне нужно загрузить этот json-файл в какое-то приложение и проанализировать его?запрос на jira data rest api jql

ответ

2

Невозможно специально выбрать подсчеты с использованием JQL или API REST.

Однако решение, ограничивающее возврат большого набора результатов из JIRA, заключается в использовании метода API POST /rest/api/2/search, который позволяет вам поставлять JQL-запрос вместе с полями, которые вы хотите вернуть в результирующем наборе, и количеством результаты, которые вы хотите вернуть.

Релевент JIRA документы здесь: https://docs.atlassian.com/jira/REST/latest/#api/2/search

Например:

{ 
    "jql": "project = PROJECTKEY and priority = \"Must Have\"", 
    "maxResults": 1, 
    "fields": ["status"] 
} 

Это возвращает объект JSON, содержащий количество результатов. Поставка maxResults: 1 будет означать, что в списке проблем возвращается только один результат.

{ 
    "expand": "names,schema", 
    "startAt": 0, 
    "maxResults": 1, 
    "total": 354, 
    "issues": [ 
    {...} 
    ] 
} 

Вы можете использовать total свойство для вашего счета.

Конкретного пример с использованием Скручивания

curl -i -u username:password -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d '{"jql": "project = PROJECTKEY and priority = \"Must Have\"","fields": ["status"], "maxResults": 1}' https://jira.url/rest/api/2/search 

К сожалению, существует ограничение этого решения;

  1. Вы должны были бы обеспечить приоритет в качестве входных данных (а не просто иметь JIRA агрегировать результаты)
  2. Вам нужно сделать один запрос за приоритет для того, чтобы восстановить подсчет всех известных приоритетов

Если эти ограничения неприемлемы, вы можете выбрать все проблемы для проекта и только вернуть поле priority. Затем вам придется разбирать JSON и собирать результаты самостоятельно. Обратите внимание, однако, что результаты API: paged, поэтому вы не обязательно получите все проблемы, возвращенные из одного результата.

От JIRA REST API Docs;

maxResults (ИНТ) максимальное количество вопросов для возврата (по умолчанию 50). Максимально допустимое значение определяется свойством JIRA «jira.search.views.default.max». Если вы укажете значение, превышающее это число, результаты поиска будут усечены.