Skip to content

Add filtered CSV export helper for task lists #2

Description

@NitishDevzy

Background

Users need to export a filtered subset of tasks from the in-memory task list to CSV for reporting. This complements the broader export work on the board.

Requirements

Add a helper that accepts an array of task objects and returns a CSV string.

Supported columns: id, title, status, dueDate, labels (labels joined with ;).

Support an optional filter object: { status?, label?, search? }.

status: exact match on task.status

label: task must include the label (case-insensitive)

search: case-insensitive match on title

If no tasks match the filter, return header row only (no data rows).

Escape CSV correctly when title/labels contain commas or double quotes.

Cap export at 1000 rows; if more match, export first 1000 only.

Null or missing dueDate should export as empty string, not "null" or "undefined".

Export must not throw when tasks array is empty.

Acceptance criteria

[ ] AC1: Filter by status returns only matching tasks

[ ] AC2: Label filter is case-insensitive

[ ] AC3: CSV cells with commas/quotes are escaped per RFC 4180

[ ] AC4: Empty result still returns valid CSV with headers

[ ] AC5: More than 1000 matches truncates to 1000 rows

[ ] AC6: Missing dueDate renders as blank

[ ] AC7: Empty input array returns headers only, no throw

Out of scope

UI/download button

Jira API integration

Persistence

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions