Rate this post

Плагин Jira используется для внедрения сложных процессов. Представляет собой различные расширения для настройки рабочих процессов в Jira, среди которых весьма полезные функционал по тонкой настройке графа бизнес-процесса, проверке заполнения полей, обеспечению взаимосвязи между задачами, настройкам доступа к задачам. Плагин также может быть полезен при построении различных автоматизаций, используемых в девопс.плагин jira musicnnПосле установки плагина в системе появляются дополнительныеn

Условия:

  • Previous Status Condition
  • Scripted (Groovy) Condition
  • Separation of Duties Condition
  • Hide transition

Валидаторы:

  • Field has single value Validator
  • Field has been modified Validator
  • Field is required Validator
  • Previous Status Validator
  • Parent Status Validator
  • Comment Required Validator
  • Scripted (Groovy) Validator

Post-функции:

  • Increase value of field
  • Set field value from User Property value
  • Add Field Value to Parent
  • Copy Field Value to Parent
  • Set Field Value from Parent
  • Set Field Value from Linked Issue
  • Copy Field Value To Linked Issues
  • Set Field Value of Linked Issues
  • Set Field Value to constant or Groovy expression
  • Assign to role member
  • Assign to last role member
  • Set issue security level based on user’s project role
  • Transition issue
  • Transition parent issue
  • Transition linked issues
  • Copy Value From Field to Field
  • Comment issue
  • Comment linked issues

Их все можно сгруппировать по определенным признакам. Для каждой группы описана зона применения, а для наиболее интересных, по мнению автора, функций приведены примеры использования. Для полного понимания остановимся еще на определениях и некоторых теоретических моментах работы бизнес-процессов. В настройках бизнес-процесса можно обнаружить Условия (Conditions) и Проверки или валидаторы (Validators).Если не выполняется условие, то переход (в виде кнопки в интерфейсе работы с задачей) вообще не будет виден пользователю, а если не выполняется проверка, то на экране перехода будет сообщение о том, что переход невозможен.n

Создание значения полей из скриптов или выражений Groove:

  • Scripted (Groovy) Condition. Пользовательское условие, базирующееся на Groovy скриптах и выражениях.
  • Scripted (Groovy) Validator. Пользовательская проверка, базирующаяся на Groovy скриптах и выражениях.
  • Set Field Value to constant or Groovy expression. Функция заполнения значения поля из строки выражения Groovy.
  • Comment issue. Функция создания комментария из строки выражения Groovy.

Формирование взаимосвязей между задачами:

  • Add Field Value to Parent. Функция добавляет значение в multi-select поле родительской задачи.
  • Copy Field Value to Parent. Функция копирует значение поля в поле родительской задачи.
  • Set Field Value from Parent. Функция, которая устанавливает значение поля в соответствии с полем родительской задачи.
  • Set Field Value from Linked Issue. Функция, которая устанавливает значение поля в соответствии с полем прилинкованной задачи.
  • Copy Field Value To Linked Issues. Функция, которая копирует значение поля во все прилинкованные задачи с определенным типом линкования.
  • Set Field Value of Linked Issues. Функция заполнения значения поля для прилинкованных задач текущей задачи из строки выражения Groovy.
  • Transition parent issue. Функция изменения статуса родительской задачи.
  • Transition linked issues. Функция изменения статуса всех прилинкованных задач с определенным типом линкования.
  • Comment linked issues. Функция создания комментария для прилинкованных задач текущей задачи из строки выражения Groovy.

Контроль выполнения требований по ведению процесса и заполнению полей задач:

  • Field has been modified Validator. Проверка на то, что поле должно быть изменено при переходе.
  • Field is required Validator. Проверка на то, что поле не должно быть пустым в момент перехода.
  • Comment Required Validator. Проверка на то, что комментарий должен быть добавлен при переходе.
  • Field has single value Validator. Проверка на то, что multi-select поле, не имеет более одного значения в момент перехода.
  • Parent Status Validator. Проверка на то, что родительская задача для задачи, которая совершает переход, должна быть в определенном статусе.

