How to start on-schedule rule?
It should write "test" on console every five seconds? But it's don't.
var entities = require('@jetbrains/youtrack-scripting-api/entities');
exports.rule = entities.Issue.onSchedule({
title: 'Test_reviewer_notify',
search: "#Unresolved",
cron: '0/5 ? ? ? ? ?',
guard: function(ctx) {
return true;
},
action: function(ctx) {
var issue = ctx.issue;
console.log("test");
},
requirements: {
}
});
Please sign in to leave a comment.
Your cron expression is incorrect, cron has a different syntax.
In your case cron should be `0/5 * * * * ?`.
See more details and examples at http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html
Мария, здравствуйте!
Большое спасибо, помогло.
Я читал эту страницу, но у меня как-то не возникло полного понимания разницы между "*" и *?*. Первое — "любое", второе — что-то вроде "неважно". Не могли бы Вы пояснить принципиальную разницу?
Действительно, разница в том, что одно - "любое", а второе - "неважно" (иными словами, "разберись сам, cron"). Использование "?" на практике имеет смысл, например, тогда, когда вы определяете день. Четвёртый параметр - это день месяца, а шестой - день недели. Они напрямую связаны в том смысле, что один надо определить (он может быть конкретным значением), а второму выставить "неважно". Например:
"0 0 10 * * ?" - любой день месяца (в 10 утра), день недели неважен
"0 0 10 0/3 * ?" - каждый третий день месяца, день недели неважен
"0 0 10 ? * MON-FRI" - каждый будний день, день месяца не важен (потому что будные дни будут выпадать на разные дни месяца, и если указывать правила выбора для месяца и дня недели одновременно бесполезно)
По правилам крона, у вас всегда либо 4-й, либо 6-й параметр должны быть равны "?", остальные 5 - нет.
Понял, большое спасибо!
I've attempted to run a very similar test with the reminder workflow. I see nothing in console at all. To simplify, I created a test workflow with the below script:
var entities = require ('@ jetbrains / youtrack-scripting-api / entities');
exports.rule = entities.Issue.onSchedule ({
// TODO: give the rule a human-readable title
title: 'Test',
// TODO: define which issues are processed
search: '#Unresolved',
// TODO: set the schedule
// For format details refer to http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html
cron: '0 0/1 * 1/1 *? *',
guard: function (ctx) {
// TODO specify the conditions for executing the rule
return true;
},
action: function (ctx) {
console.log ("TEST");
var issue = ctx.issue;
// TODO: specify what to do at the scheduled time
},
requirements: {
// TODO: add requirements
}
});
Were you ever able to get yours to work?
Hi Jpalmer,
It looks like you have an incorrect cron expression. You need to write it as follows: '0 0/1 * 1/1 * ? *' (a space is missed)
Hello, I try to start on-schedule rule, but don't see anything in logs:

Ilya Pereverzev123 I've replied in your other thread: https://youtrack-support.jetbrains.com/hc/en-us/community/posts/15204819216146-How-to-test-on-schedule-rule-?page=1#community_comment_15209497335954. Let's continue there if any follow-up questions appear.