Как определить, был ли один рабочий процесс YouTrack запущен другим - PullRequest
1 голос
/ 10 марта 2020

Рабочий процесс A - это рабочий процесс при изменении, который проверяет, был ли последний человек, который обновил проблему, входил в группу Global Developers. Если нет, срок действия поля будет продлен на 48 часов.

Рабочий процесс B - это рабочий процесс по расписанию, который оставляет комментарии по вопросам на основе даты окончания срока действия.

Когда кто-то, кто не входит в группу Global Developers, был последним пользователем, обновившим билет

  1. Рабочий процесс A продлевает срок действия на 48 часов
  2. Рабочий процесс B оставляет комментарий за 24 часа до того, как дата истечения срока действия
  3. Этот комментарий запускает рабочий процесс A, который проверяет, в какой группе находится модуль обновления ctx.issue.updatedBy.isInGroup("Global Developers")
  4. Программа обновления не входила в группу Global Developers, поэтому дата окончания срока действия получает продлен на 48 часов
    (а затем l oop продолжается до тех пор, пока я его не поймаю и не исправлю дату истечения срока действия)

На шаге 3 как можно игнорировать обновления сделано Workflow B?

1 Ответ

1 голос
/ 10 марта 2020

Правило onSchedule выполняется от имени специального системного пользователя, его логин начинается с 'workflow_user_'. Вы можете получить доступ к логину через ctx.currentUser.login.

...