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

Can I use Bitbucket REST API to clone a repository?

Patrik Silverby
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 30, 2022

I am trying to find a way to clone all my repositories automatically. However I am not able to find an acceptable way to do the clone. I am writing a C# Console application and the only thing I have managed to get working is using git clone through Powershell using an app-password. However I do not like the idea of exposing my username and password in the url, https://<username>:<app password>@bitbucket.org.... 

I would rather use a rest api where I can add the credentials in a authentication header. However I am not able to find anything on clone in the REST API documentation. What I have tried so far beside this:

  • git commands using ssh but the request of a passphrase every time is stopping me from doing it automatically.
  • Using the lib LibGit2Sharp but I cannot get it to handle long paths over 260 characters
  • Access token and refresh token is a way I cannot see how I could automate from a console app since the tokens will expire in between backup runs.

The solution needs to be fully self sufficient. Is there a way to do that?

1 answer

0 votes
Theodora Boudale
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 3, 2023

Hi Patrik,

It is not possible to clone a repo via API, this can only be done with Git commands.

You mentioned

git commands using ssh but the request of a passphrase every time is stopping me from doing it automatically.

It is not required to use an SSH key pair with a passphrase. You can generate a new SSH key pair without a passphrase and use that instead.


If you prefer to use OAuth, the access token will expire after 2 hours, but the refresh token does not expire. You can therefore generate a new access token + refresh token using the refresh token from the previous run right before you start cloning the repos, and use the new access token for cloning.

Kind regards,
Theodora

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events