| <div role="region"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="apache devlake" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/logo.svg" alt="apache devlake" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Apache DevLake</b></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Docs</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/Overview/Introduction">Next</a></li><li><a class="dropdown__link" href="/docs/v1.0/Overview/Introduction">v1.0 (Stable)</a></li><li><a class="dropdown__link" href="/docs/v0.21/Overview/Introduction">v0.21</a></li><li><a class="dropdown__link" href="/docs/v0.20/Overview/Introduction">v0.20</a></li><li><a class="dropdown__link" href="/docs/v0.19/Overview/Introduction">v0.19</a></li><li><a class="dropdown__link" href="/docs/v0.18/Overview/Introduction">v0.18</a></li><li><a class="dropdown__link" href="/docs/v0.17/Overview/Introduction">v0.17</a></li><li><a class="dropdown__link" href="/docs/v0.16/Overview/Introduction">v0.16</a></li><li><a class="dropdown__link" href="/docs/v0.15/Overview/Introduction">v0.15</a></li></ul></div><a class="navbar__item navbar__link" href="/livedemo/EngineeringLeads/DORA">Use Cases</a><a class="navbar__item navbar__link" href="/community/">Community</a><a class="navbar__item navbar__link" href="/team">Team</a><a class="navbar__item navbar__link" href="/blogOverview">Blog</a><a href="https://github.com/apache/devlake" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><a class="navbar__item navbar__link" href="/download">Download</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">ASF</a><ul class="dropdown__menu"><li><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Foundation</a></li><li><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="dropdown__link">License</a></li><li><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="dropdown__link">Events</a></li><li><a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Security</a></li><li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Privacy</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Sponsorship</a></li><li><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Thanks</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><div class="navbar__search searchBarContainer_NW3z"><input placeholder="Search" aria-label="Search" class="navbar__search-input"><div class="loadingRing_RJI3 searchBarLoadingRing_YnHq"><div></div><div></div><div></div><div></div></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebar_njMd"><nav class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/Overview">Overview</a><button aria-label="Toggle the collapsible sidebar category 'Overview'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/GettingStarted">Getting Started</a><button aria-label="Toggle the collapsible sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/docs/Config UI">Config UI</a><button aria-label="Toggle the collapsible sidebar category 'Config UI'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/Tutorial">Tutorial</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/HowToOrganizeDevlakeProjects">How to Organize DevLake Projects</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/AzureDevOps">Azure DevOps</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/Configuration/BitBucket">Bitbucket Cloud</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/BitBucketServer">Bitbucket Server/Data Center</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/CircleCI">CircleCI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/GitHub">GitHub</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/GitLab">GitLab</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/Opsgenie">Opsgenie</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/Jenkins">Jenkins</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/Jira">Jira</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/PagerDuty">PagerDuty</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/SonarQube">SonarQube Server</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/Tapd">TAPD</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/Teambition">Teambition(WIP)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/webhook">Webhooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/Zentao">Zentao</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/AdvancedMode">Blueprint Advanced Mode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/APIKeys">API Keys</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/Configuration/TeamConfiguration">Team Configuration</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/Configuration/Dashboards/AccessControl">Dashboard Configuration</a></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/DORA">DORA</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/Metrics">Metrics</a><button aria-label="Toggle the collapsible sidebar category 'Metrics'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/DataModels">Data Models</a><button aria-label="Toggle the collapsible sidebar category 'Data Models'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/DeveloperManuals">Developer Manuals</a><button aria-label="Toggle the collapsible sidebar category 'Developer Manuals'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/Plugins">Plugins</a><button aria-label="Toggle the collapsible sidebar category 'Plugins'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/Troubleshooting">Troubleshooting</a><button aria-label="Toggle the collapsible sidebar category 'Troubleshooting'" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_OVgt"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/docs/Config UI"><span itemprop="name">Config UI</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Bitbucket Cloud</span><meta itemprop="position" content="2"></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: Next</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Bitbucket Cloud</h1></header><p>Visit Config UI at <code>http://localhost:4000</code> and go to the <code>Connections</code> page.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1---add-data-connections">Step 1 - Add Data Connections<a class="hash-link" href="#step-1---add-data-connections" title="Direct link to heading"></a></h2><p><img loading="lazy" alt="Bitbucket connection form showing authentication method selection with API Token and App Password options" src="/assets/images/bitbucket-add-data-connections-23c4a222ecfb5c77e0835b0b579b3779.png" width="1308" height="1376" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-11---authentication">Step 1.1 - Authentication<a class="hash-link" href="#step-11---authentication" title="Direct link to heading"></a></h3><h4 class="anchor anchorWithStickyNavbar_LWe7" id="connection-name">Connection Name<a class="hash-link" href="#connection-name" title="Direct link to heading"></a></h4><p>Give your connection a unique name to help you identify it in the future.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="endpoint-url">Endpoint URL<a class="hash-link" href="#endpoint-url" title="Direct link to heading"></a></h4><p>For Bitbucket Cloud, you do not need to enter the REST API endpoint URL, which is always <code>https://api.bitbucket.org/2.0/</code>.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="authentication-method">Authentication Method<a class="hash-link" href="#authentication-method" title="Direct link to heading"></a></h4><div class="theme-admonition theme-admonition-warning alert alert--danger admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"></path></svg></span>App Password Deprecation</div><div class="admonitionContent_S0QG"><p>Bitbucket is deprecating App passwords in favor of API tokens:</p><ul><li><strong>September 9, 2025</strong>: Creation of new App passwords will be discontinued</li><li><strong>June 9, 2026</strong>: All existing App passwords will be deactivated</li></ul><p><strong>Please use API tokens for all new connections.</strong> Existing connections using App passwords should be migrated to API tokens before June 9, 2026.</p></div></div><p>You can choose between two authentication methods:</p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="api-token-recommended">API Token (Recommended)<a class="hash-link" href="#api-token-recommended" title="Direct link to heading"></a></h5><p>API tokens are the recommended authentication method for Bitbucket Cloud. Learn about <a href="https://support.atlassian.com/bitbucket-cloud/docs/create-an-api-token/" target="_blank" rel="noopener noreferrer">how to create a Bitbucket API token</a>.</p><p><strong>Steps to create an API token:</strong></p><ol><li>Sign in at <a href="https://id.atlassian.com/manage-profile/security/api-tokens" target="_blank" rel="noopener noreferrer">https://id.atlassian.com/manage-profile/security/api-tokens</a>.</li><li>Select <strong>Create API token with scopes</strong>.</li><li>Give the API token a name and an expiry date (ex: 365 days), then select <strong>Next</strong>.</li><li>Select <strong>Bitbucket</strong> as the app and select <strong>Next</strong>.</li><li>Select the required scopes (see below) and select <strong>Next</strong>.</li><li>Review your token and select <strong>Create token</strong>.</li><li><strong>Copy the generated API token immediately</strong> - it's only displayed once and can't be retrieved later.</li></ol><p>For detailed instructions, refer to <a href="https://support.atlassian.com/bitbucket-cloud/docs/create-an-api-token/" target="_blank" rel="noopener noreferrer">Atlassian's API token documentation</a>.</p><p><strong>Required Scopes:</strong></p><p>The following scopes are <strong>required</strong> to collect data from Bitbucket repositories:</p><ul><li><code>read:account</code> - Required to view users profiles</li><li><code>read:issue:bitbucket</code> - View your issues</li><li><code>read:pipeline:bitbucket</code> - View your pipelines</li><li><code>read:project:bitbucket</code> - View your projects</li><li><code>read:pullrequest:bitbucket</code> - View your pull requests</li><li><code>read:repository:bitbucket</code> - View your repositories</li><li><code>read:runner:bitbucket</code> - View your workspaces/repositories' runners</li><li><code>read:user:bitbucket</code> - View user info (required for connection test)</li><li><code>read:workspace:bitbucket</code> - View your workspaces</li></ul><p><img loading="lazy" alt="Bitbucket API Token Scopes Selection Interface" src="/assets/images/bitbucket-api-token-scope-selection-interface-17e54fa0dc8b45b634ef575d6d2d3da2.png" width="1636" height="1076" class="img_ev3q"></p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="app-password-deprecated">App Password (Deprecated)<a class="hash-link" href="#app-password-deprecated" title="Direct link to heading"></a></h5><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>Deprecated</div><div class="admonitionContent_S0QG"><p>App passwords are deprecated and should only be used for existing connections. For new connections, please use API tokens instead.</p></div></div><p>If you're using an existing App password, learn about <a href="https://support.atlassian.com/bitbucket-cloud/docs/create-an-app-password/" target="_blank" rel="noopener noreferrer">how to create a Bitbucket app password</a>.</p><p><strong>Required Permissions:</strong></p><ul><li>Account:Read</li><li>Workspace membership:Read</li><li>Projects:Read</li><li>Repositories:Read</li><li>Pull requests:Read</li><li>Issues:Read</li><li>Pipelines:Read</li><li>Runners:Read</li></ul><p><img loading="lazy" alt="Bitbucket App Password Permissions" src="/assets/images/bitbucket-app-password-permissions-2b87fad376a9ab4a5e4f52b4352d38f1.jpeg" width="1212" height="830" class="img_ev3q"></p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="proxy-url-optional">Proxy URL (Optional)<a class="hash-link" href="#proxy-url-optional" title="Direct link to heading"></a></h4><p>If you are behind a corporate firewall or VPN you may need to utilize a proxy server. Enter a valid proxy server address on your network, e.g. <code>http://your-proxy-server.com:1080</code></p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-rate-limit-optional">Fixed Rate Limit (Optional)<a class="hash-link" href="#fixed-rate-limit-optional" title="Direct link to heading"></a></h4><p>DevLake uses a dynamic rate limit to collect Bitbucket data. You can adjust the rate limit if you want to increase or lower the speed.</p><p>The maximum rate limit for different entities in Bitbucket(Cloud) <a href="https://support.atlassian.com/bitbucket-cloud/docs/api-request-limits/" target="_blank" rel="noopener noreferrer">varies from 1,000 - 60,000 requests/hour</a>. The rate limit to access repository data is 1,000 requests/hour, but we find it can still run when we input a value that exceeds 1,000. You can try using a larger rate limit if you have large repositories.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="test-and-save-connection">Test and Save Connection<a class="hash-link" href="#test-and-save-connection" title="Direct link to heading"></a></h4><p>Click <code>Test Connection</code>, if the connection is successful, click <code>Save Connection</code> to add the connection.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="migrating-from-app-password-to-api-token">Migrating from App Password to API Token<a class="hash-link" href="#migrating-from-app-password-to-api-token" title="Direct link to heading"></a></h4><p>If you have an existing connection using an App password and want to migrate to an API token:</p><ol><li><strong>Create an API token</strong> in Bitbucket (see instructions above)</li><li><strong>Edit your existing connection</strong> in DevLake</li><li><strong>Change the Authentication Method</strong> from "App Password" to "API Token"</li><li><strong>Enter your API token</strong> in the token field</li><li><strong>Test the connection</strong> to verify it works</li><li><strong>Save the connection</strong></li></ol><p>Your data collection will continue without interruption, and you'll be ready for the App password deprecation in 2026.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-12---add-data-scopes">Step 1.2 - Add Data Scopes<a class="hash-link" href="#step-12---add-data-scopes" title="Direct link to heading"></a></h3><p>Choose the Bitbucket repositories you wish to collect either by finding them in the miller column, or searching. You can only add public repositories through the search box.</p><p><img loading="lazy" alt="Bitbucket - Add Data Scopes" src="/assets/images/bitbucket-add-data-scopes-1532816de790c625cbed55da42ca0f26.png" width="891" height="646" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-13---add-scope-config-optional">Step 1.3 - Add Scope Config (Optional)<a class="hash-link" href="#step-13---add-scope-config-optional" title="Direct link to heading"></a></h3><h4 class="anchor anchorWithStickyNavbar_LWe7" id="entities">Entities<a class="hash-link" href="#entities" title="Direct link to heading"></a></h4><p>The entities of which domain you wish to collect: Usually, you don't |
| collection speed.</p><ul><li>Issue Tracking: Bitbucket issues, issue comments, etc.</li><li>Source Code Management: Bitbucket repos, refs, commits, etc.</li><li>Code Review: Bitbucket PRs, PR comments, etc.</li><li>CI/CD: Bitbucket Pipelines, Bitbucket Deployments, etc.</li><li>Cross Domain: Bitbucket users, etc.</li></ul><h4 class="anchor anchorWithStickyNavbar_LWe7" id="transformations">Transformations<a class="hash-link" href="#transformations" title="Direct link to heading"></a></h4><p>The transformations on the Bitbucket data you are going to collect.</p><ul><li>The details of the transformations will be explained below.</li><li>Without adding transformation rules, you can still view the 'Bitbucket' dashboard. However, if you want to view more pre-built dashboards, finish the transformations required.</li><li>Each Bitbucket repo has at most ONE set of transformations.</li></ul><h6 class="anchor anchorWithStickyNavbar_LWe7" id="issue-tracking--issue-status-mapping">Issue Tracking > Issue Status Mapping<a class="hash-link" href="#issue-tracking--issue-status-mapping" title="Direct link to heading"></a></h6><p><img loading="lazy" alt="Bitbucket Issue Status Mapping" src="/assets/images/bitbucket-issue-status-mapping-8df3f1c6926a744813db6d85163cf511.png" width="853" height="178" class="img_ev3q"></p><p>The given settings transformed the Bitbucket issue statuses to the issue statuses used by DevLake, enabling you to measure metrics like the Issue Delivery Rate on the pre-built dashboards, as DevLake understands your definition of when an issue is considered as completed (status = 'DONE').</p><ul><li>TODO: The issues that are planned but have not been worked on yet</li><li>IN-PROGRESS: The issues that are work-in-progress</li><li>DONE: The issues that are completed</li><li>OTHER: Other issues statuses that do not belong to the three statuses above</li></ul><p>The original status will be saved in the column <code>original_status</code> of the table 'issues', and the new status will be saved in the column <code>status</code> of the same table.</p><h6 class="anchor anchorWithStickyNavbar_LWe7" id="issue-tracking--issue-type-mapping">Issue Tracking > Issue Type Mapping<a class="hash-link" href="#issue-tracking--issue-type-mapping" title="Direct link to heading"></a></h6><p>DevLake will convert the issue types of 'enhancement', 'proposal', and 'task' from Bitbucket into the new issue type 'REQUIREMENT' for DevLake. In contrast, any issues classified as 'bug' in Bitbucket will be converted into the new issue type 'BUG' for DevLake. The original type will be saved in the column <code>original_type</code> of the table 'issues', and the new type will be saved in the column <code>type</code> of the same table.</p><h6 class="anchor anchorWithStickyNavbar_LWe7" id="cicd">CI/CD<a class="hash-link" href="#cicd" title="Direct link to heading"></a></h6><p>The CI/CD configuration for Bitbucket is used for calculating <a href="/docs/DORA">DORA metrics</a>.</p><p>By default, DevLake will identify the deployment and environment settings that are defined in the Bitbucket CI .yml file.</p><p><img loading="lazy" alt="Bitbucket Detect Deployments for DORA" src="/assets/images/bitbucket-detect-deployments-dora-2a348f671ae12c592e7cdaa06d31142e.png" width="851" height="104" class="img_ev3q"></p><p>However, to ensure this works properly, you must specify the deployment settings in the .yml file. |