Расширенная настройка рабочего процесса

На этой странице описывается настройка переходов в рабочих процессах JIRA. Информацию об основных принципах работы см. в разделе «Настройка рабочего процесса».

В качестве администратора JIRA вы можете контролировать следующие аспекты поведения перехода:

  • Триггеры - переход задач JIRA возникает, когда определенные события происходят в подключенном инструменте разработки, таком как Bitbucket.
  • Условия - убедитесь, что пользователь должен выполнить переход.
  • Валидаторы - убедитесь, что любой вход для перехода (например, пользователем) действителен до того, как будет выполнен переход.
  • Функции почты - выполняют дополнительную обработку после выполнения перехода.
  • Свойства - это пары ключ-значение, которые можно использовать для дальнейшей настройки переходов.

Также на этой странице:

Триггеры

Администраторы JIRA могут настраивать триггеры в рабочих процессах JIRA, которые реагируют на события в ваших связанных инструментах разработки. Это позволяет вам настроить инструменты разработки и рабочие процессы JIRA, чтобы, например, когда разработчик создал ветку для начала работы над проблемой в Bitbucket, проблема будет автоматически переходить из «Открыть» (Open) в «Выполняется» (In progress).

 

Если вы еще не настроили триггер раньше или хотите узнать о триггерах более подробно, см. наше руководство по триггерам здесь: «Настройка триггеров рабочего процесса». В руководстве также показано, как настроить рабочий процесс с помощью триггеров, как в приведенном примере: рабочий процесс разработки с триггерами (из Atlassian Marketplace).

Настройка триггеров

Чтобы просмотреть или установить триггеры для перехода, отредактируйте рабочий процесс, содержащий переход, выберите переход и нажмите «Триггеры» (Triggers) на панели свойств для перехода.

 

Не уверены в этом? Нажмите здесь, чтобы посмотреть, как ...

Чтобы добавить триггер к переходу:

  1. Войдите в систему как пользователь с глобальным разрешением «Администраторы JIRA».
  2. Выберите  >«Задачи». Выберите «Рабочие процессы», чтобы открыть страницу «Рабочие процессы», в которой отображаются все рабочие процессы в вашей системе.
  3. Нажмите «Изменить» для рабочего процесса, у которого есть переход, который вы хотите изменить.
  4. В конструкторе Workflow выберите переход:
  5. Нажмите «Триггеры» на панели свойств, чтобы отобразить триггеры, настроенные для перехода.

6. Нажмите «Добавить триггер» на вкладке «Триггеры», чтобы настроить триггер.

Условия

Условия контролируют, должен ли пользователь выполнять переход. В качестве примеров можно использовать следующие условия :

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

Если условие не выполняется, пользователь не увидит кнопку перехода на странице «Просмотр задачи» (View issue) и поэтому не сможет выполнить переход.

 

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

 

В следующих разделах описывается:

Добавление условия

Чтобы добавить условие к переходу, отредактируйте рабочий процесс, содержащий переход, выберите переход и нажмите «Условия» на панели свойств для перехода.

 

Не уверены в этом? Нажмите здесь, чтобы посмотреть, как ...

Чтобы добавить условие к переходу:
  1. Войдите в систему как пользователь с глобальным разрешением «Администраторы JIRA».
  2. Выберите >«Задачи». Выберите «Рабочие процессы», чтобы открыть страницу «Рабочие процессы», в которой отображаются все рабочие процессы в вашей системе.
  3. Нажмите «Изменить» для рабочего процесса, у которого есть переход, который вы хотите изменить.
  4. В конструкторе Workflow выберите переход:

  5. Нажмите «Условия» на панели свойств.

На вкладке «Условия» (Conditions) вы можете увидеть любые условия, которые уже были установлены.

Когда вы нажимаете «Добавить условие» (Add condition), вы можете выбрать его из доступных условий и задать любые необходимые параметры для условия:

Дополнительные установки могут быть доступны из установленных плагинов. или вы можете создавать свои собственные условия с помощью системы плагинов; см. «Модули плагинов рабочего процесса.

Обратите внимание, что вы также можете редактировать переход в режиме «Текст».

Условия группировки

Вы можете создавать новые условия путем их группировки и условий вложения.

Измените любое условие в группе, щелкнув значок «Добавить сгруппированное условие» (Add grouped condition) для условия:

Теперь вы можете добавить дополнительные условия для этой новой группы, как описано выше.

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

Валидаторы

Валидаторы проверяют, что любой ввод, сделанный для перехода, действителен до перехода. Входные данные могут включать в себя данные, собранные пользователем на экране перехода.

 

Если валидатор выходит из строя, задача не переходит к статусу назначения перехода, и функции почты перехода не выполняются.

