Demo 9: App Passwords and BitBucket API
Start course
2h 8m

Take this beginner-level course on 'Atlassian BitBucket' to delve into the core principles and applied benefits for your software projects. This course, made up of 8 lectures and 14 demos, will expertly teach and explain how to perform Git-related tasks along with implementing and connecting BitBucket to third parties while always being aware of the various security options available.

This course would appeal to a range of job roles including software developers, build and release engineers and DevOps practitioners. All of the skills that you will gain from doing this course will yield a tangible dividend for the projects with your enterprise; allowing you to use, control and manage BitBucket to manage and maintain your software products.

Learning Objectives 

  • Understand the basic principles of version control as implemented using the Git protocol and
  • Learn how to effectively use BitBucket to manage and maintain your software projects
  • Assess the benefits of using BitBucket to manage and secure your software engineering assets
  • Recognize and explain how to perform all basic Git related tasks such as creating and cloning a repository, branching, and merging.
  • Study to implement and connect BitBucket with other 3rd party systems 
  • Be aware of the different security options available to secure your BitBucket setup
  • Be able to use, control, and manage BitBucket through either using the web-based administration console and/or by using a git client.

Intended Audience

  • Software Developers 
  • Software Build and Release Engineers
  • DevOps Practitioners


To be able to get the most out of this course we recommend having a basic understanding of:

  • Software development and the software development life cycle
  • Software development tools
  • Version control and associated workflows

Related Training Content

After completing this course we recommend taking the 'Introduction to Continuous Integration' Course

To discover more content like this, you will find all of our training in the Cloud Academy Content Training Library.


Welcome back. In this demonstration, we're going to cover off two things, first, we're going to create an app password and then secondly, we're going to use the BitBucket REST API and we're going to authenticate against the API using our app password. For this demonstration, we're going to upload a file into downloads by using the BitBucket REST API. So, the first thing we'll do is, within BitBucket settings at the account level, under access management, app passwords. So, here we click on create app password and we'll call it, Uploader, so we're uploading files into the download area of our repository using the REST API, therefore, we'll give it Write permissions and we'll click Create. So, that generates a password, which we'll then copy. Now, you only get to see this password once, so as soon as we close it, it's not available again. 

Okay so, back within visual code, we're going to create a new md file and I've got some sample code for API call. So, what we're going to do is, we're going to run curl. It's going to do a post and it's going to post to this REST API url. So, the main part of it... So, the first part of it, are the credentials and then we're posting to this url part here. So, it's going to, for API version 2.0, repositories and then the BitBucket repo owner, BitBucket rep slug, in downloads. And we're going to upload Demo1.png, which is a file that I've added to our folder, so that's just an architectural diagram. Okay so, back to our command. We need to update these variables that will be passed into this command. So, the repository owner, in this case, is deepcube is deepcube360. The repository slug will be, we're going to upload into this repository, CADemo3, so the slug is this portion here.

 And then finally, we need to copy in the app password that we previously generated. Okay. So, let's go and run this in the terminal. So, we'll do a directory listing. This is the file we're going to upload. So, having uploaded it, it will show up in the download section, 'cause at the moment, this is empty. So, back into the terminal, we'll set our variables and then finally, we'll take our curl command, which will invoke against the BitBucket REST 2.0 API. And execute. Okay, so that's completed. If we go back into downloads now, and we do a reload, you can see that our Demo1.png file has successfully been uploaded. So, there shows a quick demonstration of App Passwords together with making calls against the BitBucket REST for 2.0 API. Okay, go ahead and close this demo. And we'll see you in the next one.

About the Author
Learning Paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).