-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add Bitbucket Secret Sync #4210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🎉 Snyk checks have passed. No issues have been found so far.✅ security/snyk check is complete. No issues have been found. (View Details) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Summary
This PR introduces Bitbucket secret synchronization functionality to Infisical, enabling users to sync secrets between Infisical and Bitbucket repositories. The implementation includes:
- A complete integration pipeline with frontend components, backend services, and API documentation
- Support for both repository-level and environment-specific variable synchronization
- UI components for configuring Bitbucket syncs with workspace, repository, and optional environment selection
- API endpoints for creating, updating, listing, and deleting Bitbucket secret syncs
- Proper schema validation and type safety throughout the implementation
The implementation follows established patterns seen in existing integrations like GitHub and GitLab, maintaining consistency in the codebase while adding new functionality.
Confidence score: 3/5
- This PR adds significant new functionality but lacks certain safety measures.
- The score reflects concerns about pagination limits, regex usage in URLs, and potential security considerations in the Bitbucket API integration.
- Files needing attention:
- backend/src/services/app-connection/bitbucket/bitbucket-connection-fns.ts: No pagination limits in listBitbucketEnvironments
- backend/src/services/secret-sync/bitbucket/bitbucket-sync-fns.ts: URL encoding and API token handling
- frontend/src/components/secret-syncs/forms/schemas/bitbucket-sync-destination-schema.ts: Input validation needs strengthening
47 files reviewed, 17 comments
frontend/src/components/secret-syncs/forms/SecretSyncReviewFields/BitBucketSyncReviewFields.tsx
Outdated
Show resolved
Hide resolved
backend/src/server/routes/v1/app-connection-routers/bitbucket-connection-router.ts
Show resolved
Hide resolved
frontend/src/components/secret-syncs/forms/schemas/bitbucket-sync-destination-schema.ts
Outdated
Show resolved
Hide resolved
backend/src/services/secret-sync/bitbucket/bitbucket-sync-fns.ts
Outdated
Show resolved
Hide resolved
backend/src/services/app-connection/bitbucket/bitbucket-connection-fns.ts
Show resolved
Hide resolved
...ponents/SecretSyncsTab/SecretSyncTable/SecretSyncDestinationCol/SecretSyncDestinationCol.tsx
Show resolved
Hide resolved
backend/src/services/secret-sync/bitbucket/bitbucket-sync-types.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything works great! Just some nits
backend/src/services/app-connection/bitbucket/bitbucket-connection-fns.ts
Outdated
Show resolved
Hide resolved
backend/src/services/secret-sync/bitbucket/bitbucket-sync-fns.ts
Outdated
Show resolved
Hide resolved
backend/src/services/secret-sync/bitbucket/bitbucket-sync-fns.ts
Outdated
Show resolved
Hide resolved
backend/src/services/secret-sync/bitbucket/bitbucket-sync-fns.ts
Outdated
Show resolved
Hide resolved
frontend/src/components/secret-syncs/forms/SecretSyncDestinationFields/BitbucketSyncFields.tsx
Outdated
Show resolved
Hide resolved
backend/src/services/secret-sync/bitbucket/bitbucket-sync-fns.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Description 📣
Type ✨
Tests 🛠️
# Here's some code block to paste some code snippets