From f2af93987f4d23be36631badfff76448e0297a77 Mon Sep 17 00:00:00 2001 From: "Paulius J." Date: Mon, 13 Jul 2026 16:14:03 +0200 Subject: [PATCH] Enhancement: Add filters to list unassigned and unplanned tasks Allow filtering tasks that have no assignee (onlyUnassignedTasks), or that are unassigned, have no due date, or are missing estimated time (onlyUnplanned). Co-Authored-By: Claude Opus 4.8 --- projects/task.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/projects/task.go b/projects/task.go index 86acbf6..a53b051 100644 --- a/projects/task.go +++ b/projects/task.go @@ -792,6 +792,13 @@ type TaskListRequestFilters struct { // to true, only tasks matching all specified tags will be returned. MatchAllTags *bool + // OnlyUnassigned is an optional flag to only return tasks with no assignee. + OnlyUnassigned *bool + + // OnlyUnplanned is an optional flag to only return tasks that are + // unassigned, have no due date, or are missing estimated time. + OnlyUnplanned *bool + // Page is the page number to retrieve. Defaults to 1. Page int64 @@ -861,6 +868,12 @@ func (t TaskListRequestFilters) apply(req *http.Request) { if t.MatchAllTags != nil { query.Set("matchAllTags", strconv.FormatBool(*t.MatchAllTags)) } + if t.OnlyUnassigned != nil { + query.Set("onlyUnassignedTasks", strconv.FormatBool(*t.OnlyUnassigned)) + } + if t.OnlyUnplanned != nil { + query.Set("onlyUnplanned", strconv.FormatBool(*t.OnlyUnplanned)) + } if t.Page > 0 { query.Set("page", strconv.FormatInt(t.Page, 10)) }