Demo 4: Branch Permissions
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.


Okay, welcome back. In this demonstration, we're going to set up branch permissions to control who can do branching and merging. So the first thing we'll do is we'll jump into the account level settings. So we click on the avatar down the bottom, and then Bitbucket settings and then under Access Management we're going to setup some User groups. Okay, so under User groups we'll create three groups. The first one will be called BuildAndRelease into which I'll add myself, and I'll give myself admin privileges. Okay, the next one we'll create is called SoftwareDevs for developers into which we'll give write permissions across all current repositories, and into which we'll add AnnSmith whose a fictitious user that I've setup for demonstration purposes. And then, finally, we'll add in Testers, and into which we'll give read permissions only. Again, this time we'll add in JohnBrown, another fictitious user that I've created, JohnBrown user. Okay, so this is the user group structure that we've setup at the account level, and this is active now across all existing repositories within our account.

Okay, let's now jump back into repositories, and on our CADemo3 repository we'll update the branch permissions by entering settings at the repository level, and then under Workflow, under Branch permissions, we'll click Add a branch permission. So the permission we'll add is for any branch named Feature, and we'll use a wildcard so it matches any branch that begins with Feature, for example, Feature one, Feature two, Feature three. Write access we'll provide to SoftwareDevs and under Merge we'll also add in the BuildAndRelease group. Expanding Merge checks will ensure that at least one approval has been granted before the merge takes place, and then, finally, we'll save this. Okay, so that's established branch permissions and has completed this demonstration. So go ahead and close it, and we'll see you shortly 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).