• Ru
  • En

Пользовательская задача (User Task)

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

Ключевые принципы

  • Пользовательские задачи создаются процессным движком в соответствии с моделью процесса.

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

  • Имя топика указывается в конфигурационном параметре camunda-kafka-import.user-task-event-topic=user-task-events.

  • При считывании сообщения система выполняет действия согласно алгоритму:

    • Выполняется поиск пользователя по идентификатору, равному значению, указанному в поле assignee.
    • Выполняется поиск заявки по идентификатору, равному значению, указанному в бизнес-ключе.
    • Выполняется поиск задачи по значению, указанному в поле id.
    • Если задача не найдена, она будет создана и привязана к заявке и ответственному пользователю.
    • Если задача найдена, произойдет обновление её атрибутов согласно данным, содержащимся в сообщении.
    • В обоих случаях произойдет обновление статуса задачи в соответствии с событием, переданным в сообщении.
  • Сопоставление Событие => Статус задачи

    • CREATE => NEW (Новая задача)
    • ASSIGNMENT => ASSIGNED (Назначена)
    • COMPLETE => COMPLETED (Завершена)
    • DELETE => DELETED (Удалена)
  • Пользовательская задача может иметь связанную экранную форму в формате Camunda Forms. Шаблоны экранных форм хранятся в моделях рабочего процесса.

Доступные операции с задачей

  • assign - назначить задачу на пользователя
  • claim - назначить задачу на себя (заклеймить)
  • unassign - убрать исполнителя задачи
  • complete - завершить задачу

При выполнении операции complete в процессный движок отправляется запрос, завершающий задачу.