Использование таймера в правилах

Добрый день. Столкнулся с такой проблемой. Я написал JS-ное правило, которое шлет уведомление в Slack, в случае, если issue перешло в состояние TestReady. Но этого оказалось недостаточно. Мне нужно, чтобы при переходе из состояния In Testing -> TestReady правило ждало, допустим, 10 секунд. А затем снова проверяло состояние issue, и слало уведомление, если состояние осталось в TestReady. Проблема заключается в том, что пока таймер в правиле не отработает, вносить в issue (на agile board) какие-либо другие изменения нельзя (таймер использовал самопальный). Есть какой-нибудь вариант таймера/правила, который работал бы асинхронно?

// t - задержка в милисекундах

exports.timer = function(t)
{
     var timer = Date.now() + t;
     while(t > 0)
     {
            t = timer - Date.now();
     }
};

3 comments
Comment actions Permalink
Official comment

Здравствуйте,

Попробуйте, пожалуйста, стандартный таймер window.setTimeout().
Надеюсь, это поможет. 

Comment actions Permalink

Anastasia Bartasheva, спасибо за ответ. На него напрашивается очередной вопрос. Как использовать стандартные методы JS? Я пробовал использовать setTimeout(), и сейчас попробовал window.setTimeout(). Но либо setTimeout, либо window не определены. Как-то через require это всё стороннее тоже подключается? 

0
Comment actions Permalink

Извините, пожалуйста, дезынформировала Вас. К сожалению, асинхронность в вокрфлоу не поддерживается, т.к. действие происходит в рамках одной транзакции. 

0

Please sign in to leave a comment.