10

We use Jira Agile with a "Daily Scrum" board which filters for issues due in the last day. This will show us the issues we should have fixed yesterday and the issues we will fix today. This works great, except for Mondays.

On Monday we want to see the issues that had a due date of friday or duedate of today. How can I achieve this using JQL? It seems JQL doesn't support IF(), correct?

If it does, we might find a way using a compare like now() == startOfWeek().

Abdulla Nilam
  • 29,776
  • 14
  • 53
  • 77
Frank Groeneveld
  • 1,664
  • 3
  • 14
  • 23

2 Answers2

9

We have a similar issue on Monday morning where we need to review issues created over the last friday and the weekend rather than just the past 24 hours. You can't test whether today is Monday, but you can infer it:

AND (
(created >= startOfDay("-3d") AND created < startOfDay("-2d") AND created >= startOfWeek("-2d") AND created < startOfWeek("-1d"))
OR
(created >= startOfDay("-2d") AND created < startOfDay("-1d") AND created >= startOfWeek("-1d") AND created < startOfWeek())
OR 
(created >= startOfDay("-1d") AND created < startOfDay() AND created >= startOfWeek() AND created < startOfWeek("+1d"))
OR
created >= -24.5h)

This basically includes things from Friday if Friday was 3 days ago, Saturday if Saturday was 2 days ago and Sunday was yesterday.

In your case you want to show where:

  • duedate is today
  • OR
  • duedate is yesterday (startOfDay("-1d")...startOfDay()) AND duedate is between Mon-Thurs (startOfWeek("+1d") .. startOfWeek("+4d"))
  • OR
  • duedate is last Friday (startOfWeek("-2d")) AND duedate is 3 days ago/today is Monday (startOfDay("-3d")...startOfDay("-2d"))

Note: This assumes the default US locale where startOfWeek() is Sunday

duedate >= startOfDay() OR
(duedate >= startOfDay("-1d") AND duedate < startOfDay() AND duedate >= startOfWeek("+1d") AND duedate < startOfWeek("+4d")) OR
(duedate >= startOfWeek("-2d") AND duedate < startOfWeek("-1d") AND duedate >= startOfDay("-3d") AND duedate < startOfDay("-2d"))
Soviut
  • 79,529
  • 41
  • 166
  • 227
Eric Woodruff
  • 5,907
  • 3
  • 31
  • 32
  • I thought I could do `startOfWeek("+1d") > now()` to infer it is Monday, but JQL doesn't support functions in the left side of an operator. :'( – Paulo Amaral Aug 01 '18 at 09:30
  • Note that an `AND` was missing in the 3rd line of the last expression. I've fixed it. – Soviut Mar 10 '20 at 15:39
-2

I'd setup a Quick Filter and use something like:

duedate = endOfWeek() OR duedate = Now() 

If you want to see things that are overdue and things that are due today ...

duedate < now() OR duedate = now()  

There is no default formatting to allow a selection of a specific day like "Friday" without installing plugins like JQLTricks.

AgileMan
  • 35
  • 1
  • 1
  • 9