Добавление валидатора

Чтобы добавить валидатор к переходу, отредактируйте рабочий процесс, который содержит переход, выберите переход, затем нажмите «Validators» на панели свойств для перехода.

Не уверен в этом? Нажмите здесь, чтобы посмотреть, как ...

Чтобы добавить валидатор к переходу:
  1. Войдите в систему как пользователь с глобальным разрешением «Администраторы JIRA».
  2. Выберите >«Задачи». Выберите «Рабочие процессы», чтобы открыть страницу «Рабочие процессы», в которой отображаются все рабочие процессы в вашей системе.
  3. Нажмите «Изменить» для рабочего процесса, у которого есть переход, который вы хотите изменить.
  4. В конструкторе Workflow выберите переход:
  5. Нажмите «Валидаторы» на панели свойств.

На вкладке «Валидаторы» (Validators) вы можете увидеть все уже установленные валидаторы.

Когда вы кликаете «Добавить валидатор» (Add validator), вы можете выбрать из доступных валидаторов и задать любые необходимые параметры для валидатора.

 

Обратите внимание, что вы также можете редактировать переход в режиме «Текст».

Почтовые функции

Функции post выполняют любую дополнительную обработку, необходимую после выполнения перехода, например:

  • обновление полей задачи
  • генерация истории изменений для задачи
  • добавление комментария к задаче
  • создание события для запуска уведомлений по электронной почте

 

В следующих разделах описывается:

Основные функции почты

Каждый переход JIRA имеет следующие основные функции почты, которые выполняются в следующем порядке:

  1. Задайте статус задачи (Issue status) к связанному статусу назначения рабочего процесса назначения.
  2. Добавьте (Add) комментарий к задаче, если он введен во время перехода.
  3. Обновите (Update) историю изменений для задачи и сохраните ее в базе данных.
  4. Проиндексируйте (Reindex) задачу, чтобы синхронизировать индексы с базой данных.
  5. Инициируйте (Fire) событие, которое может быть обработано пользователями.

Эти важные функции почты не могут быть удалены из перехода или переупорядочены. Тем не менее, вы можете вставить другие (дополнительные) функции почты между ними.

Дополнительные  поcт-функции

JIRA включает несколько необязательных пост-функций, которые могут быть добавлены к переходам.

Нажмите, чтобы просмотреть список функций почты ...

Дополнительная функция post

Описание

Назначить текущего пользователя

Назначает задачу пользователю, выполняющему переход.

(info) Эта функция post игнорируется, если пользователь не имеет права назначаемого пользователя. Создайте условие, чтобы предоставить зарегистрированному пользователю это разрешение перед выполнением перехода.

Назначить ведущего разработчика

Присваивает задачу ведущему компоненты, если таковой существует, или проекту.

Назначить репортеру

Назначает задачу пользователю, создавшему задачу.

Создать функцию работы Perforce

Создает задание Perforce (если требуется) после завершения перехода рабочего процесса.

Уведомление HipChat

Отправляет уведомление в одну или несколько комнат HipChat. См. Использование функции post для отправки уведомлений HipChat для получения дополнительной информации.

Запуск веб-узла

Запускает указанный webhook после завершения перехода рабочего процесса.

 

Когда вы добавите эту функцию сообщения, вам будет предложено указать веб-сайт. Этот веб-сайт уже должен быть определен в JIRA (см. «Управление веб-узлами»).

Обновление поля задачи

Обновляет одно из полей задачи до заданного значения. Поля, которые могут быть обновлены, включают:

  •          правопреемник
  •          Описание
  •          Окружающая среда
  •          приоритет
  •          разрешение
  •          Резюме
  •          Оригинальная оценка
  •          Оставшаяся оценка

Эта функция сообщения не может обновлять настраиваемые поля и должна располагаться после других дополнительных функций post.

 

Дополнительные функции почты могут быть доступны из установленных плагинов. или вы можете создавать свои собственные функции почты с помощью системы плагинов; см. модули модулей рабочего процесса.

Добавление функции почты

Чтобы добавить пост-функцию к переходу, отредактируйте рабочий процесс, содержащий переход, выберите переход и нажмите «Опубликовать функции» на панели свойств для перехода.

Не уверены в этом?

Нажмите здесь, чтобы посмотреть, как ...

Чтобы добавить функцию post  к переходу:
  1. Войдите в систему как пользователь с глобальным разрешением «Администраторы JIRA».
  2. Выберите «Задачи». Выберите «Рабочие процессы», чтобы открыть страницу «Рабочие процессы», в которой отображаются все рабочие процессы в вашей системе.
  3. Нажмите «Изменить» для рабочего процесса, у которого есть переход, который вы хотите изменить.
  4. В конструкторе Workflow выберите переход:
  5. Нажмите «Post функции» на панели свойств.