Создание автоматизаций:

  • Hide transition. Условие, позволяющее спрятать переход от пользователя. В таком случае переход может быть выполнен только программно, из функции процесса.
  • Transition issue. Функция изменения статуса текущей задачи. Тут требуется пояснение. Например, при переводе задачи в состояние «Выполнение», она автоматически переводится в состояние — «Готово». Это может быть полезным, если в избранных случаях бизнес процесса перед переходом в статус «Готово» требуется выполнить пост-функции, относящиеся  к статусу «Выполняется». Еще одна  ценность этой пост-функции в том, что дополнительный переход может выполняться по проверке, реализованной с помощью Groovy. В таком случае функция приобретает очень полезный смысл для автоматизации. Например, задача требует выполнения определенных настроек. Скрипт Groovy получает эти настройки, и если они соответствуют требуемым, то задача автоматически переводится в состояние «Готово», а в противном случае остается в состоянии «Выполнение». Можно усложнить, вызвав перед этой пост-функцией функцию, выполняющую изменение настроек. Тогда выражение Groovy будет выступать в роли контролера работы функции по настроек системы.

Настройки разрешений доступа к задачам:

  • Assign to role member. Назначает задачу члену роли. Имеет 4 варианта:
  • Присвоить задачу дефолтному члену роли независимо от значения поля Assignee на экране перехода.
  • Назначить задачу дефолтному члену роли, только если пользователь выбирает «Автоматически» в качестве получателя на экране перехода. Если назначен конкретный исполнитель, не делать ничего.
  • Использовать назначенного исполнителя, выбранного на экране перехода, если он является членом требуемой роли, в противном случае назначить задачу дефолтному члену роли.
  • Использовать назначенного исполнителя, выбранного на экране перехода, если он был изменен пользователем или если он находится в состоянии «Автоматически», в противном случае назначить задачу дефолтному члену роли.

Перед выполнением может быть выполнена пользовательская проверка выражения Groovy. В случае если значение по умолчанию для члена роли не назначено, то задача будет назначена на члена роли, который идет первым в списке.n

  • Assign to last role member. Назначает задачу члену роли, которому она была назначена ранее.
  • Set issue security level based on user’s project role. Назначает задаче SecurityLevel в соответствии с ролью пользователя в проекте.

Другие проверки и функции:

  • Previous Status Condition. Условие проверки наличия или отсутствия предыдущего статуса задачи. Например, задача инвентаризации. При первичной инвентаризации создается паспорт оборудования, а при повторных — нет. Формируется бизнес-процесс, в рамках которого переход в статус «Формирование паспорта» происходит только в случае, если до этого не было статуса «Повторная инвентаризация». То есть, если инвентаризация повторная, то кнопка «Формирование паспорта» просто не будет видна пользователю.
  • Separation of Duties Condition. Условие, запрещающее пользователю выполнять переход, если он уже выполнил другой переход. Например, при проверке качества выполнения: если специалист выполнял переход в статус «выполнение», то он не может закрыть задачу, потому что кто-то другой должен подтвердить, что задача выполнено качественно.
  • Previous Status Validator. Проверка на то, что задача прошла через определенный статус до момента перехода. Пример – публикация статьи. Статусы задачи: «Новая» — «В работе» — «готово к публикации» — «в работе» — «выполнено». Статус «в работе» одинаков для отдела писателей и рецензентов, однако для того, чтобы статья не избежала публикации можно применить эту проверку.
  • Set field value from User Property value. Функция, которая устанавливает значением поля одно из свойств Пользователя, выполняющего переход. Например, Вы ведете учет Ваших клиентов в Jira, у каждого клиента указан номер телефона. Когда клиент создает задачу (например, через e-mail) его номер телефона цепляется к задаче, чтобы потом, когда задача будет выполнена, система могла автоматически уведомить клиента через смс. Или Вы хотите повышать приоритет задачи, которая поставлена высоким руководством. В свойствах пользователя указываете, ранг пользователя – VIP. При создании задачи — заполняете поле задачи в соответствии с рангом создателя, а после этого — выставляете приоритет выше, если это поле заполнено.
  • Copy Value From Field to Field. Функция копирования одного значения поля в другое. Значение может быть скопировано до изменения его в рамках этого перехода.

Если вам нужна помощь в настройке плагина JIRA Misc Workflow Extensions в вашей конфигурации Jira, наши специалисты могут Вам помочь, [email protected]