JIRA / Greenhopper обновляют истории при обновлении подзадач - PullRequest
3 голосов
/ 10 августа 2011

В моем JIRA / Greenhopper, когда я перемещаю подзадачу в разделе «В процессе», могу ли я автоматически перемещать свою историю в «В процессе»?

Также, когда я закрыл все задания в моей истории, он может автоматически переместить мою историю в конец.

Ответы [ 3 ]

1 голос
/ 10 апреля 2012
currUser = ComponentManager.getInstance().getJiraAuthenticationContext().getUser()
currUserName = currUser.getName()
issueServiceObj = ComponentManager.getInstance().getIssueService()
issueParamImpl = IssueInputParametersImpl()
issueParamImpl.setAssigneeId(currUserName)
issueId = issue.getId()
transValiRes = issueServiceObj.validateTransition(currUser,issueId,91,issueParamImpl)
if(transValiRes.isValid()):
   System.out.println("Transition validated")
   transitionResult = issueServiceObj.transition(currUser,transValiRes)
else:
   System.out.println("in else") 

Пожалуйста, дайте мне знать, если я что-то упустил

1 голос
/ 31 августа 2011

Что вы хотите сделать, это добавить пост-функцию к переходу рабочего процесса задачи из «Открыть» в «Выполняется». Эта пост-функция должна перевести родительскую историю пользователя из «Открыть» в «Выполняется». Я использовал плагин 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 .
0 голосов
/ 28 августа 2012

Установите бесплатный плагин JIRA Misc Workflow Extensions Отредактируйте переход "Выполняется", чтобы добавить функцию Post для перехода к родительской проблеме, используя тот же переход "In Progress" (вид ссылки на себя).

Примечание. Предпочитайте использовать идентификатор перехода, поскольку он молча завершается ошибкой, если у вас есть несколько переходов с одинаковым именем.

...