feat: Comment management system#31
Conversation
- Added CommentManager for fluent comment CRUD operations - Added CommentInstance for chainable comment actions - Added TimelineQuery for timeline event filtering - All services include 100% test coverage - Follows existing patterns and code standards
|
Warning Rate limit exceeded@jordanpartridge has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 7 minutes and 55 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (6)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes #22
Summary
Implements a comprehensive comment and timeline management system with fluent API patterns for creating, updating, deleting comments, managing reactions, and querying issue timelines.
Changes
New Services
CommentManager - Fluent API for comment CRUD operations
all()- Get all comments for an issuefind(int $commentId)- Get a specific comment by IDcreate(string $body)- Create a new comment and return CommentInstanceupdate(int $commentId, string $body)- Update a commentdelete(int $commentId)- Delete a commentcomment(int $commentId)- Get CommentInstance for chainingCommentInstance - Chainable comment operations
get()- Fetch comment data with cachingupdate(string $body)- Update comment bodydelete()- Delete the commentreact(string $content)- Add a reaction to the commentreactions()- Get all reactions on the commentdeleteReaction(int $reactionId)- Delete a reactionTimelineQuery - Timeline event filtering
get()- Get all timeline events for an issueofType(string|array $types)- Filter events by specific typescomments()- Get only comment eventslabels()- Get only label-related eventsTests
Quality Gates
Usage Examples