refactor(#5390): add polling-support methods to GitLab client - #5391
Conversation
|
🤖 Finished Review · ✅ Success · Started 9:26 PM UTC · Completed 9:39 PM UTC |
Site previewPreview: https://f707b5e7-site.fullsend-ai.workers.dev Commit: |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
ReviewFindingsLow
Labels: PR adds internal GitLab forge client methods for the cron poller — maintenance/infrastructure work. Previous runReviewFindingsLow
Previous run (2)ReviewFindingsHigh
Low
Labels: PR adds GitLab forge client methods for the cron poller |
|
/fs-fix Rebase to get the latest sources. Add tests so that the code coverage is > 80% and CI passes. Fix all the review issues, both inline and in the sticky comment. |
|
🤖 Finished Fix · ❌ Failure · Started 9:48 PM UTC · Completed 9:56 PM UTC |
|
The fix agent completed, but the post-fix script failed before finishing. Workflow run: https://github.com/fullsend-ai/.fullsend/actions/runs/29781524284 Details: |
Signed-off-by: Claude <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
9e7453b to
3df5b4c
Compare
E2E tests did not runE2E tests run automatically for org/repo members and collaborators on pull requests. For other contributors, a maintainer must add the See E2E testing guide for details. |
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 11:04 PM UTC · Completed 11:19 PM UTC |
Superseded by updated review
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 12:41 AM UTC · Completed 12:55 AM UTC |
|
🤖 Finished Retro · ✅ Success · Started 1:09 AM UTC · Completed 1:26 AM UTC |
Retro: PR #5391 —
|
Summary
Add 11 polling-support methods to the GitLab forge client so the cron poller can be wired to a real API client. A
PollClientwrapper type is introduced to resolve theGetIssuereturn-type conflict betweenforge.Clientandpoll.GitLabClient.Related Issue
Closes #5390
Changes
internal/forge/gitlab/poll.gowithPollClienttype and all 11 methods:ListIssuesUpdatedSince,ListMergeRequestsUpdatedSince— paginated issue/MR listingListProjectEvents— date-widened event listing with client-side timestamp filteringListIssueNotes,ListMergeRequestNotes— ascending-order note listingListResourceLabelEvents— ascending-ID label event listingGetCIVariable— variable value retrievalCreateNoteAwardEmoji— emoji reactions with Issue/MergeRequest routingGetIssue— poll-specific issue retrieval returning*poll.IssueGetMemberAccessLevel— uses/members/all/for inherited membershipGetProjectPath— project path lookup by numeric IDinternal/forge/gitlab/poll_test.gowith 21 tests covering all methods, pagination, error cases, client-side filtering, and inherited method delegationinternal/cli/poll.goto construct a realPollClientinstead of passingnilTesting
go build ./internal/forge/gitlab/... ./internal/cli/...compiles cleanlygo vet ./internal/forge/gitlab/... ./internal/cli/...passesgo test ./internal/forge/gitlab/...— all tests pass (including 21 new poll tests)var _ poll.GitLabClient = (*PollClient)(nil)check includedscan-secretspasses on all changed filesChecklist
!for breaking changes)Closes #5390
Post-script verification
agent/5390-gitlab-poll-methods)0a0e09d99bf9a7ca9803f21d15763d3797828b7a..HEAD)