Что вы хотите сделать, это добавить пост-функцию к переходу рабочего процесса задачи из «Открыть» в «Выполняется». Эта пост-функция должна перевести родительскую историю пользователя из «Открыть» в «Выполняется». Я использовал плагин Jira Scripting Suite и скрипт Jython, чтобы сделать что-то подобное.
Ваш алгоритм будет выглядеть примерно так:
parentUserStory = task.getParentObject()
if (parentUserStory.getStatusObject().getName() == "Open"):
inProgressTransitionID = 41 # This is the id of the transition from Open -> In Progress in the User Story workflow*
workflowManager = ComponentManager.getInstance().getWorkflowManager()
userStoryWorkflow = workflowManager.getWorkflow(parentObject)
usCurrentStep = userStoryWorkflow.getLinkedStep(parentObject.getStatus())
listOfActions = usCurrentStep.getActions()
for act in listOfActions:
if str(act) == "In Progress":
break
else:
log.debug("No match: " + str(act))
iIP = IssueInputParametersImpl()
issueService = ComponentManager.getInstance().getIssueService()
transitionValidationResult = issueService.validateTransition(issue.getAssignee(),parentObject.getId(),act.getId(),iIP)
Ключевые моменты:
- Вы не хотите произвольно изменять статус проблемы. Так лежит безумие. Вместо этого перенесите проблему в рабочий процесс.
- Фактический код для осуществления перехода зависит от вашей версии Jira и выбранного вами языка. Это может быть сложно. Копирование и вставка вышеупомянутого, несомненно, потерпит неудачу. Надеюсь, этого достаточно, чтобы вы начали.
- Дополнительный ресурс: answers.atlassian.com .