Java API

The Stash 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 Stash release, with a version number matching the Stash release number.

Javadoc

Stash API

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

Stash SPI

Provides a number of plugin module interfaces, module descriptor classes and utilities that plugins can use to extend Stash'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 programatically creating branches and setting up branching models.

Builds

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

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 Stash.

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 NEW

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

Stash API

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Stash SPI

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-spi</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Git API

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-git-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Build API

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-build-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Branch Permissions API

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-ref-restriction-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Branch Permissions SPI

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-ref-restriction-spi</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Branch API

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-branch-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Comment Likes

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-comment-likes-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

JIRA Integration

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-jira-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

SSH Support

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-ssh-api</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

SCM Common

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-scm-common</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>

Web Fragment Conditions

<dependency>
    <groupId>com.atlassian.bitbucket.server</groupId>
    <artifactId>bitbucket-web-common</artifactId>
    <scope>provided</scope>
    <version>${bitbucket.version}</version>
</dependency>