Search for code in Bitbucket Server

This page explains Bitbucket Server's search syntax to help you find exactly what you're looking for. 

Considerations

There are some restrictions on how searches are performed:

  • Only the default branch is searchable (for most repositories the default branch will be master).
  • Only files smaller than 512 KiB are searchable.
  • Wildcard searches (e.g. qu?ck buil*) are not supported.
  • All punctuation characters are removed. !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  • Regular expressions in queries are not supported, but you can search for special characters.
  • Case is not preserved, however search operators must be in ALL CAPS.
  • Queries cannot have more than 9 expressions (e.g. combinations of terms and operators).
  • The maximum length of a query cannot exceed 250 characters.
  • Only code you have permission to view will appear in the search results.

A query in Bitbucket has to contain at least one search term, which can either be a single word or a phrase surrounded by quotes.

Operators

Search operators are words that can be added to searches to help narrow down the results. Operators must be in ALL CAPS. These are the search operators that can be used to search for files:

  • AND
  • OR
  • NOT
  • -
  • (  )

Multiple terms can be used, and they form a boolean query that implicitly uses the AND operator. So a query for "bitbucket server" is equivalent to   "bitbucket AND server".

Term Example query Usage
AND bitbucket AND server Matches files that contain both "bitbucket" and "server".
OR bitbucket OR server Matches files that contain either "bitbucket" or "server" (or both).
NOT bitbucket NOT jira Matches files that contain "bitbucket" but don't contain "jira".
- bitbucket -jira Use before a term, matches files that contain "bitbucket" but don't contain "jira".
( ) bitbucket AND (server OR cloud)

Matches files that contain "bitbucket" and either "server" or "cloud"

Modifiers

Modifiers can be used to further restrict search results. Use a modifier in the form "key:value". If there are multiple modifiers in a query they are implicitly combined using "AND" and apply to the whole search expression. These are the search modifiers that can be used to search for files.

Repository and Project modifiers

repo: <reponame> or repository: <reponame>

Search within a particular repository. Must be used with a project: modifier.

Term Example query Usage
repo:

jira repo:bitbucket
project:atlassian

or

jira repository:bitbucket
project:atlassian 

or

jira repo:atlassian/bitbucket

Matches files within the "bitbucket" repository within the "atlassian" project that contain the term "jira".

 

project: <project key/name>

Search all repositories within a particular project for the search term.

Term Example query Usage
project:

jira project:atlassian 

Matches files within the "atlassian" project that contain the term "jira".

Language and file extension modifiers

Code search can be restricted to only consider a particular language or a particular file extension. For some languages adding a lang criteria is equivalent to specifying the file extension. For example, "lang:java" is equivalent to "ext:java". For other languages multiple file extensions are mapped to a single language. For example, ".hs", ".lhs" and ".hs-bootare" file extensions are used for the Haskell programming language, and will be matched when specifying "lang:haskell".

lang: or language: <language>

Term Example query Usage
lang: 

jira lang:java

or

jira language:java

Matches files that contain the term "jira" within Java files, files with .java, .class, or .jar extension.

ext: or extension: <file extension>

Term Example query Usage
ext:

jira ext:lhs

or

jira extension:lhs

Matches files that contain the term "jira" within Haskell files with the .lhs extension.

 

Fork modifier

Exclude results from repositories based on whether or not they are forks.

fork: <true or false>

Term Example query Usage
fork: fork:true Includes only results that are from repositories that are forks.
 
fork:false
Includes only results that are from repositories that are not forks.

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport