Bitbucket Code Owners errors with a 3rd party code owners plugin installed
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Bitbucket native code owners feature might behave unexpectedly when another 3rd party code owners feature is also enabled and reads the same configuration file from the .bitbucket folder.
Environment
Bitbucket Data Center 8.14 and above
3rd party Code Owners plugins including Mibex Code Owners
Solution
The Bitbucket native code owners feature automatically checks if a CODEOWNERS
file exists in the repository when new pull requests are created. Bitbucket checks for this file in the .bitbucket folder in the repository based on the code.owners.file.path
property.
To prevent Bitbucket from interfering with a 3rd party code owners plugin, there are two options:
Disable native Bitbucket code owners
Configure native Bitbucket code owners to use a dummy file
Disable native code owners to use a 3rd party equivalent
The feature key to disable the code owners feature in Bitbucket is "feature.code.owners
" as confirmed in the Configuration Properties documentation. We recommend that you set the property in bitbucket.properties
as seen below:
feature.code.owners=false
Set up a dummy path for the Bitbucket native code owners feature
Bitbucket allows us to configure the default value of the file path where bitbucket will look for the CODEOWNERS file in the repository using the following property:
code.owners.file.path
Update this to a dummy value such as:
code.owners.file.path=.bitbucket/dummy/CODEOWNERS
If there is no CODEOWNERS file present in this path, the Bitbucket native plugin code will not be invoked.
However, the 3rd party app will continue to pick the file from .bitbucket/CODEOWNERS path and only the vendor plugin code will be executed
Root cause explanation
If another code owners plugin is installed alongside Bitbucket's built-in functionality, and Bitbucket reads the same configuration file from the same path, it could potentially lead to unexpected behavior
Since testing third-party vendor plugins falls outside the scope of Atlassian's support, we recommend disabling one of these 2 overlapping features as a precaution to help ensure everything works smoothly
Was this helpful?