Статья "Отложенные задачи"

Планирование наше ВСЁ!

Те, кому не достаточно планирования в Jira с использованием спринтов, те, кому важно сделать планирование более детальным, но в тоже время не забивать голову запоминанием запланированных дат, переносом задач в нужные статусы с наступлением этих дат и т.п - эта статья для вас.

Заявка звучит так: Необходимо чтобы задачи в которых я являюсь исполнителем "лежали" в статусе "Отложено" до определенной даты, с наступлением которой, задачи автоматически попадают в статус "Начать работу".

Далее без лишних слов пошаговая инструкция по решению поставленной задачи:

Шаг 1 для Jira админа на пути к исполнению мечты заказчика - это создание кастомного поля ( Тип поля ‘Date Picker’ назовём «Вернуть в работу») и добавления его на экраны нужных нам типов задач.

Шаг 1.1 Можно сразу создать тестовую задачу(2,3) заполнив поле "Вернуть в работу" сегодняшней датой, чтобы протестить волшебство в реальном времени (либо увидеть ошибки и сразу поправить)))

Шаг 2 Пишем JQL который будет основой дальнейшей автоматизации. В нашем случае это будет выглядеть так:

project = "PROJECT" AND assignee = USER AND status = Отложена AND "Вернуть в работу" = startOfDay() . Данный запрос отбирает задачи, в которых Датой "Вернуть в работу" будет сегодня.

Шаг 3 Технические настройки волшебства ;)

Настройка MyGroovy scheduled tasks

-Add Task 

MyGroovy%20scheduled%20task

 

-Скрипт автоматизации вставить в поле Script code* изменив значение строки "def actionId = " на идентефикатор перехода актуальный для вашего Бизнес процесса (где найти ID смотрите ниже)

import com.atlassian.jira.bc.issue.IssueService

import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.issue.IssueInputParametersImpl

def currentUser = ComponentAccessor.getJiraAuthenticationContext().loggedInUser

doTransition(issue, currentUser) addComment ("Задача возвращена в работу", issue, currentUser)

def addComment (commentText, issue, currentUser) {

def commentManager = ComponentAccessor.getCommentManager() commentManager.create(issue, currentUser,commentText, true) }

def doTransition(issue, currentUser) { IssueService issueService = ComponentAccessor.getIssueService() def actionId = 41

def transitionValidationResult

def transitionResult transitionValidationResult = issueService.validateTransition(currentUser, issue.id, actionId,new IssueInputParametersImpl())

if (transitionValidationResult.isValid()) {

transitionResult = issueService.transition(currentUser, transitionValidationResult)

if (transitionResult.isValid()){

log.debug("Transitioned issue $issue through action $actionId")

} else { log.debug("Transition result is not valid") }

} else { log.debug("The transitionValidation is not valid") }

}

ID перехода (actionID) смотреть так:

Transition%20ID

Шаг 4 Нажимаем кнопочку Cоздать.

Иии если ваш JQL нашел задачи, соответствующие параметрам, волшебство под названием Автоматизация свершится )

ВАЖНО! Пользователь, от чьего имени будет совершаться переход, должен имть ПРАВА на совершение перехода (Смотри и настраивай раздел Permissions (Разрешения)

НЕ МЕНЕЕ ВАЖНО wink Удали тестовые задачи после удачного опыта!

Благодарю за внимание! Круто, если тебе пригодится cool