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