How to find the latest indexed commit for a repository in Bitbucket Data Center
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
When troubleshooting code search issues for a repository, it may be useful to find out the latest commit that has been indexed in the Search instance.
This article describes procedures for retrieving the latest commit that has been indexed.
Environment
Bitbucket Data Center
This applies to both bundled and external search instances
Solution
Step 1: Retrieve Repository ID
The repository id can be retrieved with the following methods;
from the Bitbucket UI: go to
Repository settings > Repository details and
get the numeric value from theLocation
field.Sample: If the
Location
value is/var/application-data/bitbucket/shared/data/repositories/293
, the repository id is 293.from the database through the following query:
1 2 3 4
select r.id as repo_id from repository r inner join project p on r.project_id=p.id where p.project_key = '<PROJECT_KEY>' and r.slug='<REPO_SLUG>';
where:
PROJECT_KEY
is the project key in uppercaseREPO_SLUG
is the repository slug in lowercase
Step 2: Query the Search instance with the above Repository ID
Query the Search instance’ bitbucket-index-state
index, passing the repository id value from the previous step.
1
2
curl -k -u <SEARCH_USER>:<SEARCH_PASSWORD>
'<SEARCH_INSTANCE_URL>/bitbucket-index-state/_doc/<REPO_ID>'
where:
SEARCH_USER
- user used by Bitbucket to connect to the Search instance
SEARCH_PASSWORD
- password
SEARCH_INSTANCE_URL
- base URL for the search instance
REPO_ID
- repository id retrieved from the previous step
Sample request:
1
2
curl -k -u bitbucket:password
'https://opensearch:9200/bitbucket-index-state/_doc/293'
Sample output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"_index": "bitbucket-index-state",
"_type": "_doc",
"_id": "293",
"_version": 34,
"_seq_no": 2491,
"_primary_term": 248,
"found": true,
"_source": {
"archived": false,
"public": false,
"fork": false,
"retries": 0,
"projectId": 322,
"indexedCommitId": "569ad3a183637661b1c0dead082dd30517f43183"
}
}
From the response, the latest commit that has been indexed for repo id 293
is 569ad3a183637661b1c0dead082dd30517f43183
Additional Notes
Bitbucket only indexes the default branch
Please see other considerations for code search indexing in: Bitbucket search syntax
Was this helpful?