Лучший способ сделать это - использовать плагин Jira Automation . Имейте в виду, я не имею никакого отношения к этому плагину; Однако у меня есть опыт его использования, и он идеально подходит для этой цели. Что касается решения python-jira, имейте в виду, что это будет намного сложнее. Сначала вы должны убедиться, что все проблемы решены, это можно сделать с помощью:
def version_count_unresolved_issues(self, id):
"""Get the number of unresolved issues for a version.
:param id: ID of the version to count issues for
"""
return self._get_json('version/' + id + '/unresolvedIssueCount')['issuesUnresolvedCount']
Итак, мы проверим некоторые условные выражения следующим образом:
if not jira.version_count_unresolved_issues('QWER'):
jira.move_version(...)
Функция move_version
выглядит следующим образом:
def move_version(self, id, after=None, position=None):
"""Move a version within a project's ordered version list and return a new version Resource for it.
One, but not both, of ``after`` and ``position`` must be specified.
:param id: ID of the version to move
:param after: the self attribute of a version to place the specified version after (that is, higher in the list)
:param position: the absolute position to move this version to: must be one of ``First``, ``Last``,
``Earlier``, or ``Later``
"""
data = {}
if after is not None:
data['after'] = after
elif position is not None:
data['position'] = position
url = self._get_url('version/' + id + '/move')
r = self._session.post(
url, data=json.dumps(data))
version = Version(self._options, self._session, raw=json_loads(r))
return version
Что касается вашего комментария, взгляните на это, кроме документов:
from jira import JIRA
import re
# By default, the client will connect to a JIRA instance started from the Atlassian Plugin SDK
# (see https://developer.atlassian.com/display/DOCS/Installing+the+Atlassian+Plugin+SDK for details).
# Override this with the options parameter.
options = {
'server': 'https://jira.atlassian.com'}
jira = JIRA(options)
Вы нигде не передаете себя, вы просто вызываете функции экземпляра jira
следующим образом:
jira.version_count_unresolved_issues('QWER')
Вы вообще не передаете себя, экземпляр jira автоматически передается как self за кулисами, пожалуйста, взгляните на документы по python-jira для получения дополнительной информации:
https://jira.readthedocs.io/en/master/examples.html