Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Rest API to search a string in all the repositories in Bitbucket?

Hello Friends,

I would like to search a string in all the Bitbucket server repositories using Rest API.

I can search the code from the Bitbucket Server "Search Box" but it is not possible if there are multiple strings to search and generate a report.

a common use case would be- search all repositories where a common password is exposed.

Is there any Rest API available or could you suggest any workaround?

Thank you2018-09-26 18_18_16-Projects - Bitbucket.png

4 answers

2 accepted

Hi @amit raj 

 

After upgrade Bitbucket data-center 7.6.0 and upgrade elasticsearch 6.8.6, I'm getting error like below.

 

Do you have any idea regarding this problem?

 

{
"error": {
"root_cause": [ {
"type": "index_not_found_exception",
"reason": "no such index",
"resource.type": "index_or_alias",
"resource.id": "bitbucket-search-v1",
"index_uuid": "_na_",
"index": "bitbucket-search-v1"
}],
"type": "index_not_found_exception",
"reason": "no such index",
"resource.type": "index_or_alias",
"resource.id": "bitbucket-search-v1",
"index_uuid": "_na_",
"index": "bitbucket-search-v1"
},
"status": 404
}

1 vote
Answer accepted

Hi All,

 I was able to search a string using ELS Rest api. 

this is the the endpoint-

http://<ELSEARCHURL>:9200/bitbucket-search-v1/_search?size=1000&from=0&q=<string-to-search>

eg. if your Bitbucket ELS is hosted on 192.168.10.1 at port 9200 and you would like to search the string "Test"

http://192.168.10.1:9200/bitbucket-search-v1/_search?size=1000&from=0&q=test

please note that it is huge search you need to iterate the loop until search does not find a string.

I wrote a small python program to do that.

https://github.com/inboxamitraj/Bitbucket-Python-Scripts/blob/master/bbsearch.py

Thank you

Hi Amit,

Nice script! 

One problem is that it returns repositoryId and projectId, but not the repo/project name. Is there a way to look up repo/project name by id? Also, is there any way to tell which branch in the repo that the search string was found (as a repo could have a lot of branches)?

Thanks,

Mary

Like amit raj likes this

I think we can do something using elastic search Rest endpoints as Bitbucket usage elastic search behind the scene, working on it.

Hi @amit raj , have you any luck ? I am also looking for same feature in bitbucket api.

Hi @Mini Burgula 

yes. I was able to search a string using ELS Rest api. 

this is the the endpoint-

http://<ELSEARCHURL>:9200/bitbucket-search-v1/_search?size=1000&from=0&q=<string-to-search>

eg. if your Bitbucket ELS is hosted on 192.168.10.1 at port 9200 and you would like to search the string "Test"

http://192.168.10.1:9200/bitbucket-search-v1/_search?size=1000&from=0&q=test

please note that it is huge search you need to iterate the loop until search does not find a string.

I wrote a small python program to do that.

Thank you

Like Apolinar Ramos likes this

Thanks for the information.

0 votes
edwin Community Leader Sep 26, 2018

Hi @amit raj,

This link will be helpful. Bitbucket code search API is now available

Thank you Edwin , I think this is only for Bitbucket Cloud, doesn't work for Bitbucket Server.

Like Marek Wasilewski likes this

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bitbucket

New improvements to user management in Bitbucket Cloud 👥

Hey Community! We’re willing to wager that quite a few of you not only use Bitbucket, but administer it too. Our team is excited to share that we’ll be releasing improvements throughout this month of...

3,840 views 10 16
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you