На вкладке «Функции почты» вы можете увидеть любые функции почты, которые уже были установлены:

Когда вы кликаете «Добавьте функцию пост» (Add post function), вы можете выбрать из доступных функций почты и задать любые необходимые параметры.

Параметры редактирования или удаления функции почты и изменения порядка выполнения находятся справа от вкладки (наведите курсор мыши на них).

Обратите особое  внимание, что вы также можете редактировать переход в режиме «Текст».

Использование пост-функций с начальным переходом

Вы можете добавить пост-функции  в исходный переход рабочего процесса, когда вам нужно выполнить задачи обработки - например, задание значения конкретного поля - при создании задачи. Первоначальный переход называется «Создать» (Create) (если вы создали пустой рабочий процесс) или «Создать задачу» (Create Issue) (если вы копируете системный рабочий процесс).

JIRA включает следующие основные пост-функции, которые являются специфическими для начального перехода рабочего процесса и выполняются в следующем порядке:

  1. Создайте (Create) задачу.
  2. Инициируйте (Fire) событие, которое может быть обработано пользователями.

Следующие дополнительные функции почты доступны специально для начального перехода:

Дополнительная пост- функция (только начальный переход)

Описание

Создание комментария

Добавляет комментарий к задаче, если он вводится во время перехода.

Обновление статуса задачи

Устанавливает статус задачи к связанному статусу назначения рабочего процесса.

Сохранение задачи

Сохраняет обновления задачи (история изменений не создается).

 

Кроме того, стандартные исходные post функции могут быть добавлены к первоначальному переходу,

Дополнительные функции post, добавленные в переход «Создать» (Create), должны быть помещены перед функцией «Создать задачу изначально» (Create the issue originally).

Если вы хотите, то возможно настроить начальный статус вашего рабочего процесса на другой начальный переход.

Подробнее см. в разделе «Настройка начального статуса».

Заметки

Если вам нужно установить поле «Разрешение» (Resolution) при создании задачи, добавьте пост-функцию «Обновить поле задачи» (Update Issue Field) после функции «Создать задачу» (Create the issue), а после этого используйте пост-функцию «Сохранить задачу» (Store Issue). Пост-функция  «Сохранить задачу» (Store Issue) полезна для установки поля «Разрешение» (Resolution) во время создания задачи.

Тем не менее, используйте только пост-функцию «Сохранить задачу» (Store Issue), если это необходимо по следующим причинам:

не создает историю изменений

не может сохранять поля, имеющие отношение «один ко многим» к задаче (например, «Версия» (Version) или «Компонент» (Component))

Использование функции post для установки поля

Вы можете использовать функцию «Обновить поле задачи» (Update Issue Field), чтобы установить значение поля задачи после выполнения определенного перехода.

 

Например, вам может потребоваться переход, который переводит задачу в закрытый статус, чтобы автоматически установить поле «Разрешение» (Resolution).

 

Пример. Использование функции post для установки поля «Разрешение» (Resolution) :

  1. Отредактируйте (Edit) рабочий процесс с переходом и перетащите его между портами статусов для создания нового перехода:

  1. Выберите либо «Нет» (None), либо экран, который не содержит поля «Разрешение» (Resolution).

  1. Добавьте новую пост- функцию типа «Обновить поле задачи» (Update Issue Field) и:
    • Выберите «Разрешение» (Resolution) в списке «Поля задачи» (Issue Field).
    • Выберите подходящее разрешение из списка «Значения поля» (Field Value).

Чтобы создать переход, который очищает поле «Разрешение» (Resolution), выполните те же шаги, что описанны выше, чтобы добавить к вашему обновлению пост-функцию «Обновить поле задачи» (Update Issue Field). Однако выберите «Нет» (None) в списке «Значение поля» (Field Value).

Список пост-функций для этого перехода включает следующее утверждение:

Решение задачи будет устранено.

Каждый раз, когда выполняется один из этих переходов, разрешение задачи автоматически устанавливается или очищается, как указано в этих пост-функциях.

Использование функции post для отправки уведомлений HipChat

Вы можете использовать функцию уведомления Notify HipChat для отправки уведомления в одну или несколько комнат HipChat всякий раз, когда задача проходит через переход с этой функцией post. Вы также можете добавить JQL-запрос (query) к функции «Notify Hipchat»  для фильтрации задач, которые будут вызывать уведомление HipChat.

