Python JIRA rest api - Журнал изменений фильтра - PullRequest
1 голос
/ 13 января 2020

Я могу прочитать журнал изменений выпуска JIRA в python, как показано ниже

changelog_response = requests.get(self.JIRA_URL + 'rest/api/2/search?jql=key=' + key_value + '&expand=changelog&fields=""',                                                                            auth=(self.JIRA_USERNAME, self.JIRA_PASSWORD))
json_issue_changelog = changelog_response.json()

Я запускаю приведенный выше код в FOR loop, чтобы прочитать подробности журнала изменений для всех проблем JIRA.

Цель: Я читаю журнал изменений, чтобы получить все сведения о переходе спринта в проблему. Скажем, если проблема не была завершена в назначенном спринте, то он был перенесен на следующий спринт. Итак, выпуску было назначено два спринта. Точно так же я должен выяснить все проблемы через l oop

Меня интересуют только детали спринта, но журнал изменений даст мне все детали. Есть ли способ отфильтровать оставшийся API журнала изменений JIRA для чтения только спринта? Я попытался найти, но, похоже, фильтр не поддерживается для журнала изменений.

Из-за того, что я запускаю журнал изменений для всех проблем, выполнение сценария занимает часы.

Общее количество проблем в проекте составляет 50000. Каждая проблема имеет в среднем 15-20 журналов изменений, но проблема перемещается только между двумя или тремя спринтами. итак, 20 change log iteration (max) * 50k issues = 1 million. Эта итерация может увеличиться, когда регистрируется больше проблем.

вопросы:

  • Как отфильтровать оставшийся API журнала изменений JIRA по Field = Sprint?
  • Если фильтр для журнала изменений невозможен, есть ли другой способ напрямую прочитать подробности перехода спринта? Это должно быть сделано только через JIRA rest api, а не через любую библиотеку

1 Ответ

0 голосов
/ 13 января 2020

Единственное, что мне когда-либо удавалось сделать, - это обработать журнал изменений от самого нового до самого старого изменения и игнорировать изменения старше определенной даты. В противном случае вам нужно будет создать новую конечную точку REST, которая выбирает элементы изменений в БД с предложением where, чтобы получить только те, которые вы хотите. Непростая вещь

...