Skip to content

Commit 59e44ad

Browse files
ripexzclaude
andauthored
Enhancement: Add filters to list unassigned and unplanned tasks (#100)
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 <noreply@anthropic.com>
1 parent 2ad45e6 commit 59e44ad

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

projects/task.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,13 @@ type TaskListRequestFilters struct {
792792
// to true, only tasks matching all specified tags will be returned.
793793
MatchAllTags *bool
794794

795+
// OnlyUnassigned is an optional flag to only return tasks with no assignee.
796+
OnlyUnassigned *bool
797+
798+
// OnlyUnplanned is an optional flag to only return tasks that are
799+
// unassigned, have no due date, or are missing estimated time.
800+
OnlyUnplanned *bool
801+
795802
// Page is the page number to retrieve. Defaults to 1.
796803
Page int64
797804

@@ -861,6 +868,12 @@ func (t TaskListRequestFilters) apply(req *http.Request) {
861868
if t.MatchAllTags != nil {
862869
query.Set("matchAllTags", strconv.FormatBool(*t.MatchAllTags))
863870
}
871+
if t.OnlyUnassigned != nil {
872+
query.Set("onlyUnassignedTasks", strconv.FormatBool(*t.OnlyUnassigned))
873+
}
874+
if t.OnlyUnplanned != nil {
875+
query.Set("onlyUnplanned", strconv.FormatBool(*t.OnlyUnplanned))
876+
}
864877
if t.Page > 0 {
865878
query.Set("page", strconv.FormatInt(t.Page, 10))
866879
}

0 commit comments

Comments
 (0)