我希望仅在工作日执行某个计划规则(带有通知)。即我想避免在周六和周日收到通知。如何在 YouTrack Workflow 中查看当前的星期几?
问问题
883 次
4 回答
3
使用格式,您可以获得星期几的缩写或全名。
var dayOfWeekAbr = now.format(#E);
var dayOfWeek = now.format(#EEEE);
或使用年-月-日文字(2014-01-05 是星期日):
var day = (created - 2014-01-05).millis / 86400000 % 7;
if (day > 1 && day < 6) {
message("Work day");
}
于 2014-05-01T04:29:59.680 回答
2
我遇到了同样的问题,我没有发现以前的解决方案可读。我实施的解决方案:
var today = now.format(utc).substring(0, 3);
if (today == "Mon" || today == "Tue" || today == "Wed" || today == "Thu" || today == "Fri") {
message("Work day!");
}
于 2014-07-07T09:57:02.163 回答
2
没有定义当前星期几的内置 YouTrack 工作流机制,但简单的解决方法允许这样做:
schedule rule day of week
daily at 10:00:00 [for all issues] {
var monday = {issue: A-1}.created - 1 day;
while (i < 50) {
if (monday + (i * 7) days < now && now < monday + (i * 7 + 5) days) {
//now is the work day
}
}
该问题A-1
是周二创建的示例问题,因此{issue: A-1}.created - 1 day
指的是Monday
.
while
循环查找当前周并定义if()
今天是工作日还是周末。
于 2013-10-09T08:48:46.520 回答
0
可能是专门用于避免周末的最短解决方案,因为周六和周日是唯一以大写“S”开头的日子:
if(!now.format(#E).startsWith("S", opts)) {}
/e:正如 Artem 正确指出的那样,这可能必须采用或不适用于某些本地化 - 它至少适用于德语和英语。
于 2015-10-08T15:12:29.113 回答