Bitbucket Server Plugins

Recently at work, we found ourselves making a change in process that required some functionality in Bitbucket Server. None of our existing plugins allowed us the functionality that we needed. We had a few that were kind of close, but just not quite right.

I found myself down the rabbit hole of making my own plugin for Bitbucket Server. I found it to be a process which is simultaneously rather simple, and hugely complex. Going in, it was an absolutely monumental amount of research to learn how to do even the simplest of tasks. But having completed my plugin, I find myself able to explain to a coworker in only a few minutes what needs to be done.

This is the table of contents to the things which I learned about accomplishing this task.


As a broad overview of the process, you start with getting your machine set up with the right IDE and SDK. Once you’re familiar with some of the common sdk commands, you can start making, running, and debugging a plugin. After that, I’ll go into some details about making a configuration for the plugin. Next, we’ll talk about distribution. Finally, detail into some of the classes I’ve had to use.

  1. Setup
  2. Common Atlassian SDK Commands
  3. Run and Debug a Bitbucket Server Plugin
  4. Bitbucket Server Merge Check Plugin
  5. atlassian-plugin.xml
  6. Merge Check Configuration
  7. Plugin Distribution
  8. BuildStatusService
  9. PullRequestService
  10. PermissionService
  11. Localization