Java API

The Bitbucket Server Java API is split up into multiple modules, each of which export various classes and services that can be consumed by plugins. Each module is published as a separate maven artifact each Bitbucket Server release, with a version number matching the Bitbucket Server release number.

Javadoc

Bitbucket Server API

Provides a collection of services, events and utility classes for interacting with core Bitbucket features such as server administration, projects, repositories, pull requests and user management.

Bitbucket Server SPI

Provides a number of plugin module interfaces, module descriptor classes and utilities that plugins can use to extend Bitbucket's stock functionality. See Plugin Module Types for more details of specific modules that can be implemented.

Branches

Services exported by this plugin that provide extended branch information and enable advanced branch management, such as programmatically creating branches and setting up branching models.

Builds

Services exported by this plugin to query and set the build status on individual commits.

Code Insights

Provides an API to create, modify and delete code insight reports and annotations. See this how-to guide for more details or this tutorial to see a REST-based insight provider.

Comment Likes

Provides an API to add and remove comment likes, as well as query for users who have liked comments.

Git

Provides a collection of richly typed command builders for easily invoking native git commands on repositories hosted in Bitbucket.

Jira

Services exported by this plugin to query the set of Jira issues linked to individual commits.

Notifications

SPI to allow 3rd party plugins to include custom notifications about changes to the pull requests.

Ref Restrictions

Services exported by this plugin to query and set the branch permissions on a repository.

SCM Common

Provides common utilities for dealing with SCMs.

SSH

Services exported by this plugin to query and set the SSH server configuration and users SSH keys.

Web Common

Provides common Web Fragment Conditions you can use to control when your Web Fragments appear.

Importing in Maven

Add the following dependencies to your pom.xml

Bitbucket Server API

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Bitbucket Server SPI

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-spi</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Git API

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-git-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Build API

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-build-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Branch Permissions API

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-ref-restriction-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Branch Permissions SPI

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-ref-restriction-spi</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Branch API

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-branch-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Comment Likes

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-comment-likes-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Jira Integration

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-jira-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

SSH Support

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-ssh-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

SCM Common

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-scm-common</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Web Fragment Conditions

1
2
3
4
5
6
<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-web-common</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>