feat: Comment management system #31
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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