Conversation
- Add bitbucketService and bitbucketRepositoryInput with tests, including defensive discover mapping and hasMore - Add BitbucketIcon and a wider IconComponent type so SOURCE_META and DrawerCard accept non-lucide icons - Add BITBUCKET to the source unions and Record maps, shown as "Soon" in the add-source grid
- Add BitbucketRepositoryDetails and createBitbucketSourceFromInstance, built from the status row alone - Append Bitbucket cards on the data ingestion page, skip BITBUCKET project sources, filter runs by repositoryId - Show the workspace on cards and in the run details, and extend run source labels for workspace/slug
- Add a Bitbucket repository card with enable toggle, update, remove from project and per-repo sync schedule to the source drawer
- Wire update, enable/disable via patchConnectorSources("bitbucket"), unlink and config load/save into DataIngestionPage
- Add a Bitbucket tab to the global sync settings modal, saved through configureAllBitbucketRepositories
- Move search, paging, multi-select and link-state handling into RepositoryDiscovery, driven by an adapter and a credential picker slot - Filter the already-ingested and in-project lookups by source system so a Bitbucket repo never counts as a linkable GitHub repo - Reduce GithubRepositoryDiscovery to a thin wrapper with the same props and re-exported types
- Add BitbucketRepositoryDiscovery with an Atlassian credential picker and BitbucketDraftSource with link-or-connect dispatch - Wire the Bitbucket detail into AddSourceFlow and AddSourceModal and make Bitbucket a connectable type - Show Bitbucket drafts in the staged list and review step, and explain a bare 500 on connect
- Make BITBUCKET an available source type in CreateProjectWizard and pass the Bitbucket detail bundle to AddSourceFlow - Stage Bitbucket drafts from the discovery selection with an inline Atlassian credential that is selected automatically - Cover Bitbucket alone, mixed with GitHub, linking and the inline credential in the wizard and a11y tests
- Add a Bitbucket metadata parser and make the repository badge, facet and URL state work for Bitbucket as well as GitHub - Add the Bitbucket link badge, icon, connector meta and Atlassian copy, and read /pull-requests/ links as markdown - Recognize bitbucket.org citations in the chat page and offer Bitbucket in the chat source filter
kiranfin
marked this pull request as draft
October 1, 2026 12:27
…t connector UI - Render Bitbucket workspace profiles in the artifact drawer instead of the unavailable org fallback - Lowercase parsed Bitbucket coordinates and only append the slug when it differs from the display name - Correct the auto update off copy for Bitbucket and the outdated 500 comments
- Bring in the latest dev changes, including the warning before moving users between projects - Resolve the conflict in the CreateProjectWizard a11y tests by keeping both the Bitbucket and the moved-member tests
2 tasks
kiranfin
marked this pull request as ready for review
October 1, 2026 13:02
Afif-del
requested changes
Oct 1, 2026
Afif-del
requested changes
Oct 1, 2026
…ry from Bitbucket input - Load more continues with the owner and credential that produced the results, a credential change resets results and selection, and the form is locked while a page loads - Drop query string and fragment before splitting Bitbucket URLs so the slug stays clean - Add tests for pagination binding, credential reset, locking and URL suffixes
Afif-del
approved these changes
Oct 2, 2026
kiranfin
added this pull request to stack #292
October 2, 2026 09:52
kiranfin
removed this pull request from stack #292
October 3, 2026 14:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Related issue
Closes #287
Short summary
Adds the Bitbucket Cloud repository connector to the frontend so Bitbucket repositories can be discovered, connected, synced and browsed in the same way as GitHub repositories, across data ingestion, the create-project wizard, the knowledge base, the connector overview and the chat filter.
bitbucketServicefor the backend Bitbucket endpoints (connectBitbucketRepository/connectBitbucketRepositoriesviaPOST /api/v1/bitbucketand/connect/all,discoverBitbucketRepositoriesviaGET /api/v1/bitbucket/discover/workspace/{workspace}with paging andhasMore,addBitbucketRepositoryToProject/removeBitbucketRepositoryFromProject,updateBitbucketRepository,updateAllBitbucketRepositories,getBitbucketRepositoryConfig/configureBitbucketRepository/configureAllBitbucketRepositories). The discover DTO is mapped defensively.bitbucketRepositoryInputparses workspace andworkspace/sluginput as well as bitbucket.org URLs.BITBUCKETis added to the source type unions, together with aBitbucketIconand a widerIconComponenttype soSOURCE_META,DrawerCardandConnectorMetaaccept non-lucide icons.createBitbucketSourceFromInstance,BitbucketRepositoryDetails), show the workspace, and the run history filters byrepositoryIdwith workspace/slug run labels. The source drawer gets a Bitbucket repository card with enable toggle (patchConnectorSources("bitbucket")), manual update, remove from project and a per-repo sync schedule. The global sync settings modal gets a Bitbucket tab.GithubRepositoryDiscoveryinto a newRepositoryDiscoverydriven by an adapter and a credential picker slot.GithubRepositoryDiscoveryis now a thin wrapper with unchanged props. The already-ingested and in-project lookups filter by source system, so a Bitbucket repo never shows up as a linkable GitHub repo.BitbucketRepositoryDiscoverywith an Atlassian credential picker and aBitbucketDraftSourcethat either links an already-ingested repo or connects a new one. Wired intoAddSourceFlowandAddSourceModal, Bitbucket drafts appear in the staged list and the review step.CreateProjectWizardoffers Bitbucket as a source type, stages Bitbucket drafts from the discovery selection and automatically selects a newly added inline Atlassian credential. Works alone and mixed with GitHub.parseBitbucketMetadatamakes the repository badge, repository facet and URL state work for Bitbucket as well as GitHub. Adds an "Open in Bitbucket" link badge and icon, reads/pull-requests/links as pull requests and addsCONNECTOR_META.bitbucket.ChatPagemaps bitbucket.org citations toBITBUCKET, andBITBUCKETis added to the chatSOURCE_SYSTEMSfilter.bitbucketService,bitbucketRepositoryInput,RepositoryDiscovery,BitbucketRepositoryDiscoverya11y,AddSourceModal,CreateProjectWizard+ a11y,projectSourcesDraft,SourceDetailsPanel+ a11y,SourceList,RunDetailsPanel,DataIngestionPage,data,githubMetadata,ArtifactFilters,ArtifactViewerDrawer,SourceLinkBadge,useKnowledgeBase,useKnowledgeBaseUrlState,connectorMeta,useAvailableSources) plus new MSW handlers for the Bitbucket endpoints.Checks
Additional notes
/api/v1/bitbucket/...endpoints (connect, discover, project link, update, config)BITBUCKETin the per-repo ingestion status and run historyBITBUCKETin thesource_systemDB check constraints (otherwise ingestion fails)BITBUCKETin the chatSOURCE_SYSTEMSis only accepted once the AI service knows the value, otherwise filtering by Bitbucket returns a 422