Search for code in Bitbucket Server

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

Considerations

There are some restrictions on how searches are performed:

  • Searches may include "." and "_", but all other punctuation characters are ignored. (e.g. !"#$%&'()*+,-/:;<=>?@[\]^`{|}~)
  • To search for multiple words in exact order, put them in quotes (e.g. "find this phrase"). As with other queries, all punctuation except "." and "_" is ignored (e.g. "find-this-phrase" effectively searches for "find this phrase").
  • Only the default branch is searchable (for most repositories the default branch will be master or main).
  • Wildcard searches (e.g. qu?ck buil*) and regular expressions in queries are not supported.
  • Single characters within search terms are ignored as they’re not indexed by Bitbucket for performance reasons (e.g. searching for “foo a bar” is the same as searching for just “foo bar” as the character “a” in the search is ignored).
  • 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 files smaller than 512 KiB are searchable.
  • 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".

TermExample queryUsage
ANDbitbucket AND serverMatches files that contain both "bitbucket" and "server".
ORbitbucket OR serverMatches files that contain either "bitbucket" or "server" (or both).
NOTbitbucket NOT jiraMatches files that contain "bitbucket" but don't contain "jira".
-bitbucket -jiraUse 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.

TermExample queryUsage
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.

TermExample queryUsage
project:

jira project:atlassian 

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

Path modifier

path: <directory or file name>

Restrict search to only consider files with the search term in their path.

TermExample queryUsage
path:react path:frontendMatches files within directories named frontend containing the term react.

react path:frontend/*/package.lockMatches package.lock files within directories named frontend containing the term react.

Language and file extension modifiers

lang: or language: <language>

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".

TermExample queryUsage
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>
TermExample queryUsage
ext:

jira ext:lhs

or

jira extension:lhs

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


Fork modifier

fork: <true or false>

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

TermExample queryUsage
fork:fork:trueIncludes only results that are from repositories that are forks.

fork:false
Includes only results that are from repositories that are not forks.
Last modified on May 9, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.