Чтобы отправить уведомления HipChat, выполните следующие шаги:

  1. Создайте или отредактируйте свой переход.
  2. Добавьте новую пост-функцию типа «Уведомлять HipChat».
  3. На странице «Добавить параметры в функцию» (Add Parameters to Function):
    1. При желании укажите JQL-запрос(query). Только задачи, соответствующие запросу (query), будут отправлять уведомления. Оставьте это поле пустым, чтобы отправлять уведомления обо всех задачах, которые проходят через этот переход.
    2. Выберите комнаты HipChat, которые вы хотите связать с переходом рабочего процесса.

Использование функции post для отправки уведомлений по электронной почте

Используйте пост-функцию «Инициализация события, которое может быть обработано  слушателями» (Fire an event that can be processed by the listeners), чтобы запустить «Generic Event», которое является встроенным событием JIRA, которое может использоваться для запуска отправки уведомлений по электронной почте после выполнения определенного перехода.

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

Когда переход выполняется, JIRA будет:

  • Просматривать схему уведомлений, связанную с проектом задачи, и указывать пользователей, связанных с запущенным событием;
  • Отправлять уведомление по электронной почте каждому пользователю.

Пример: Использование post функции  для запуска Generic Event для отправки уведомлений по электронной почте:

  1. Создайте или отредактируйте свой переход.
  2. Перейдите на вкладку перехода «Пост функции» (Post Functions) и отредактируйте пост функцию «Инициализация события, которое может быть обработано пользователями» (Fire an event that can be processed by the listeners).
  3. Выберите Generic Event из списка событий.

Свойства перехода

Свойства - это пары ключ-значение, которые можно использовать для дальнейшей настройки переходов. Например, свойства перехода могут помочь расширить скопированный системный рабочий процесс, чтобы позволить языковые переводы.

  Чтобы просмотреть и отредактировать свойства перехода, выполните следующие шаги:

  1. Выберите переход на диаграмме.
  2. Нажмите «Свойства» (Properties) на панели «Свойства».
  3. Или:
    • Добавьте (Add) новое свойство к переходу.
    • Удалите (Delete ) свойство, щелкнув значок справа от свойства.

Обратите внимание, что вы также можете редактировать переход в режиме «Текст».

Можно реализовать ограничения на переходы с использованием свойств перехода. Дополнительные сведения см. в разделе «Свойства рабочего процесса».

Настройка отображения переходов

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

Чтобы изменить порядок кнопок перехода, включая дополнительные переходы в меню «Рабочий процесс» (Workflow), добавьте последовательность клавиш opsbar свойства к каждому переходу рабочего процесса, который вы хотите изменить. 

Каждый ключ свойства opsbar-sequence требует значения свойства, которое определяет порядок действия перехода на представлениях задач.

  1. Перейдите к свойствам перехода, как описано выше в свойствах перехода.
  2. Введите opsbar-последовательность в поле «Свойство ключа» (Property Key), в разделе «Добавить новое свойство» (Add New Property).
  3. Введите значение в поле «Значение свойств» (Property Value). Значение должно быть положительным целым числом (начиная с «0»); он определяет порядок кнопок перехода на представлениях задач. Подумайте об использовании последовательности значений свойства opsbar-sequence, таких как 10, 20, 30 ..., чтобы новые добавления можно было легко добавить позже.
  4. Нажмите «Добавить» (Add).

Добавление свойства opsbar-sequence к переходу рабочего процесса не изменяет порядок этих переходов в рабочем процессе в режиме редактирования текста. Добавление этого свойства влияет только на порядок переходов на странице «Просмотр задачи» (View issue).

Глобальные переходы

Глобальные переходы позволяют любому статусу в рабочем процессе перейти к определенному статусу.

Вы можете добавить глобальный переход:

  • При создании нового статуса (добавление существующего статуса) - установите флажок «Добавить глобальный переход к статусу» (Add global transition to status).
  • Выбрав статус и проверив «Разрешить всем статусам перейти на этот статус» (Allow all statuses to transition to this one) на панели свойств статуса.

Чтобы создать два глобальных перехода, которые указывают на один и тот же шаг назначения, выполните следующие шаги:

  1. Из дизайнера рабочего процесса создайте первый глобальный переход как обычно, выбрав шаг и выбрав «Разрешить всем статусам переход к этому статусу» (Allow all statuses to transition to this one).
  2. Создайте второй глобальный переход на любом другом шаге, который в настоящее время не имеет глобального перехода, указывающего на него.
  3. Затем из текстового редактора выберите второй глобальный переход, который вы создали.
  4. Нажмите кнопку «Изменить» (Edit) и измените «Шаг назначения» (Destination Step) на тот же шаг, который вы выбрали для первого глобального перехода, а затем нажмите «Обновить» (Update).

 

По материалам Atlassian JIRA Administrator's Guide: Advanced workflow configuration