feat: Implement Core IssueQuery Builder#33
Conversation
Implemented IssueQueryInterface with full backward compatibility:
- Added interface methods: state(), labels(), assignee(), creator(), mentioned(), since(), sort(), direction()
- Maintained existing methods as aliases for backward compatibility
- Added comprehensive tests for interface compliance
- All tests passing with 100% coverage
- Pint formatting applied
The fluent API supports chainable filtering for GitHub issues with powerful methods like:
Issues::query('owner/repo')->state('open')->labels(['bug'])->assignee('username')->get()
|
Warning Rate limit exceeded@jordanpartridge has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 26 minutes and 22 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 (2)
✨ 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 |
Summary
IssueQueryInterfacewith full backward compatibilitystate(),labels(),assignee(),creator(),mentioned(),since(),sort(),direction()whereState()callsstate())Implementation Details
New Interface Methods
Backward Compatibility
All existing methods remain functional:
whereState()→ callsstate()whereLabel(),whereLabels()→ callslabels()assignedTo()→ callsassignee()createdBy()→ callscreator()mentioning()→ callsmentioned()createdAfter()→ callssince()orderBy()→ callssort()anddirection()Test Coverage
Test plan
./vendor/bin/pest./vendor/bin/pest --coverage --min=100./vendor/bin/pintCloses #20