feat: --project filter on issues list#88
Conversation
flipbit03
left a comment
There was a problem hiding this comment.
Functionally it LGTM, but I think this PR has a bit of "scope creep" that shouldn't be tackled here. Let's keep PRs focused on the mark. If some of the comments are really useless, we open up an issue to evaluate the value proposition of some of these comments, and then we tackle that work item separately.
There was a problem hiding this comment.
The test additions look fine to me, but the comment removals are unrelated to the work being done, and I think some of these comments are contextually important enough in explaining crevices we explored during development - we shouldn't remove then without some planning.
There was a problem hiding this comment.
Fair. I have some logic in my Claude harness to remove comments for "self-descriptive code" -- of course some subjectivity there. I'll revert.
|
@lightstrike PS: I wasn't expecting such an influx of PRs - Thanks a lot for your interest! To serve the project better and allow external PRs to be online-tested, I'm working to create a harness so that your PRs can also be tested against the online token after reviewing them. I think it's important that PRs test against an actual Linear workspace, to really confirm they work. |
|
@flipbit03 Thanks for starting this project! It's a great foundation to build from. Great idea to have the harness in place and agreed it's important to make sure all of these work with real projects before merging in. |
|
@lightstrike thanks for the tweaks! We can most surely address comment's signal-to-noise ratio in a further PR. issue opened in #97. I think you need to rebase this, and it's good to go |
|
@lightstrike needs to be rebased on top of the current |
Allow filtering issues by project name or UUID, same pattern as --team. Also expose comment IDs in issues read output for use with comments delete.
Linear's API may delay project availability for issue creation. Use retry_with_backoff for issue creation, RAII guards for cleanup, and the CLI's projects create instead of SDK for consistency.
Newly created projects may not be immediately available for issue creation in Linear's API. Use an existing workspace project instead to avoid flakiness from API propagation delays.
2a27fc5 to
d2d9a98
Compare
|
@flipbit03 Ready for review again — rebased onto main and reverted the unrelated comment deletions. All CI checks passing. |
|
The new test fails online. I'll attempt to fix it - seems trivial |
Instead of assuming the workspace already has projects (which fails in CI), the test now creates its own project and issue with RAII cleanup guards. Also adds proper status checks with readable error messages before parsing JSON output.
Document that online tests must be self-contained: create their own resources with RAII guards, use retry_with_backoff for eventual consistency, and check command status before parsing JSON output.
|
Hey @lightstrike — I pushed a fix for the failing test (two commits on the branch) - thanks for letting me push commits to your fork! What happened: The What I changed:
Going forward: I've also added a section to Confirmed passing locally against the live API. Should be good to merge now! |
Avoid name collisions with zombie resources from previously-failed test runs by appending a UUID suffix. Also document this pattern in CLAUDE.md.
Append UUID suffixes to every hardcoded test resource name (issues, projects, milestones, documents) to prevent name collisions from zombie resources left by previously-failed test runs.
Summary
Users can now filter issues by project when listing:
lineark issues list --project "My Project". Accepts project name or UUID, and combines with existing filters like--teamand--mine.Also exposes comment UUIDs in
issues readoutput, enabling thecomments deleteworkflow.Changes
--project NAME-OR-IDflag toIssuesAction::List, using existingresolve_project_idhelperidfield toCommentSummaryso comment UUIDs appear inissues readlineark usagereferenceTest plan
cargo clippy --workspace -- -D warnings— cleancargo fmt --check— cleancargo test --workspace— all passinglineark issues list --project "Project Name" --limit 5lineark issues list --project <uuid> --team ENGlineark issues list --helpshows--projectflaglineark issues read ENG-123includes comment IDs