Bamboo REST API documentation

The Bamboo REST APIs are for developers who want to integrate their application with Bamboo and for administrators who want to script interactions with the Bamboo server.

Introduction to Bamboo's REST APIs

Bamboo's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will make an HTTP request and parse the response. By default, the response format is XML. If you wish, you can request JSON instead of XML.

Because the REST API is based on open standards, you can use any web development language to access the API.

A common use case would be a build service, which provides information about build results.

Bamboo's REST APIs provide the following capabilities:

Getting Started

If you would like to know more about REST in general, start with the RESTwiki's guide to REST In Plain English.

Then jump right in and try our REST resources:

Advanced Topics

Below are some links to in-depth information on development of REST APIs and plugins:

How to use expansion in the REST APIs

In order to be minimise network traffic from the client perspective, our API uses a technique called expansion.

You can use the 'expand' query parameter to specify a comma-separated list of entities that you want expanded, identifying each entity by a given identifier. For example, the value "changes,stages.stage.results.result" requests the expansion of entities for which the expand identifier is "change" and "stages".

To discover the identifiers for each entity, look at the 'expand' attribute in the parent entity. In the XML example below, the page entity declares changes, metadata, artifacts, comments, labels, jiraIssues and stages as being expandable.

Note: The 'expand' attribute should not be confused with the 'expand' query parameter which specifies which entities you want expanded.

You can use the dot notation to specify expansion of entities within another entity. For example "children.children" would expand the children and the children's children (because its expand identifier is children) and the child entities within the plugin.

If not otherwise indicated, all methods return both XML and JSON. Below are examples of the XML and JSON representations.

XML representation:

[expand]
<result id="2818060" expand="changes,testResults, metadata, logEntries,artifacts,comments, labels,jiraIssues" number="11"> lifeCycleState="Finished" state="Successful"  key="PROJECTKEY-PLANKEY-JOB1-11"

<link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/result/PROJECTKEY-PLANKEY-JOB1-11"/>

<parent rel="parent" href="http://localhost:8085/bamboo/rest/api/latest/result/PROJECTKEY-PLANKEY-11"/>

<planName>My plan</planName>

<projectName>My project</projectName>

<stage>Default Stage</stage>

</result>

The same content in JSON:
[expand]
{id:"2818060",
expand:"changes,testResults, metadata, logEntries,artifacts,comments, labels,jiraIssues",
number:"11"
lifeCycleState:"Finished"
state:"Successful"
key:"PROJECT_KEY-PLANKEY-JOB1-11"
link:[{href:"http://localhost:8085/bamboo/rest/api/latest/result/PROJECTKEY-PLANKEY-JOB1-11",rel:"self"}],
parent:[{href:"http://localhost:8085/bamboo/rest/api/latest/result/PROJECTKEY-PLANKEY-11",rel:"parent"}],
planName:"My plan",
projectName:"My project",
stage:"Default Stage}}

Resources List

This document the current REST API provided by Bamboo.

Resources

/repository?searchTerm

Methods

GET

Search for existing linked repositories by name.

request query parameters
parameter value description

searchTerm

string

available response representations:

  • 200 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restRepositoryList start-index="0" max-result="1" size="2">
        <searchResults>
            <id>123</id>
            <name>linked repository 1</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
        <searchResults>
            <id>321</id>
            <name>linked repository 2</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=321</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
    </restRepositoryList>
    

    The page object with repositories.

/repository/{repositoryId}/rssrepository/search?searchTerm

resource-wide template parameters
parameter value description

repositoryId

long

Methods

GET

Search for existing linked repositories which can be granted to use given repository by RSS.

request query parameters
parameter value description

searchTerm

string

available response representations:

  • 200 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restRepositoryList start-index="0" max-result="1" size="2">
        <searchResults>
            <id>123</id>
            <name>linked repository 1</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
        <searchResults>
            <id>321</id>
            <name>linked repository 2</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=321</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
    </restRepositoryList>
    

    The page object with repositories.

  • 403 [expand]

    Returned when user has insufficient permissions to target repository

  • 404 [expand]

    Returned when specified repository not found or repository stored Bamboo specs feature is disabled

/repository/{repositoryId}/enableAllProjectsAccess

resource-wide template parameters
parameter value description

repositoryId

long

id of the repository

Methods

PUT

Enables access (i.e. allowing modifications) for all Bamboo projects by the Bamboo Specs code stored in this repository. Changes in Bamboo Specs detected will trigger execution of Specs and thus an update of corresponding entities (such as build plans or deployments). <p> <p/> Request body is JSON with one attribute : <pre> { enable: true/false } </pre>

acceptable request representations:

available response representations:

  • 200 - application/json [expand]

    Successful call will result in HTTP 200.

  • 400 - application/json [expand]

    This repository does not handle 'enableAllProjectsAccess' feature or input data is incorrect.

  • 401 - application/json [expand]

    The calling user has insufficient permissions to change this setting.

  • 500 - application/json [expand]

    Internal server error

/repository/{repositoryId}/enableAllRepositoriesAccess

resource-wide template parameters
parameter value description

repositoryId

long

id of the repository

Methods

PUT

Enables access (i.e. allowing modifications) for all Bamboo linked repositories by the Bamboo Specs code stored in this repository. <p> <p/> Request body is JSON with one attribute : <pre> { enable: true/false } </pre>

acceptable request representations:

available response representations:

  • 200 - application/json [expand]

    Successful call will result in HTTP 200.

  • 400 - application/json [expand]

    This repository does not handle 'enableAllRepositoriesAccess' feature or input data is incorrect.

  • 401 - application/json [expand]

    The calling user has insufficient permissions to change this setting.

  • 500 - application/json [expand]

    Internal server error

/repository/{repositoryId}/rssrepository

resource-wide template parameters
parameter value description

repositoryId

long

target repository id

Methods

POST

Grant repository with RSS code to use target repository in build plans and deployments. If permission is not granted RSS import will fail when code tries to use target repository.

acceptable request representations:

  • application/json (restIdContainer) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restIdContainer" type="restIdContainer"/><xs:element name="restIdContainer" type="restIdContainer"/>

available response representations:

  • 201 [expand]

    Example
    {"id":"123", "name":"repo1", "url":"http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123"}

    permission granted.

  • 400 [expand]

    Returned when repository id is empty or null

  • 403 [expand]

    Returned when user has insufficient permissions to target repository

  • 404 [expand]

    Returned when specified repository not found by id or repository stored Bamboo specs feature is disabled

GET

Fetch list of RSS repositories which can use given repository by RSS code.

available response representations:

  • 200 [expand]

    Example
    [{"id":"123", "name":"repo1", "url":"http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123"}]

    The page object with list of repositories.

  • 403 [expand]

    Returned when user has insufficient permissions to target repository

  • 404 [expand]

    Returned when specified repository not found or repository stored Bamboo specs feature is disabled

/repository/{targetRepositoryId}/rssrepository/{repositoryId}

resource-wide template parameters
parameter value description

repositoryId

long

linked repository root id

targetRepositoryId

long

target repository id

Methods

DELETE

Revoke access of RSS code stored in repository defined by repositoryId from repository defined by targetRepositoryId. Use this method when need to prevent usage of target repository by RSS code stored in repository referenced by repositoryId.

available response representations:

  • 204 [expand]

    When successfully removed link between target repository and repository.

  • 403 [expand]

    Returned when user has insufficient permissions to repository

  • 404 [expand]

    Returned when specified repository does not exist or repository stored Bamboo specs feature is disabled

/repository/{repositoryId}/rssBranches?searchTerm

resource-wide template parameters
parameter value description

repositoryId

long

Methods

GET

Search for divergent branches names (i.e. vcs branches that have RSS execution results).

request query parameters
parameter value description

searchTerm

string

Default:

available response representations:

  • 200 - application/json [expand]

    The page object with branches.

  • 404 [expand]

    Returned when Bamboo Specs feature is disabled in Bamboo, or when a repository with given ID could not be found

/repository/{repositoryId}/scan/status?branch&max-result

resource-wide template parameters
parameter value description

repositoryId

long

ID of the linked repository which stores Bamboo Specs

Methods

GET

Resource providing status of RSS processing for a given repository and optional branch.

request query parameters
parameter value description

branch

string

optional branch of the repository. Works only if repository supports divergent branches

max-result

int

maximum number of spec status entries returned in the response

available response representations:

  • 200 - application/json [expand]

    The object representing RSS status

  • 404 [expand]

    Returned when Bamboo Specs feature is disabled in Bamboo, or when a repository with given ID could not be found

/repository/{repositoryId}/scanNow?branch

resource-wide template parameters
parameter value description

repositoryId

long

alternative name of the query parameter to provide repository ID

Methods

POST

Webhook resource for triggering Repository-stored Bamboo Specs. Either repository ID or name must be provided via query parameters to identify the linked repository in which Bamboo Specs are defined. <p> Ambiguous requests, which reference more than one repository via the query params, will result in one parameter taking precedence over the others. There's no guarantee which one. <p> This resource does not require authorisation. It will always return HTTP 204 response on every valid request, even if the targeted repository doesn't exist or does not contain Bamboo Specs.

request query parameters
parameter value description

branch

string

available response representations:

  • 400 [expand]

    Returned when neither repository ID nor repository name were provided.

  • 204 [expand]

    Returned on any valid request.

  • 404 [expand]

    Returned when Bamboo Specs feature is disabled in Bamboo

/repository/scan?id&repositoryId&name&repositoryName

Methods

POST

Webhook resource for triggering Repository-stored Bamboo Specs. Either repository ID or name must be provided via query parameters to identify the linked repository in which Bamboo Specs are defined. <p> Ambiguous requests, which reference more than one repository via the query params, will result in one parameter taking precedence over the others. There's no guarantee which one. <p> This resource does not require authorisation. It will always return HTTP 204 response on every valid request, even if the targeted repository doesn't exist or does not contain Bamboo Specs.

request query parameters
parameter value description

id

long

ID of the linked repository which stores Bamboo Specs

repositoryId

long

alternative name of the query parameter to provide repository ID

name

string

unique name of the linked repository which stores Bamboo Specs

repositoryName

string

alternative name of the query parameter to provide repository name

available response representations:

  • 400 [expand]

    Returned when neither repository ID nor repository name were provided.

  • 204 [expand]

    Returned on any valid request.

  • 404 [expand]

    Returned when Bamboo Specs feature is disabled in Bamboo

/repository/testConnection

Methods

PUT

Tests connection to a repository if the repository type supports connection testing. Request payload should contain repository configuration.

acceptable request representations:

available response representations:

  • 200 - application/json [expand]

    Successful call (without validation errors) will result in HTTP 200. The response will contain potential connection errors. If the connection to repository was successful, the error list will be empty.

  • 400 - application/json [expand]

    A response with code HTTP 400 indicates that there were validation errors before attempting to connect to repository. The response will contain error messages and field errors. This response will also be sent if the repository type doesn't support connection testing.

  • 401 - application/json [expand]
  • 403 [expand]

    A response with code HTTP 403 indicates that the calling user had insufficient permissions, e.g. for a plan or a repository

/repository/{repositoryId}/enableCi

resource-wide template parameters
parameter value description

repositoryId

long

id of the repository

Methods

PUT

Enables or disables detection of Bamboo Specs stored in the repository. If enabled, code changes detected in Bamboo Specs in new commits will trigger execution of Bamboo Specs and thus an update of corresponding entities (such as build plans, deployments or permissions). <p> Request body is JSON with one attribute : <pre> { enable: true/false } </pre>

acceptable request representations:

available response representations:

  • 200 - application/json [expand]

    Successful call will result in HTTP 200.

  • 400 - application/json [expand]

    This repository does not handle 'enableCi' feature or input data is incorrect.

  • 401 - application/json [expand]

    The calling user has insufficient permissions to change this setting.

  • 500 - application/json [expand]

    Internal server error

/agent?online

Methods

GET

Provides a list of all agents. Use query parameter "online = true/false" to filter only online agents.

request query parameters
parameter value description

online

boolean

available response representations:

  • 200 - application/json [expand]

    A successful call will return a complete (non-paginated) list of agents

  • 401 - application/json [expand]

    A response with code HTTP 401 indicates that the calling user had insufficient permissions for the request.

/agent/{agentId}?expand&includeShared

resource-wide template parameters
parameter value description

agentId

long

Methods

GET

Provides details of an agent with given id.

request query parameters
parameter value description

expand

string

includeShared

boolean

available response representations:

  • 200 - application/xml, application/json (restAgentDetails) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <details>
        <general>
            <id>1</id>
            <name>agent-name</name>
            <type>LOCAL</type>
            <active>true</active>
            <enabled>true</enabled>
            <busy>false</busy>
        </general>
        <capabilities start-index="0" max-result="2" size="0">
            <capabilities>
                <key>capability1</key>
                <value>value1</value>
            </capabilities>
            <capabilities>
                <key>capability2</key>
                <value>value2</value>
            </capabilities>
        </capabilities>
        <executableEnvironments start-index="0" max-result="0" size="0">
            <executableEnvironments>
                <id>1</id>
                <key>
                    <key>1111</key>
                </key>
                <name>environment1</name>
                <description>description</description>
                <deploymentProjectId>12</deploymentProjectId>
                <operations>
                    <canView>true</canView>
                    <canEdit>true</canEdit>
                    <canDelete>false</canDelete>
                    <allowedToExecute>false</allowedToExecute>
                    <canExecute>false</canExecute>
                    <cantExecuteReason>Not authorized</cantExecuteReason>
                    <allowedToCreateVersion>false</allowedToCreateVersion>
                    <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
                </operations>
                <position>1</position>
                <configurationState>TASKED</configurationState>
            </executableEnvironments>
            <executableEnvironments>
                <id>2</id>
                <key>
                    <key>1111</key>
                </key>
                <name>environment2</name>
                <description>description</description>
                <deploymentProjectId>12</deploymentProjectId>
                <operations>
                    <canView>true</canView>
                    <canEdit>true</canEdit>
                    <canDelete>false</canDelete>
                    <allowedToExecute>false</allowedToExecute>
                    <canExecute>false</canExecute>
                    <cantExecuteReason>Not authorized</cantExecuteReason>
                    <allowedToCreateVersion>false</allowedToCreateVersion>
                    <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
                </operations>
                <position>2</position>
                <configurationState>TASKED</configurationState>
            </executableEnvironments>
        </executableEnvironments>
        <executableJobs start-index="0" max-result="0" size="0">
            <executableJobs>
                <id>1</id>
                <key>
                    <key>PROJ-PLAN-JOB1</key>
                </key>
                <name>JOB1</name>
                <description>description</description>
                <suspended>false</suspended>
            </executableJobs>
            <executableJobs>
                <id>2</id>
                <key>
                    <key>PROJ-PLAN-JOB2</key>
                </key>
                <name>JOB2</name>
                <description>description</description>
                <suspended>false</suspended>
            </executableJobs>
        </executableJobs>
    </details>
    

    A successful call will return details of an agent.

    XML Schema

    Source:

  • 401 [expand]

    Authentication required.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    Agent not found.

/agent/remote?online

Methods

GET

Provides a list of all agent authentication statuses. Use query parameter "online = true/false" to filter only remote or only approved agents.

request query parameters
parameter value description

online

boolean

available response representations:

  • 200 - application/json [expand]

    A successful call will return a complete (non-paginated) list of remote agents

  • 401 - application/json [expand]

    A response with code HTTP 401 indicates that the calling user had insufficient permissions for the request.

/agent/{agentId}/status

resource-wide template parameters
parameter value description

agentId

long

agent id

Methods

GET

Provides information about status of agent, if it's online or offline.

available response representations:

  • 200 - application/json [expand]

    Status of agent

  • 401 - application/json [expand]

    A response with code HTTP 401 indicates that the calling user had insufficient permissions for the request.

  • 404 [expand]

    Agent not found.

/agent/{agentId}/enable

resource-wide template parameters
parameter value description

agentId

long

agent id

Methods

PUT

Enables an agent.

available response representations:

  • 200 - Agent has been enabled. (application/json) [expand]

    Agent has been enabled.

  • 401 - Insufficient permissions. (application/json) [expand]

    Insufficient permissions.

  • 404 [expand]

    Agent not found.

/agent/{agentId}/disable

resource-wide template parameters
parameter value description

agentId

long

agent id

Methods

PUT

Disables an agent.

available response representations:

  • 200 - Agent has been disabled. (application/json) [expand]

    Agent has been disabled.

  • 401 - Insufficient permissions. (application/json) [expand]

    Insufficient permissions.

  • 404 [expand]

    Agent not found.

/agent/{agentId}

resource-wide template parameters
parameter value description

agentId

long

agent id

Methods

DELETE

Remove build agent.

available response representations:

  • 400 [expand]

    Couldn't remove agent.

  • 401 - application/json [expand]

    Calling user had insufficient permissions for the request.

  • 404 [expand]

    Agent not found.

/agent/{agentId}/capability?includeShared

resource-wide template parameters
parameter value description

agentId

long

agent id

Methods

GET

List agent's capabilities. User should be logged in.

request query parameters
parameter value description

includeShared

boolean

if response should include shared agent capabilities.

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <capability>
        <key>capability.key</key>
        <value>/usr/local/path</value>
    </capability>
    

    array of agent's capabilities.

  • 401 - application/json [expand]

    Calling user had insufficient permissions for the request.

  • 404 [expand]

    Agent not found.

POST

Create new agent capability. Only restricted admin or system admin can use it.

acceptable request representations:

  • application/json (capability) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <capability>
        <key>capability.key</key>
        <value>/usr/local/path</value>
    </capability>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="capability" type="restCapability"/><xs:element name="capability" type="restCapability"/>

available response representations:

  • 400 - application/json [expand]

    Validation exception occurred.

  • 401 - application/json [expand]

    Calling user had insufficient permissions for the request.

  • 204 [expand]

    capability created successfully.

  • 404 [expand]

    Agent not found.

DELETE

Remove all capabilities of build agent. Only restricted admin or system admin can use it.

available response representations:

  • 400 [expand]

    Couldn't remove agent's capabilities.

  • 401 - application/json [expand]

    Calling user had insufficient permissions for the request.

  • 204 [expand]

    Agent capabilities removed

  • 404 [expand]

    Agent not found.

/agent/{agentId}/capability/{capabilityKey : (.+)?}

resource-wide template parameters
parameter value description

agentId

long

agent id

capabilityKey

string

capability key

Methods

PUT

Update existing agent capability. Only restricted admin or system admin can use it. It's allowed to skip capability key at request payload.

acceptable request representations:

  • application/json (capability) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <capability>
        <key>capability.key</key>
        <value>/usr/local/path</value>
    </capability>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="capability" type="restCapability"/><xs:element name="capability" type="restCapability"/>

available response representations:

  • 400 - application/json [expand]

    Validation exception occurred.

  • 401 - application/json [expand]

    Calling user had insufficient permissions for the request.

  • 204 [expand]

    capability created successfully.

  • 404 [expand]

    Agent not found.

DELETE

Remove build agent capability. Only restricted admin or system admin can use it.

available response representations:

  • 400 [expand]

    Couldn't remove agent's capability.

  • 401 - application/json [expand]

    Calling user had insufficient permissions for the request.

  • 204 [expand]

    Agent capability removed

  • 404 [expand]

    Agent not found.

/plan

Plan service is supposed to be used to retrieve full list of plans and plan details

Methods

GET

Method used to list all plans on Bamboo service that user is allowed to see (READ permission). Should be invoked as /rest/api/latest/plan <p> Possible expand parameters: * plans - list of plans <p> * plans.plan - list of plans with plan details <p> * plans.plan.actions

available response representations:

  • application/xml (plans) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plans" type="restPlans"/><xs:element name="plans" type="restPlans"/>
  • application/json (plans) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plans" type="restPlans"/><xs:element name="plans" type="restPlans"/>

/plan/{projectKey}-{buildKey}

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Possible expand parameters: actions, stages, branches, variableContext.

available response representations:

  • application/xml (plan) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plan" type="restPlan"/><xs:element name="plan" type="restPlan"/>
  • application/json (plan) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plan" type="restPlan"/><xs:element name="plan" type="restPlan"/>

DELETE

Marks plan for deletion. Plan will be deleted by a batch job.

available response representations:

  • 204 [expand]

    plan was marked for removal

  • 403 - application/json [expand]

    user have insufficient permissions for the request

  • 404 - application/json [expand]

    plan not found

/plan/{projectKey}/{buildKey}

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Possible expand parameters: actions, stages, branches, variableContext.

available response representations:

  • application/xml (plan) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plan" type="restPlan"/><xs:element name="plan" type="restPlan"/>
  • application/json (plan) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plan" type="restPlan"/><xs:element name="plan" type="restPlan"/>

/plan/{projectKey}-{buildKey}/branch

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Provide list of branches for specified plan. Plan might be top level plan (projectKey-planKey) or job plan (projectKey-planKey-jobKey). You can use "enabledOnly" param to filter out disabled branches.

available response representations:

  • 200 [expand]

    List of branches in the vcs of the default repository for the given plan

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan does not exist

/plan/{projectKey}-{buildKey}/branch/{branchName}?vcsBranch&enabled&cleanupEnabled

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

branchName

string

Methods

PUT

Method for creating branch for a specified plan. You can use vcsBranch query param to define which vcsBranch should newly created branch use. If not specified it will not override vcsBranch from the main plan. <p> Example usage: curl -X PUT --user admin:admin http://localhost:8085/rest/api/latest/plan/PROJ-PLAN/branch/BranchName?vcsBranch="/refs/heads/myBranch"

request query parameters
parameter value description

vcsBranch

string

enabled

boolean

cleanupEnabled

boolean

available response representations:

  • 200 [expand]

    The newly created branch.

  • 400 [expand]

    Returned when there have been validation errors

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan does not exist

GET

Provide details for specified Branch of a specified Plan. Plan might be top level plan (projectKey-planKey) or job plan (projectKey-planKey-jobKey).

available response representations:

  • 200 [expand]

    List of branches in the vcs of the default repository for the given plan

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan or branch does not exist

/plan/{projectKey}-{buildKey}/label

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Provide list of labels for plan specified by projectKey-buildKey.

available response representations:

  • 200 (restPlanLabelList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <labels>
        <labels start-index="0" max-result="2" size="0">
            <label name="someLabel"/>
            <label name="someLabel"/>
        </labels>
    </labels>
    

    List of comments for build result

    XML Schema

    Source:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan does not exist

POST

Adds new label to plan specified by projectKey-buildKey.

acceptable request representations:

  • application/xml (label) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <label name="someLabel"/>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="label" nillable="true" type="xs:anyType"/><xs:element name="label" nillable="true" type="xs:anyType"/>
  • application/json (label) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <label name="someLabel"/>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="label" nillable="true" type="xs:anyType"/><xs:element name="label" nillable="true" type="xs:anyType"/>

/plan/{projectKey}-{buildKey}/label/{labelName}

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

labelName

string

Methods

DELETE

Removes label from plan specified by projectKey-buildKey-buildNumber.

available response representations:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan, or label to remove does not exists

/plan/{projectKey}-{buildKey}/vcsBranches

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Provide list of vcs branch names for branches that exist on the default repository of this plan

available response representations:

  • 200 [expand]

    List of branches in the vcs of the default repository for the given plan

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan does not exist

/plan/{projectKey}-{buildKey}/issue/{issueKey}

resource-wide template parameters
parameter value description

projectKey

string

issueKey

string

buildKey

string

Methods

GET

available response representations:

  • application/xml (issue) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="issue" type="restJiraIssue"/><xs:element name="issue" type="restJiraIssue"/>
  • application/json (issue) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="issue" type="restJiraIssue"/><xs:element name="issue" type="restJiraIssue"/>

/plan/{projectKey}-{buildKey}/favourite

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

POST

available response representations:

DELETE

Remove plan from favorites.

available response representations:

  • 401 - application/json [expand]

    user have insufficient permissions for the request

  • 204 [expand]

    successful removal of plan from favorites

/plan/{projectKey}-{buildKey}/enable

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

POST

Enable plan.

available response representations:

  • 401 - application/json [expand]

    user have insufficient permissions for the request

  • 204 [expand]

    plan successfully enabled

DELETE

Disable plan.

available response representations:

  • 401 - application/json [expand]

    user have insufficient permissions for the request

  • 204 [expand]

    plan successfully disabled

/plan/{projectKey}-{buildKey}/artifact

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

available response representations:

  • application/xml (artifacts) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="artifacts" type="restArtifactDefinitions"/><xs:element name="artifacts" type="restArtifactDefinitions"/>
  • application/json (artifacts) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="artifacts" type="restArtifactDefinitions"/><xs:element name="artifacts" type="restArtifactDefinitions"/>

/plan/{projectKey}-{buildKey}/test/{testId}/quarantine

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

testId

long

Methods

POST

acceptable request representations:

  • application/xml (restQuarantineExpiry) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restQuarantineExpiry" type="restQuarantineExpiry"/><xs:element name="restQuarantineExpiry" type="restQuarantineExpiry"/>
  • application/json (restQuarantineExpiry) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restQuarantineExpiry" type="restQuarantineExpiry"/><xs:element name="restQuarantineExpiry" type="restQuarantineExpiry"/>

available response representations:

/plan/{projectKey}-{buildKey}/test/{testId}/unleash

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

testId

long

Methods

POST

available response representations:

/plan/{projectKey}-{buildKey}/branch/enableSpecsForBranches

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

POST

Enable specs scanning for all branches.

available response representations:

/plan/{projectKey}-{buildKey}/specs?package&format

resource-wide template parameters
parameter value description

projectKey

string

The project to export from

buildKey

string

The specific build to export

Methods

GET

Export plan as Bamboo Specs code.

request query parameters
parameter value description

package

string

Optionally, a package name for the exported spec

format

string

Optionally, a format of code. It's {@link SpecsExporter.ExportFormat#JAVA} by default. Other option is {@link SpecsExporter.ExportFormat#YAML}.

available response representations:

  • 200 [expand]

    representation of the plan as a Bamboo spec

  • 403 [expand]

    user has insufficient permissions for the request

/plan/favicon

Methods

/plan/favicon/{planKey}

resource-wide template parameters
parameter value description

planKey

string

Methods

GET

available response representations:

  • application/json (favicon) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="favicon" type="restFavicon"/><xs:element name="favicon" type="restFavicon"/>

/queue

Lists all the builds waiting in the build queue, adds or removes a build from the build queue. May be used also to resume build on manual stage or rerun failed jobs.

Methods

GET

Provide list of build scheduled for execution and waiting in build queue.

available response representations:

  • 200 - application/xml, application/json (restQueuedBuilds) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <queue expand="queuedBuilds">
        <queuedBuilds start-index="0" max-result="1" size="0">
            <queuedBuild expand="queuedBuild" planKey="PROJECTKEY-PLANKEY" buildNumber="10" buildResultKey="PROJECTKEY-PLANKEY-10">
                <triggerReason>Manual build</triggerReason>
                <changes expand="changes" start-index="0" max-result="2" size="0">
                    <change expand="change" author="Author" changesetId="10">
                        <comment>Sample comment</comment>
                        <date>2020-11-25T13:01:27.440Z</date>
                        <files start-index="0" max-result="3" size="0">
                            <file>
                                <name>some/example/path/to/File.java</name>
                                <revision>10</revision>
                            </file>
                            <file>
                                <name>some/example/path/to/File.java</name>
                                <revision>10</revision>
                            </file>
                            <file>
                                <name>some/example/path/to/File.java</name>
                                <revision>10</revision>
                            </file>
                        </files>
                    </change>
                    <change expand="change" author="Author" changesetId="10">
                        <comment>Sample comment</comment>
                        <date>2020-11-25T13:01:27.440Z</date>
                        <files start-index="0" max-result="3" size="0">
                            <file>
                                <name>some/example/path/to/File.java</name>
                                <revision>10</revision>
                            </file>
                            <file>
                                <name>some/example/path/to/File.java</name>
                                <revision>10</revision>
                            </file>
                            <file>
                                <name>some/example/path/to/File.java</name>
                                <revision>10</revision>
                            </file>
                        </files>
                    </change>
                </changes>
            </queuedBuild>
        </queuedBuilds>
    </queue>
    

    List of queued builds waiting in the build queue

    XML Schema

    Source:

/queue/{projectKey}-{buildKey}?stage&executeAllStages&customRevision

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

POST

Fire build execution for specified plan. Effectively, this method adds build to the build queue, so is not guarantied that build would be executed immediately. Depending on currently executed builds and length of build queue, build may be executed when queue would be drained. Additional variables could be passed to this method either as form encoded POST payload or query parameters. PLEASE note: Query parameters are more important - override those stored in form payload. Variables defined in Bamboo as global variables or plan variables MUST be prefixed with bamboo.variable ie. bamboo.variable.myVariable=valueForMyVariable. When global or plan variables would be passed to this method, will override default values for variables.

request query parameters
parameter value description

stage

string

executeAllStages

boolean

customRevision

string

acceptable request representations:

  • application/xml [expand]
  • application/json [expand]
  • application/x-www-form-urlencoded [expand]

available response representations:

  • 200 - application/xml, application/json (restQueuedBuild) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restQueuedBuild expand="queuedBuild" planKey="PROJECTKEY-PLANKEY" buildNumber="10" buildResultKey="PROJECTKEY-PLANKEY-10">
        <triggerReason>Manual build</triggerReason>
        <changes expand="changes" start-index="0" max-result="2" size="0">
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
        </changes>
    </restQueuedBuild>
    

    Information for queued build, including build number, changes and reason of build

    XML Schema

    Source:

  • 400 [expand]

    Returned when build was not added to the queue because of Bamboo limitation, e.g too many concurrent builds running for requested plan already or validation exception

  • 401 [expand]

    Returned when user does not have sufficient rights to view or execute build for specified plan

  • 404 [expand]

    Returned when specified plan does not exist or plan is not a top level plan

  • 415 [expand]

    Returned when POST method payload is not form encoded

/queue/{projectKey}-{buildKey}-{buildNumber : ([0-9]+)}?stage&executeAllStages

resource-wide template parameters
parameter value description

projectKey

string

project key

buildKey

string

plan key - IMPORTANT: as build queue contains only jobs not top level plans, plan key here MUST be a job key as opposite to other methods in this resource.

buildNumber

int

build number

Methods

PUT

Continue partially done build. Effectively, this method adds build to the build queue, so is not guarantied that build would be executed immediately. Depending on currently executed builds and length of build queue, build may be executed when queue would be drained. Additional variables could be passed to this method only query parameters (variableName=variableValue). Variables defined in Bamboo as global variables or plan variables MUST be prefixed with bamboo.variable ie. bamboo.variable.myVariable=valueForMyVariable. When global or plan variables would be passed to this method, will override values valid for previous build execution (override).

request query parameters
parameter value description

stage

string

name of the stage that should be executed even if manual stage. Execution will follow to the next manual stage after this or end of plan if no subsequent manual stage

executeAllStages

boolean

enforce executing all stages in a plan, even if defined as manual stages. Execution will follow and include latest stage, unless some stage will fail.

available response representations:

  • 200 - application/xml, application/json (restQueuedBuild) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restQueuedBuild expand="queuedBuild" planKey="PROJECTKEY-PLANKEY" buildNumber="10" buildResultKey="PROJECTKEY-PLANKEY-10">
        <triggerReason>Manual build</triggerReason>
        <changes expand="changes" start-index="0" max-result="2" size="0">
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
        </changes>
    </restQueuedBuild>
    

    Information for queued build, including build number, changes and reason of build

    XML Schema

    Source:

  • 400 [expand]

    Returned when build is currently executing or is in state not allowing execution

  • 401 [expand]

    Returned when user does not have sufficient rights to view or execute build for specified plan

  • 404 [expand]

    Returned when specified plan does not exist, result for provided build number does not exist or is not top level plan result

DELETE

Stop build execution.

available response representations:

  • 401 [expand]

    Returned when user does not have sufficient rights to view or execute build for specified plan

  • 204 [expand]

    On success (success is also when build was already completed - so nothing to stop)

  • 404 [expand]

    Returned when specified job does not exist

/status

REST resource for retriving the status of the server

Methods

GET

Returns the current status of the server. This endpoint enables a basic status check on the status of a Bamboo instance. <p> The status endpoint will be responsive as long as the Bamboo REST plugin will be running. In other words, this endpoint does depend on the instance health and might not answer as a result of a failure or when Bamboo is still starting. </p>

available response representations:

  • 200 - application/json [expand]

    Returns the current status of the server

/elasticConfiguration

Methods

GET

available response representations:

  • application/json (elasticConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="elasticConfiguration" type="restElasticImageConfig"/><xs:element name="elasticConfiguration" type="restElasticImageConfig"/>

POST

acceptable request representations:

  • application/json (elasticConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="elasticConfiguration" type="restElasticImageConfig"/><xs:element name="elasticConfiguration" type="restElasticImageConfig"/>

available response representations:

  • application/json (elasticConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="elasticConfiguration" type="restElasticImageConfig"/><xs:element name="elasticConfiguration" type="restElasticImageConfig"/>

/elasticConfiguration/{configurationId}

resource-wide template parameters
parameter value description

configurationId

long

Methods

GET

available response representations:

  • application/json (elasticConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="elasticConfiguration" type="restElasticImageConfig"/><xs:element name="elasticConfiguration" type="restElasticImageConfig"/>

PUT

acceptable request representations:

  • application/json (elasticConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="elasticConfiguration" type="restElasticImageConfig"/><xs:element name="elasticConfiguration" type="restElasticImageConfig"/>

available response representations:

  • application/json (elasticConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="elasticConfiguration" type="restElasticImageConfig"/><xs:element name="elasticConfiguration" type="restElasticImageConfig"/>

DELETE

available response representations:

/elasticConfiguration/image-id/{imageId}?newImageId

resource-wide template parameters
parameter value description

imageId

string

Methods

PUT

request query parameters
parameter value description

newImageId

string

available response representations:

/agent/authentication?pending

Methods

GET

Provides a list of all agent authentication statuses. Use query parameter "pending = true/false" to filter only pending or only approved agents.

request query parameters
parameter value description

pending

boolean

available response representations:

  • 200 - application/json [expand]

    A successful call will return a complete (non-paginated) list of agent authentication statuses.

  • 401 - application/json [expand]

    A response with code HTTP 401 indicates that the calling user had insufficient permissions for the request.

/agent/authentication/{agentUuid}

resource-wide template parameters
parameter value description

agentUuid

string

Methods

PUT

Authenticates a pending agent with the given UUID. If the agent has already been authenticated, the call will not change it's state.

available response representations:

  • 400 - application/json [expand]

    A response with code HTTP 400 indicates that there were errors during request execution - for example data validation errors occurred (the provided UUID was invalid, no agent with the given UUID was found etc.).

  • 401 - application/json [expand]

    A response with code HTTP 401 indicates that the calling user had insufficient permissions for the request.

  • 204 [expand]

    No content response is sent after successful authentication of an agent.

/elasticInstances

Methods

/elasticInstances/instance/{instanceId}/logs

resource-wide template parameters
parameter value description

instanceId

string

id of the EC2 instance

Methods

GET

Obtain logs from an EC2 instance. Note that this method will return the console output of the instance, not Bamboo agent logs.

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <elasticInstanceLog>
        <instanceId>i-b8532d45</instanceId>
        <log>Transaction Summary
    ================================================================================
    Upgrade 5 Packages
    
    Total download size: 67 M
    Downloading packages:
    --------------------------------------------------------------------------------</log>
    </elasticInstanceLog>
    

    A JSON object containing the instance id and it's console output

  • 400 - application/json [expand]

    Returned when input or server state validation fails, for example when AWS account is not configured or Elastic Bamboo is not enabled.

  • 404 - application/json [expand]

    Returned when no EC2 instance with the given id was found. The instance has to exist and must be managed by this Bamboo server.

/reindex

REST resource for starting/stopping/querying indexing.

Methods

GET

Returns status of the current indexing operation. reindexInProgress - reindex is currently performed in background reindexPending - reindex is required (i.e. it failed before or some upgrade task asked for it)

available response representations:

  • 200 - application/json [expand]

    Returns status of the current indexing operation

POST

Kicks off a reindex. Requires system admin permissions to perform this reindex.

request query parameters
parameter value description

indexer

string

available response representations:

  • 202 - application/json [expand]

    Returns status of the current indexing operation

/deploy/environment

Methods

/deploy/environment/{environmentId}

resource-wide template parameters
parameter value description

environmentId

long

environment id

Methods

GET

Provide summary of a single environment.

available response representations:

  • 200 - application/json (restEnvironmentWithConfigCount) [expand]
    XML Schema

    Source:

  • 403 [expand]

    Returns when user don't have VIEW permission for environment

  • 404 [expand]

    Returns when environment not found

/deploy/environment/{environmentId}/results?expand

resource-wide template parameters
parameter value description

environmentId

long

deployment environment id

Methods

GET

Provide list of versions deployed to environment. Sorted by started date, newest first.

request query parameters
parameter value description

expand

string

expands deployment versions. Possible values are: results

available response representations:

  • 200 - application/json (restDeploymentResultList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restDeploymentResultList expand="results" start-index="0" max-result="2" size="2">
        <results>
            <deploymentVersion>
                <id>15</id>
                <name>version1</name>
                <creationDate>2020-11-25T13:01:28.120Z</creationDate>
                <creatorUserName>Administrator User</creatorUserName>
                <versionStatus>
                    <id>1</id>
                    <userName>admin</userName>
                    <displayName>Approved</displayName>
                    <gravatarUrl></gravatarUrl>
                    <creationDate>2020-11-25T13:01:28.120Z</creationDate>
                    <versionState>APPROVED</versionState>
                </versionStatus>
                <operations>
                    <canView>true</canView>
                    <canEdit>true</canEdit>
                    <canDelete>false</canDelete>
                    <allowedToExecute>false</allowedToExecute>
                    <canExecute>false</canExecute>
                    <cantExecuteReason>Not authorized</cantExecuteReason>
                    <allowedToCreateVersion>false</allowedToCreateVersion>
                    <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
                </operations>
                <creatorDisplayName>Administrator User</creatorDisplayName>
                <creatorGravatarUrl></creatorGravatarUrl>
                <planBranchName>PLAN12</planBranchName>
                <ageZeroPoint>2020-11-25T13:01:28.120Z</ageZeroPoint>
            </deploymentVersion>
            <deploymentVersionName>release-1</deploymentVersionName>
            <id>1</id>
            <deploymentState>SUCCESS</deploymentState>
            <lifeCycleState>FINISHED</lifeCycleState>
            <startedDate>2020-11-25T13:01:28.120Z</startedDate>
            <queuedDate>2020-11-25T13:01:28.120Z</queuedDate>
            <executedDate>2020-11-25T13:01:28.120Z</executedDate>
            <finishedDate>2020-11-25T13:01:28.120Z</finishedDate>
            <reasonSummary>Manual build</reasonSummary>
            <key>
                <key>123-123-1</key>
                <entityKey>
                    <key>123-123</key>
                </entityKey>
                <resultNumber>1</resultNumber>
            </key>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <logFiles>http://bamboo.example.com/deployment-download/12/build_logs/123-123-1.log</logFiles>
        </results>
        <results>
            <deploymentVersion>
                <id>15</id>
                <name>version1</name>
                <creationDate>2020-11-25T13:01:28.126Z</creationDate>
                <creatorUserName>Administrator User</creatorUserName>
                <versionStatus>
                    <id>1</id>
                    <userName>admin</userName>
                    <displayName>Approved</displayName>
                    <gravatarUrl></gravatarUrl>
                    <creationDate>2020-11-25T13:01:28.126Z</creationDate>
                    <versionState>APPROVED</versionState>
                </versionStatus>
                <operations>
                    <canView>true</canView>
                    <canEdit>true</canEdit>
                    <canDelete>false</canDelete>
                    <allowedToExecute>false</allowedToExecute>
                    <canExecute>false</canExecute>
                    <cantExecuteReason>Not authorized</cantExecuteReason>
                    <allowedToCreateVersion>false</allowedToCreateVersion>
                    <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
                </operations>
                <creatorDisplayName>Administrator User</creatorDisplayName>
                <creatorGravatarUrl></creatorGravatarUrl>
                <planBranchName>PLAN12</planBranchName>
                <ageZeroPoint>2020-11-25T13:01:28.126Z</ageZeroPoint>
            </deploymentVersion>
            <deploymentVersionName>release-2</deploymentVersionName>
            <id>2</id>
            <deploymentState>SUCCESS</deploymentState>
            <lifeCycleState>FINISHED</lifeCycleState>
            <startedDate>2020-11-25T13:01:28.126Z</startedDate>
            <queuedDate>2020-11-25T13:01:28.126Z</queuedDate>
            <executedDate>2020-11-25T13:01:28.126Z</executedDate>
            <finishedDate>2020-11-25T13:01:28.126Z</finishedDate>
            <reasonSummary>Manual build</reasonSummary>
            <key>
                <key>123-123-2</key>
                <entityKey>
                    <key>123-123</key>
                </entityKey>
                <resultNumber>2</resultNumber>
            </key>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <logFiles>http://bamboo.example.com/deployment-download/12/build_logs/123-123-2.log</logFiles>
        </results>
    </restDeploymentResultList>
    

    XML Schema

    Source:

  • 403 [expand]

    Returns when user don't have VIEW permission for environment

  • 404 [expand]

    Returns when environment not found

/deploy/environment/{environmentId}/agent-assignment

resource-wide template parameters
parameter value description

environmentId

long

environment id

Methods

GET

Provide list of agents/images assigned to given environment.

available response representations:

  • 403 [expand]

    If the user has no permissions for updating an agent assignment, which translates into no WRITE permissions to edit the configuration of the environment

  • 404 [expand]

    If the environment id is not found

POST

Add agent assignment for environment. agentAssignmentKey is a map with one key-value: name - agentAssignmentKey. agentAssignmentKey is parsed by {@link ExecutorKey}.

acceptable request representations:

available response representations:

  • 400 [expand]

    If validation fails

  • 403 [expand]

    If the user has no permissions for updating an agent assignment, which translates into no WRITE permissions to edit the configuration of the environment

  • 404 [expand]

    If the environment id is not found

/deploy/environment/{environmentId}/possible-agent-assignment?searchTerm

resource-wide template parameters
parameter value description

environmentId

long

environment id

Methods

GET

Provide list of agents/images which can be dedicated for given environment.

request query parameters
parameter value description

searchTerm

string

part of the agent or image name to filter response. Use empty value to receive all agents/images.

available response representations:

  • 403 [expand]

    If the user has no permissions for updating an agent assignment, which translates into no WRITE permissions to edit the configuration of the environment

  • 404 [expand]

    If the environment id is not found

/deploy/environment/{environmentId}/agent-assignment/{executorKey}

resource-wide template parameters
parameter value description

environmentId

long

environment id

executorKey

string

key is parsed by {@link ExecutorKey}

Methods

DELETE

Remove agent/image from list of dedicated executors for given environment.

available response representations:

  • 400 [expand]

    If validation fails

  • 204 [expand]

    On successful removal of agent assignment

  • 403 [expand]

    If the user has no permissions for updating an agent assignment, which translates into no WRITE permissions to edit the configuration of the environment

  • 404 [expand]

    If the environment id is not found

/deploy/environment/{environmentId}/docker

resource-wide template parameters
parameter value description

environmentId

long

Methods

GET

Retrieves Docker configuration for given environment.

available response representations:

  • 200 [expand]

    Returns Docker Pipeline configuration for given environment

  • 400 [expand]

    If validation fails

  • 403 [expand]

    If the user has no edit permissions

  • 404 [expand]

    If the environment id is not found

PUT

Saves Docker configuration for given environment.

acceptable request representations:

  • application/json (restDockerPipelineConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restDockerPipelineConfiguration" type="restDockerPipelineConfiguration"/><xs:element name="restDockerPipelineConfiguration" type="restDockerPipelineConfiguration"/>

available response representations:

  • 200 [expand]

    Returns Docker Pipeline configuration for given environment

  • 400 [expand]

    If validation fails

  • 403 [expand]

    If the user has no edit permissions

  • 404 [expand]

    If the environment id is not found

/deploy/environment/{environmentId}/move/{position}/{relativeEnvironmentId}

resource-wide template parameters
parameter value description

environmentId

long

environment id

relativeEnvironmentId

long

environment id which referenced environment should be placed before or after.

position

string

position. Possible values: AFTER or BEFORE.

Methods

POST

Change environment position within deployment project.

available response representations:

  • 204 [expand]

    Position was changed

  • 403 [expand]

    Returned when user has no Edit permission to deployment project or environment

  • 404 [expand]

    Returned when environment or relative environment was not found or not visible to user.

/chart

Methods

GET

available response representations:

  • application/xml (chart) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="chart" type="restChart"/><xs:element name="chart" type="restChart"/>
  • application/json (chart) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="chart" type="restChart"/><xs:element name="chart" type="restChart"/>

/chart/planSummary

Methods

GET

available response representations:

  • application/xml (chart) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="chart" type="restChart"/><xs:element name="chart" type="restChart"/>
  • application/json (chart) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="chart" type="restChart"/><xs:element name="chart" type="restChart"/>

/chart/reports

Methods

GET

available response representations:

  • application/xml (reports) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="reports" type="restReports"/><xs:element name="reports" type="restReports"/>
  • application/json (reports) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="reports" type="restReports"/><xs:element name="reports" type="restReports"/>

/permissions/plan

REST endpoint to manage user/group plan permissions in Bamboo.

Methods

/permissions/plan/{key}/users?name

resource-wide template parameters
parameter value description

key

string

plan entity key

Methods

GET

Retrieve a list of users with their explicit permissions to given resource. The list can be filtered by some attributes. This resource is paged and returns a single page of results.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/plan/{key}/users/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

username of the affected user

key

string

plan entity key

Methods

PUT

Grants plan permissions to a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If 'username' user doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If user already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

  • 404 [expand]

    If plan not found.

DELETE

Revokes plan permissions from a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If the 'username' user doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If user already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

  • 404 [expand]

    If plan not found.

/permissions/plan/{key}/available-users?name

resource-wide template parameters
parameter value description

key

string

plan entity key

Methods

GET

Returns list of users which weren't granted explicitly any plan permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/plan/{key}/groups?name

resource-wide template parameters
parameter value description

key

string

plan entity key

Methods

GET

Retrieve a list of groups with their plan permissions. The list can be filtered by some attributes. This resource is paged returns a single page of results.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/plan/{key}/groups/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected group

key

string

plan entity key

Methods

PUT

Grants plan permissions to a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If group already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

  • 404 [expand]

    If plan not found.

DELETE

Revokes plan permissions from a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If group already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

  • 404 [expand]

    If plan not found.

/permissions/plan/{key}/available-groups?name

resource-wide template parameters
parameter value description

key

string

plan entity key

Methods

GET

Returns list of groups which weren't granted explicitly any plan permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/plan/{key}/roles

resource-wide template parameters
parameter value description

key

string

plan entity key

Methods

GET

Retrieve a list of roles with their plan permissions. This resource is paged returns a single page of results, although only 2 roles are supported: LOGGED IN users, ANONYMOUS users

available response representations:

  • 200 [expand]

    Return single page of roles with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/plan/{key}/roles/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected role

key

string

plan entity key

Methods

PUT

Grants plan permissions to a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist or one of the requested permission isn't supported for given role. Anonymous role supports only VIEW permission.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If role already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

  • 404 [expand]

    If plan not found.

DELETE

Revokes plan permissions from a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If role already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

  • 404 [expand]

    If plan not found.

/admin/groups

REST resource to manage groups in Bamboo.

Methods

POST

Create a new group. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

  • application/json (group) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <group>
        <name>bamboo-admin</name>
        <editable>false</editable>
    </group>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="group" type="restGroup"/><xs:element name="group" type="restGroup"/>

available response representations:

  • 400 [expand]

    When group couldn't be created. The response will hold additional information.

  • 204 [expand]

    When group has been created.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

GET

Retrieve a paginated list of groups. The authenticated user must have restricted administrative permission or higher to use this resource.

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • 200 - application/json (page) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of groups.

    XML Schema

    Source:

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

/admin/groups/{name : (.+)?}/remove-users

resource-wide template parameters
parameter value description

name

string

Methods

DELETE

Remove multiple users from a group. The list of usernames should be passed as request body. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

available response representations:

  • 400 [expand]

    When the users couldn't be removed from the group. The response will hold additional information.

  • 204 [expand]

    All the users were removed from the group

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified group or users do not exist.

/admin/groups/{name : (.+)?}/more-members?filter

resource-wide template parameters
parameter value description

name

string

Methods

GET

Retrieves a list of users that are members of a specified group. The authenticated user must have restricted administrative permission or higher to use this resource.

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • 200 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of users.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified group or users do not exist.

/admin/groups/{name : (.+)?}/more-non-members?filter

resource-wide template parameters
parameter value description

name

string

Methods

GET

Retrieves a list of users that are not members of a specified group. The authenticated user must have restricted administrative permission or higher to use this resource.

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • 200 (page) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of users.

    XML Schema

    Source:

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

/admin/groups/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

the name identifying the group to delete

Methods

DELETE

Deletes the specified group, removing it from the system. The authenticated user must have restricted administrative permission or higher to use this resource.

available response representations:

  • 400 [expand]

    When group couldn't be deleted. The response will hold additional information.

  • 204 [expand]

    When group was deleted successfully.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified group does not exist.

/admin/groups/{name : (.+)?}/add-users

resource-wide template parameters
parameter value description

name

string

Methods

POST

Add multiple users to a group. The list of usernames should be passed as request body. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

available response representations:

  • 400 [expand]

    When the users couldn't be added to the group. The response will hold additional information.

  • 204 [expand]

    All the users were added to the group

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified group or users do not exist.

/deploy/preview

Methods

/deploy/preview/result?resultKey&planKey&buildNumber&deploymentProjectId&previousVersionId

Methods

GET

request query parameters
parameter value description

resultKey

string

planKey

string

buildNumber

int

deploymentProjectId

long

previousVersionId

long

available response representations:

  • application/json (versionPreview) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="versionPreview" type="versionPreview"/><xs:element name="versionPreview" type="versionPreview"/>

/deploy/preview/version?versionName&versionId&deploymentProjectId&previousVersionId

Methods

GET

request query parameters
parameter value description

versionName

string

versionId

long

deploymentProjectId

long

previousVersionId

long

available response representations:

  • application/json (versionPreview) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="versionPreview" type="versionPreview"/><xs:element name="versionPreview" type="versionPreview"/>

/deploy/preview/possibleResults?planKey&deploymentProjectId

Methods

GET

request query parameters
parameter value description

planKey

string

deploymentProjectId

long

available response representations:

/deploy/preview/versionName?deploymentProjectId&resultKey

Methods

GET

request query parameters
parameter value description

deploymentProjectId

long

resultKey

string

available response representations:

/project?showEmpty

Methods

GET

Method used to list all projects defined in Bamboo. Projects without any plan are not listed by default, unless <em>showEmpty</em> query param is set to true. <p> Possible expand parameters: <dl> <dt>projects</dt><dd>list of projects projects.project - list of projects with project details</dd> <dt>projects.project.plans</dt><dd>list of project details and plans for project</dd> <dt>projects.project.plans.plan</dt><dd>list of project details and plans for project with plan details</dd> </dl>

request query parameters
parameter value description

showEmpty

boolean

available response representations:

  • application/xml (projects) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="projects" type="restProjects"/><xs:element name="projects" type="restProjects"/>
  • application/json (projects) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="projects" type="restProjects"/><xs:element name="projects" type="restProjects"/>

POST

Create project.

acceptable request representations:

  • application/xml (project) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="project" nillable="true" type="xs:anyType"/><xs:element name="project" nillable="true" type="xs:anyType"/>
  • application/json (project) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="project" nillable="true" type="xs:anyType"/><xs:element name="project" nillable="true" type="xs:anyType"/>

available response representations:

  • 201 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <project>
        <name>My first project</name>
        <key>PROJ</key>
        <publicAccess>false</publicAccess>
    </project>
    

    created project key.

  • 400 [expand]

    Returned when validation failed.

  • 403 [expand]

    Returned when user has no global Create permission.

/project/{projectKey}?showEmpty

resource-wide template parameters
parameter value description

projectKey

string

project key

Methods

GET

Method used to retrieve information for project specified as project key. <p> Possible expand parameters: <dl> <dt>plans</dt><dd>list of plans for project</dd> <dt>plans.plan</dt><dd>list of plans with plan details (only plans visible - READ permission for user)</dd> <dt>plans.plan.actions</dt><dd>list of plans with plan details and actions available for user for plan</dd> </dl>

request query parameters
parameter value description

showEmpty

boolean

available response representations:

  • 404 [expand]

    Returned when specified project does not exist or project has no plans unless <em>showEmpty</em> param is true

DELETE

Marks project for deletion. Project will be deleted by a batch job.

available response representations:

  • 400 [expand]

    Returned when project can't be removed, e.g. when it contains any plans

  • 401 [expand]

    Returned when user has no administration permission to project

  • 204 [expand]

    Returned when project is successfully marked for deletion.

  • 404 [expand]

    Returned when project doesn't exist

/project/{projectKey}/repository

resource-wide template parameters
parameter value description

projectKey

string

Methods

GET

Fetch list of repositories which granted to create plan in given project by Repository stored Bamboo Specs. Returns json array: [{"id":"123", "name":"repo1", "url":"http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123"}]

available response representations:

  • 200 [expand]

    The page object with list of repositories.

  • 403 [expand]

    Returned when user has no Administration permission to project

  • 404 [expand]

    Returned when specified project does not exist

POST

Grant permission to create/edit plan in given project by Bamboo Specs from given repository.

acceptable request representations:

  • application/xml (restIdContainer) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restIdContainer" type="restIdContainer"/><xs:element name="restIdContainer" type="restIdContainer"/>
  • application/json (restIdContainer) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restIdContainer" type="restIdContainer"/><xs:element name="restIdContainer" type="restIdContainer"/>

available response representations:

  • 201 [expand]

    added repository entity.

  • 400 [expand]

    Returned when idContainer is empty or null

  • 403 [expand]

    Returned when user has no Administration permission to project

  • 404 [expand]

    Returned when specified project does not exist or repository not found by id

/project/{projectKey}/repository/{repositoryId}

resource-wide template parameters
parameter value description

projectKey

string

project key

repositoryId

long

linked repository root id

Methods

DELETE

Remove approval to create plans in given project by given repository

available response representations:

  • 204 [expand]

    When successfully removed link between project and repository.

  • 403 [expand]

    Returned when user has no Administration permission to project

  • 404 [expand]

    Returned when specified project or repository does not exist

/project/{projectKey}/repository/search?searchTerm

resource-wide template parameters
parameter value description

projectKey

string

Methods

GET

Search for linked repositories which can be granted to create plans by Repository stored Bamboo Specs in given project

request query parameters
parameter value description

searchTerm

string

available response representations:

  • 200 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restRepositoryList start-index="0" max-result="1" size="2">
        <searchResults>
            <id>123</id>
            <name>linked repository 1</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
        <searchResults>
            <id>321</id>
            <name>linked repository 2</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=321</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
    </restRepositoryList>
    

    The page object with list of repositories.

  • 403 [expand]

    Returned when user has no Administration permission to project

  • 404 [expand]

    Returned when specified project does not exist

/project/{projectKey}/variable

resource-wide template parameters
parameter value description

projectKey

string

project key

Methods

POST

Create or update project variable.

acceptable request representations:

  • application/xml (variable) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="variable" nillable="true" type="xs:anyType"/><xs:element name="variable" nillable="true" type="xs:anyType"/>
  • application/json (variable) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="variable" nillable="true" type="xs:anyType"/><xs:element name="variable" nillable="true" type="xs:anyType"/>

available response representations:

  • 200 [expand]

    When the variable is updated successfully

  • 403 [expand]

    Returned when user has no Administration permission to the project

  • 404 [expand]

    Returned when specified project does not exist

/project/{projectKey}/sharedCredentials?filter

resource-wide template parameters
parameter value description

projectKey

string

project key

Methods

GET

Retrieves paginated shared credentials for the project specified by the project key.

request query parameters
parameter value description

filter

string

Default:

represents the params that define which page the request is after

available response representations:

  • 200 [expand]

    when credentials were successfully retrieved

  • 403 [expand]

    when user has no read permission to the project

/project/{projectKey}/sharedCredentials/{sharedCredentialId}

resource-wide template parameters
parameter value description

projectKey

string

project key

sharedCredentialId

long

project shared credentials id

Methods

DELETE

Deletes shared project credentials specified by id

available response representations:

  • 204 [expand]

    when credentials were deleted successfully

  • 403 [expand]

    when user has no admin permission to the project

  • 404 [expand]

    when credentials do not exist

/project/{projectKey}/specs?package&format

resource-wide template parameters
parameter value description

projectKey

string

Methods

GET

Export all of the plans for a project to Bamboo specs

request query parameters
parameter value description

package

string

format

string

available response representations:

  • 200 [expand]

    representation of all project plans as Bamboo specs

  • 403 [expand]

    user has insufficient permissions for the request

/deploy/dashboard

Methods

GET

available response representations:

  • application/json (dashboardProjectWithEnvironmentStatus) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="dashboardProjectWithEnvironmentStatus" type="dashboardProjectWithEnvironmentStatus"/><xs:element name="dashboardProjectWithEnvironmentStatus" type="dashboardProjectWithEnvironmentStatus"/>

/deploy/dashboard/{projectId}

resource-wide template parameters
parameter value description

projectId

long

Methods

GET

available response representations:

  • application/json (dashboardProjectWithEnvironmentStatus) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="dashboardProjectWithEnvironmentStatus" type="dashboardProjectWithEnvironmentStatus"/><xs:element name="dashboardProjectWithEnvironmentStatus" type="dashboardProjectWithEnvironmentStatus"/>

/deploy/dashboard/paginate?filter

Methods

GET

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • application/json (restPageModel) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restPageModel" type="restPageModel"/><xs:element name="restPageModel" type="restPageModel"/>

/deploy/dashboard/status

Methods

POST

Get environment latest release info.

acceptable request representations:

  • application/json (environmentIds) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <environmentIds>
        <ids>5</ids>
        <ids>6</ids>
    </environmentIds>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="environmentIds" type="environmentIds"/><xs:element name="environmentIds" type="environmentIds"/>

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <environmentStatus>
        <environmentId>5</environmentId>
        <deploymentResultId>8</deploymentResultId>
        <deploymentState>SUCCESS</deploymentState>
        <lifeCycleState>FINISHED</lifeCycleState>
        <startedDate>2020-11-25T13:01:28.095Z</startedDate>
        <queuedDate>2020-11-25T13:01:28.095Z</queuedDate>
        <executedDate>2020-11-25T13:01:28.095Z</executedDate>
        <finishedDate>2020-11-25T13:01:28.095Z</finishedDate>
        <deploymentVersionId>9</deploymentVersionId>
        <deploymentVersionName>release-1</deploymentVersionName>
    </environmentStatus>
    

    Environments latest deployment results

  • 400 - application/json (restErrorCollection) [expand]

    Validation error

    XML Schema

    Source:

  • 403 - application/json [expand]

    User don't have permissions to get status of deployment

/deploy/dashboard/paginate/{projectId}?filter

resource-wide template parameters
parameter value description

projectId

long

Methods

GET

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • application/json (restPageModel) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restPageModel" type="restPageModel"/><xs:element name="restPageModel" type="restPageModel"/>

/deploy/result

Methods

/deploy/result/{deploymentResultId}?includeLogs

resource-wide template parameters
parameter value description

deploymentResultId

long

Methods

GET

request query parameters
parameter value description

includeLogs

boolean

available response representations:

  • application/json (deploymentResult) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="deploymentResult" type="restDeploymentResult"/><xs:element name="deploymentResult" type="restDeploymentResult"/>

/capability

Methods

/capability/groupedListing?searchTerm&lastGroup

Methods

GET

Provides a list of capabilities for a select list in the UI. Filterable and paginable

request query parameters
parameter value description

searchTerm

string

lastGroup

string

available response representations:

/deploy/version

Methods

/deploy/version/{deploymentVersionId}/status

resource-wide template parameters
parameter value description

deploymentVersionId

long

deployment version id

Methods

GET

Get current status of deployment version.

available response representations:

  • 200 - application/json (restDeploymentVersionStatus) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <deploymentVersionStatus>
        <id>1</id>
        <userName>admin</userName>
        <displayName>Approved</displayName>
        <gravatarUrl></gravatarUrl>
        <creationDate>2020-11-25T13:01:28.134Z</creationDate>
        <versionState>APPROVED</versionState>
    </deploymentVersionStatus>
    

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="restDeploymentVersionStatus">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="userName" type="xs:string" minOccurs="0"/>
          <xs:element name="displayName" type="xs:string" minOccurs="0"/>
          <xs:element name="gravatarUrl" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="versionState" type="deploymentVersionState" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType><xs:complexType name="restDeploymentVersionStatus">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="userName" type="xs:string" minOccurs="0"/>
          <xs:element name="displayName" type="xs:string" minOccurs="0"/>
          <xs:element name="gravatarUrl" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="versionState" type="deploymentVersionState" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
  • 404 [expand]

    deployment version not found

/deploy/version/{deploymentVersionId}/status/{newStatus}

resource-wide template parameters
parameter value description

deploymentVersionId

long

deployment version id

newStatus

string

deployment version status. Possible values: UNKNOWN, APPROVED, BROKEN, INCOMPLETE

Methods

POST

Update deployment version status.

available response representations:

  • 200 - application/json (restDeploymentVersionStatus) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <deploymentVersionStatus>
        <id>1</id>
        <userName>admin</userName>
        <displayName>Approved</displayName>
        <gravatarUrl></gravatarUrl>
        <creationDate>2020-11-25T13:01:28.134Z</creationDate>
        <versionState>APPROVED</versionState>
    </deploymentVersionStatus>
    

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="restDeploymentVersionStatus">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="userName" type="xs:string" minOccurs="0"/>
          <xs:element name="displayName" type="xs:string" minOccurs="0"/>
          <xs:element name="gravatarUrl" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="versionState" type="deploymentVersionState" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType><xs:complexType name="restDeploymentVersionStatus">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="userName" type="xs:string" minOccurs="0"/>
          <xs:element name="displayName" type="xs:string" minOccurs="0"/>
          <xs:element name="gravatarUrl" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="versionState" type="deploymentVersionState" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
  • 400 - application/json (restErrorCollection) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <errors>Unknown deployment version status: MY_STATUS</errors>
        <fieldErrors/>
    </errors>
    

    XML Schema

    Source:

  • 401 [expand]

    For not authorized user

  • 404 [expand]

    Deployment version was not found by deployment version id

/deploy/version/{deploymentVersionId}/build-result

resource-wide template parameters
parameter value description

deploymentVersionId

long

deployment version id

Methods

GET

Get associated build result of deployment version.

available response representations:

  • 200 - application/json (deploymentVersionAndPlan) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <deploymentVersionAndPlanResult>
        <deploymentVersion>
            <id>15</id>
            <name>version1</name>
            <creationDate>2020-11-25T13:01:28.134Z</creationDate>
            <creatorUserName>Administrator User</creatorUserName>
            <versionStatus>
                <id>1</id>
                <userName>admin</userName>
                <displayName>Approved</displayName>
                <gravatarUrl></gravatarUrl>
                <creationDate>2020-11-25T13:01:28.134Z</creationDate>
                <versionState>APPROVED</versionState>
            </versionStatus>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <creatorDisplayName>Administrator User</creatorDisplayName>
            <creatorGravatarUrl></creatorGravatarUrl>
            <planBranchName>PLAN12</planBranchName>
            <ageZeroPoint>2020-11-25T13:01:28.134Z</ageZeroPoint>
        </deploymentVersion>
        <planResultKey>
            <key>PPROJECTKEY-PLANKEY-1</key>
            <entityKey>
                <key>PPROJECTKEY-PLANKEY</key>
            </entityKey>
            <resultNumber>1</resultNumber>
        </planResultKey>
    </deploymentVersionAndPlanResult>
    

    XML Schema

    Source:

  • 404 [expand]

    deployment version not found

/permissions/projectplan

REST endpoint to manage user/group project plan permissions in Bamboo. Project plan permission is permission applied on project and defines base permissions for plans in that project. Additional permission for given plans can be applied on a plan level.

Methods

/permissions/projectplan/{key}/users?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Retrieve a list of users with their explicit permissions to given resource. The list can be filtered by some attributes. This resource is paged and returns a single page of results.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/projectplan/{key}/users/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

username of the affected user

key

string

project entity key

Methods

PUT

Grants project plan permissions to a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If 'username' user doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If user already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes project plan permissions from a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If the 'username' user doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If user already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/projectplan/{key}/available-users?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Returns list of users which weren't granted explicitly any project plan permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/projectplan/{key}/groups?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Retrieve a list of groups with their project plan permissions. The list can be filtered by some attributes. This resource is paged returns a single page of results.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/projectplan/{key}/groups/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected group

key

string

project entity key

Methods

PUT

Grants project plan permissions to a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If group already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes project plan permissions from a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If group already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/projectplan/{key}/available-groups?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Returns list of groups which weren't granted explicitly any project plan permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/projectplan/{key}/roles

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Retrieve a list of roles with their project plan permissions. This resource is paged returns a single page of results, although only 2 roles are supported: LOGGED IN users, ANONYMOUS users

available response representations:

  • 200 [expand]

    Return single page of roles with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/projectplan/{key}/roles/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected role

key

string

project entity key

Methods

PUT

Grants project plan permissions to a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist or one of the requested permission isn't supported for given role. Anonymous role supports only VIEW permission.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If role already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes project plan permissions from a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If role already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/currentUser

Methods

GET

available response representations:

  • application/json (userBean) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="userBean" type="userBean"/><xs:element name="userBean" type="userBean"/>
  • application/xml (userBean) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="userBean" type="userBean"/><xs:element name="userBean" type="userBean"/>

/result?expand&favourite&label&issueKey&includeAllStates&lifeCycleState&continuable&buildstate&start-index&max-results

Provide build results information. Available for anonymous and authenticated users, however proper permissions are enforced

Methods

GET

Provide list of latest build results for top level plans visible for users.

request query parameters
parameter value description

expand

string

favourite

boolean

label

string

issueKey

string

includeAllStates

boolean

lifeCycleState

string

continuable

boolean

buildstate

string

start-index

int

max-results

int

available response representations:

  • 200 - application/xml, application/json (restResults) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results start-index="0" max-result="2" size="0">
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="PPROJECTKEY-PLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.430Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.431Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.431Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.431Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts start-index="0" max-result="1" size="0">
                    <artifact>
                        <name>cargo log</name>
                        <link href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log" rel="self"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
                <variables start-index="0" max-result="2" size="0">
                    <variable name="variableOne" value="value"/>
                    <variable name="password" value="********"/>
                </variables>
            </result>
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>ANOTHER_PLAN_NAME</planName>
                <projectName>ANOTHER_PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.461Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.461Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.461Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.461Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
            </result>
        </results>
    </results>
    

    Latest build results for all plans

    XML Schema

    Source:

/result/{projectKey}-{buildKey}-{buildNumber : ([0-9]+)|(latest)}?expand&favourite&start-index&max-results

resource-wide template parameters
parameter value description

projectKey

string

project key

buildKey

string

plan key (might be simply planKey or composite planKey-jobKey)

buildNumber

string

either the number of the specific build result or 'latest' for the highest build number

Methods

GET

Provide build result specified by projectKey-buildKey-buildNumber. Build number may be specified as "latest" for the result with the highest build number.

request query parameters
parameter value description

expand

string

expands build result details on request. Possible values are: changes, metadata, artifacts, comments, labels, jiraIssues, stages, logEntries. stages expand is available only for top level plans. It allows to drill down to job results using stages.stage.results.result. logEntries and testResults are available only for job results

favourite

boolean

filters build results list to show only results for favourite plans. Works only for authenticated user

start-index

int

start index for results list (zero based)

max-results

int

maximum size for returned list

available response representations:

  • 200 - application/xml, application/json (resultDetails) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="PPROJECTKEY-PLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
        <planName>PLAN_NAME</planName>
        <projectName>PROJECT_NAME</projectName>
        <buildStartedTime>2020-11-25T13:01:27.430Z</buildStartedTime>
        <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
        <buildCompletedTime>2020-11-25T13:01:27.431Z</buildCompletedTime>
        <buildCompletedDate>2020-11-25T13:01:27.431Z</buildCompletedDate>
        <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
        <buildDurationInSeconds>1</buildDurationInSeconds>
        <buildDuration>1000</buildDuration>
        <buildDurationDescription>1 second</buildDurationDescription>
        <buildRelativeTime>1 hour ago</buildRelativeTime>
        <queueStartedTime>2020-11-25T13:01:27.431Z</queueStartedTime>
        <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
        <restartCount>0</restartCount>
        <artifacts start-index="0" max-result="1" size="0">
            <artifact>
                <name>cargo log</name>
                <link href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log" rel="self"/>
                <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                <shared>true</shared>
                <size>1024</size>
                <prettySizeDescription>1 kilobyte</prettySizeDescription>
            </artifact>
        </artifacts>
        <comments start-index="0" max-result="2" size="0">
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
            </comment>
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
            </comment>
        </comments>
        <labels start-index="0" max-result="2" size="0">
            <label name="someLabel"/>
            <label name="someLabel"/>
        </labels>
        <jiraIssues start-index="0" max-result="2" size="0">
            <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
            </issue>
            <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
            </issue>
        </jiraIssues>
        <variables start-index="0" max-result="2" size="0">
            <variable name="variableOne" value="value"/>
            <variable name="password" value="********"/>
        </variables>
        <changes expand="changes" start-index="0" max-result="2" size="0">
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
        </changes>
        <metadata start-index="0" max-result="1" size="0">
            <item key="ManualBuildTriggerReason.userName" value="admin"/>
        </metadata>
    </result>
    

    Result of single build. Presented content contain information for finished build. If build is in progress, contains additional runtime information. Top level plan contains additionally progress information, job progress information, current log entries and hasExecutableAgent boolean flag.

    XML Schema

    Source:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project or plan does not exists

/result/{projectKey}?expand&favourite&label&issueKey&includeAllStates&lifeCycleState&continuable&buildstate&start-index&max-results

resource-wide template parameters
parameter value description

projectKey

string

Methods

GET

Provide list of latest build results for top level plans for specified project. List of results is limited to plans visible for user.

request query parameters
parameter value description

expand

string

favourite

boolean

label

string

issueKey

string

includeAllStates

boolean

lifeCycleState

string

continuable

boolean

buildstate

string

start-index

int

max-results

int

available response representations:

  • 200 - application/xml, application/json (restResults) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results start-index="0" max-result="1" size="0">
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="ANOTHERPPROJECTKEY-ANOTHERPLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="1" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.460Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.460Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.460Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.460Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
            </result>
        </results>
    </results>
    

    Latest build results for plans for specified project

    XML Schema

    Source:

  • 404 [expand]

    Returned when specified project does not exists or user does not have permission to see plans for specified project

/result/byChangeset/{csid}

resource-wide template parameters
parameter value description

csid

string

Methods

GET

Provide list of build results related to changeset id passed as parameter. List of results contains results from all plans related to this changeset.

available response representations:

  • 200 - application/xml, application/json (restResults) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results start-index="0" max-result="2" size="0">
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="ANOTHERPPROJECTKEY-ANOTHERPLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="1" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.460Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.460Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.460Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.460Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
            </result>
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="PPROJECTKEY-PLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.430Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.431Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.431Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.431Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts start-index="0" max-result="1" size="0">
                    <artifact>
                        <name>cargo log</name>
                        <link href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log" rel="self"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
                <variables start-index="0" max-result="2" size="0">
                    <variable name="variableOne" value="value"/>
                    <variable name="password" value="********"/>
                </variables>
            </result>
        </results>
    </results>
    

    Build results for specified changeset.

    XML Schema

    Source:

/result/byCheckoutChangeset/{csid}

resource-wide template parameters
parameter value description

csid

string

Methods

GET

Provide list of build results related to changeset id passed as parameter. List of results contains results from all plans which have repositories checked out with this changeset.

available response representations:

  • 200 - application/xml, application/json (restResults) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results start-index="0" max-result="2" size="0">
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="ANOTHERPPROJECTKEY-ANOTHERPLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="1" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.460Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.460Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.460Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.460Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
            </result>
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="PPROJECTKEY-PLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.430Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.431Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.431Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.431Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts start-index="0" max-result="1" size="0">
                    <artifact>
                        <name>cargo log</name>
                        <link href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log" rel="self"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
                <variables start-index="0" max-result="2" size="0">
                    <variable name="variableOne" value="value"/>
                    <variable name="password" value="********"/>
                </variables>
            </result>
        </results>
    </results>
    

    Build results for specified changeset.

    XML Schema

    Source:

/result/{projectKey}-{buildKey}?expand&favourite&label&issueKey&includeAllStates&lifeCycleState&continuable&buildstate&start-index&max-results

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Provide list of build results for specified plan. Plan might be top level plan (projectKey-planKey) or job plan (projectKey-planKey-jobKey).

request query parameters
parameter value description

expand

string

favourite

boolean

label

string

issueKey

string

includeAllStates

boolean

lifeCycleState

string

continuable

boolean

buildstate

boolean

start-index

int

max-results

int

available response representations:

  • 200 - application/xml, application/json (restResults) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results start-index="0" max-result="2" size="0">
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="ANOTHERPPROJECTKEY-ANOTHERPLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="1" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.460Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.460Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.460Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.460Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
            </result>
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="PPROJECTKEY-PLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.430Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.431Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.431Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.431Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts start-index="0" max-result="1" size="0">
                    <artifact>
                        <name>cargo log</name>
                        <link href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log" rel="self"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
                <variables start-index="0" max-result="2" size="0">
                    <variable name="variableOne" value="value"/>
                    <variable name="password" value="********"/>
                </variables>
            </result>
        </results>
    </results>
    

    Latest build results for specified plan. Results are ordered from latest or oldest.

    XML Schema

    Source:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project or plan does not exists

/result/{projectKey}-{buildKey}/branch/{branchName}?expand&favourite&label&issueKey&includeAllStates&lifeCycleState&continuable&buildstate&start-index&max-results

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

branchName

string

Methods

GET

Provide list of build results for specified plan. Plan might be top level plan (projectKey-planKey) or job plan (projectKey-planKey-jobKey).

request query parameters
parameter value description

expand

string

favourite

boolean

label

string

issueKey

string

includeAllStates

boolean

lifeCycleState

string

continuable

boolean

buildstate

boolean

start-index

int

max-results

int

available response representations:

  • 200 - application/xml, application/json (restResults) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results start-index="0" max-result="2" size="0">
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="ANOTHERPPROJECTKEY-ANOTHERPLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="1" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.460Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.460Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.460Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.460Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
            </result>
            <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="PPROJECTKEY-PLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2020-11-25T13:01:27.430Z</buildStartedTime>
                <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
                <buildCompletedTime>2020-11-25T13:01:27.431Z</buildCompletedTime>
                <buildCompletedDate>2020-11-25T13:01:27.431Z</buildCompletedDate>
                <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2020-11-25T13:01:27.431Z</queueStartedTime>
                <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts start-index="0" max-result="1" size="0">
                    <artifact>
                        <name>cargo log</name>
                        <link href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log" rel="self"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments start-index="0" max-result="2" size="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                        <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
                    </comment>
                </comments>
                <labels start-index="0" max-result="2" size="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues start-index="0" max-result="2" size="0">
                    <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
                    </issue>
                    <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                        <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
                    </issue>
                </jiraIssues>
                <variables start-index="0" max-result="2" size="0">
                    <variable name="variableOne" value="value"/>
                    <variable name="password" value="********"/>
                </variables>
            </result>
        </results>
    </results>
    

    Latest build results for specified plan. Results are ordered from latest or oldest.

    XML Schema

    Source:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project or plan does not exists

/result/{projectKey}-{buildKey}-{buildNumber}/comment

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

buildNumber

string

Methods

GET

Provide list of comments for build result specified by projectKey-buildKey-buildNumber. Build number may be specified as "latest" for the result with the highest build number.

available response representations:

  • 200 - application/xml, application/json (restCommentList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <comments>
        <comments start-index="0" max-result="2" size="0">
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
            </comment>
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
            </comment>
        </comments>
    </comments>
    

    List of comments for build result

    XML Schema

    Source: xsd0.xsd

    <xs:element name="restCommentList" type="restCommentList"/><xs:element name="restCommentList" type="restCommentList"/>
  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan or build result does not exists

POST

Adds new comment to build result specified by projectKey-buildKey-buildNumber.

acceptable request representations:

  • application/xml (comment) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <comment>
        <content>new comment content</content>
    </comment>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="comment" type="restComment"/><xs:element name="comment" type="restComment"/>
  • application/json (comment) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <comment>
        <content>new comment content</content>
    </comment>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="comment" type="restComment"/><xs:element name="comment" type="restComment"/>

/result/{projectKey}-{buildKey}-{buildNumber}/comment/{commentId}

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

commentId

long

buildNumber

string

Methods

DELETE

Removes a comment from a build result.

available response representations:

  • 401 [expand]

    Returned when user has no permission to delete the specified comment

  • 404 [expand]

    Returned when specified project, plan, build result or comment does not exists

/result/{projectKey}-{buildKey}/{buildNumber : ([0-9]+)|(latest)}?expand&favourite&start-index&max-results

resource-wide template parameters
parameter value description

projectKey

string

project key

buildKey

string

plan key (might be simply planKey or composite planKey-jobKey)

buildNumber

string

either the number of the specific build result or 'latest' for the highest build number

Methods

GET

Provide build result specified by projectKey-buildKey-buildNumber. Build number may be specified as "latest" for the result with the highest build number.

request query parameters
parameter value description

expand

string

expands build result details on request. Possible values are: changes, metadata, artifacts, comments, labels, jiraIssues, stages, logEntries. stages expand is available only for top level plans. It allows to drill down to job results using stages.stage.results.result. logEntries and testResults are available only for job results

favourite

boolean

filters build results list to show only results for favourite plans. Works only for authenticated user

start-index

int

start index for results list (zero based)

max-results

int

maximum size for returned list

available response representations:

  • 200 - application/xml, application/json (resultDetails) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <result expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages" key="PPROJECTKEY-PLANKEY-2" state="SUCCESS" lifeCycleState="Finished" number="2" id="10000" continuable="false" onceOff="false" restartable="false">
        <planName>PLAN_NAME</planName>
        <projectName>PROJECT_NAME</projectName>
        <buildStartedTime>2020-11-25T13:01:27.430Z</buildStartedTime>
        <prettyBuildStartedTime>2020-11-25T13:01:27</prettyBuildStartedTime>
        <buildCompletedTime>2020-11-25T13:01:27.431Z</buildCompletedTime>
        <buildCompletedDate>2020-11-25T13:01:27.431Z</buildCompletedDate>
        <prettyBuildCompletedTime>2020-11-25T13:01:27</prettyBuildCompletedTime>
        <buildDurationInSeconds>1</buildDurationInSeconds>
        <buildDuration>1000</buildDuration>
        <buildDurationDescription>1 second</buildDurationDescription>
        <buildRelativeTime>1 hour ago</buildRelativeTime>
        <queueStartedTime>2020-11-25T13:01:27.431Z</queueStartedTime>
        <prettyQueueStartedTime>2020-11-25T13:01:27</prettyQueueStartedTime>
        <restartCount>0</restartCount>
        <artifacts start-index="0" max-result="1" size="0">
            <artifact>
                <name>cargo log</name>
                <link href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log" rel="self"/>
                <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                <shared>true</shared>
                <size>1024</size>
                <prettySizeDescription>1 kilobyte</prettySizeDescription>
            </artifact>
        </artifacts>
        <comments start-index="0" max-result="2" size="0">
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
            </comment>
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2020-11-25T13:01:27.432Z</creationDate>
                <modificationDate>2020-11-25T13:01:27.432Z</modificationDate>
            </comment>
        </comments>
        <labels start-index="0" max-result="2" size="0">
            <label name="someLabel"/>
            <label name="someLabel"/>
        </labels>
        <jiraIssues start-index="0" max-result="2" size="0">
            <issue key="BAM-9040" summary="Break out the Run options from the current menu" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                <url href="https://jira.atlassian.com/browse/BAM-9040" rel="self"/>
            </issue>
            <issue key="BAM-9137" summary="Task to allow users to tag and branch in SVN" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" issueType="Story" status="Resolved">
                <url href="https://jira.atlassian.com/browse/BAM-9137" rel="self"/>
            </issue>
        </jiraIssues>
        <variables start-index="0" max-result="2" size="0">
            <variable name="variableOne" value="value"/>
            <variable name="password" value="********"/>
        </variables>
        <changes expand="changes" start-index="0" max-result="2" size="0">
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
            <change expand="change" author="Author" changesetId="10">
                <comment>Sample comment</comment>
                <date>2020-11-25T13:01:27.440Z</date>
                <files start-index="0" max-result="3" size="0">
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                    <file>
                        <name>some/example/path/to/File.java</name>
                        <revision>10</revision>
                    </file>
                </files>
            </change>
        </changes>
        <metadata start-index="0" max-result="1" size="0">
            <item key="ManualBuildTriggerReason.userName" value="admin"/>
        </metadata>
    </result>
    

    Result of single build. Presented content contain information for finished build. If build is in progress, contains additional runtime information. Top level plan contains additionally progress information, job progress information, current log entries and hasExecutableAgent boolean flag.

    XML Schema

    Source:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project or plan does not exists

/result/{projectKey}-{buildKey}-{buildNumber}/label

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

buildNumber

string

Methods

GET

Provide list of labels for build result specified by projectKey-buildKey-buildNumber. Build number may be specified as "latest" for the result with the highest build number.

available response representations:

  • 200 (restBuildLabelList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <labels>
        <labels start-index="0" max-result="2" size="0">
            <label name="someLabel"/>
            <label name="someLabel"/>
        </labels>
    </labels>
    

    List of comments for build result

    XML Schema

    Source: xsd0.xsd

    <xs:element name="restBuildLabelList" type="restBuildLabelList"/><xs:element name="restBuildLabelList" type="restBuildLabelList"/>
  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan or build result does not exists

POST

Adds new label to build result specified by projectKey-buildKey-buildNumber. Build number may be specified as "latest" for the result with the highest build number.

acceptable request representations:

  • application/xml (label) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <label name="someLabel"/>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="label" nillable="true" type="xs:anyType"/><xs:element name="label" nillable="true" type="xs:anyType"/>
  • application/json (label) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <label name="someLabel"/>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="label" nillable="true" type="xs:anyType"/><xs:element name="label" nillable="true" type="xs:anyType"/>

available response representations:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan or build result does not exists

/result/{projectKey}-{buildKey}-{buildNumber}/label/{labelName}

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

labelName

string

buildNumber

string

Methods

DELETE

Removes label from build result specified by projectKey-buildKey-buildNumber. Build number may be specified as "latest" for the result with the highest build number.

available response representations:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan, build result or label to remove does not exists

/result/status/{projectKey}-{buildKey}-{buildNumber : ([0-9]+)}

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

buildNumber

string

Methods

GET

Provide runtime information for currently executing build result. The key difference to other methods is that method is optimized to provide information available in memory only, so no database calls are made. The information provided is not as wide as for finished results, but the call is optimized for speed.

available response representations:

  • 200 (restResultStatus) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <status expand="stages" key="PROJECTKEY-PLANKEY-100">
        <finished>false</finished>
        <prettyQueuedTime>2020-11-25T13:01:27</prettyQueuedTime>
        <progress>
            <isValid>true</isValid>
            <isUnderAverageTime>true</isUnderAverageTime>
            <percentageCompleted>0.4669655761516365</percentageCompleted>
            <percentageCompletedPretty>46%</percentageCompletedPretty>
            <prettyTimeRemaining>Approximately 2 minutes remaining</prettyTimeRemaining>
            <prettyTimeRemainingLong>Approximately 2 minutes remaining</prettyTimeRemainingLong>
            <averageBuildDuration>120000</averageBuildDuration>
            <prettyAverageBuildDuration>2 mins</prettyAverageBuildDuration>
            <buildTime>60000</buildTime>
            <prettyBuildTime>1 min</prettyBuildTime>
        </progress>
        <currentStage>first stage</currentStage>
        <stages expand="stage" start-index="0" max-result="1" size="0">
            <stage>
                <results expand="results" start-index="0" max-result="1" size="0">
                    <result expand="result" state="Unknown">
                        <progress>
                            <isValid>true</isValid>
                            <isUnderAverageTime>true</isUnderAverageTime>
                            <percentageCompleted>0.4669655761516365</percentageCompleted>
                            <percentageCompletedPretty>46%</percentageCompletedPretty>
                            <prettyTimeRemaining>Approximately 2 minutes remaining</prettyTimeRemaining>
                            <prettyTimeRemainingLong>Approximately 2 minutes remaining</prettyTimeRemainingLong>
                            <averageBuildDuration>120000</averageBuildDuration>
                            <prettyAverageBuildDuration>2 mins</prettyAverageBuildDuration>
                            <buildTime>60000</buildTime>
                            <prettyBuildTime>1 min</prettyBuildTime>
                        </progress>
                        <waiting>false</waiting>
                        <queued>false</queued>
                        <updatingSource>false</updatingSource>
                        <prettyVcsUpdateDuration>10 seconds</prettyVcsUpdateDuration>
                    </result>
                </results>
                <name>stageName</name>
                <description>stage description</description>
                <isBuilding>true</isBuilding>
                <isCompleted>false</isCompleted>
                <isSuccessful>false</isSuccessful>
                <index>0</index>
            </stage>
        </stages>
    </status>
    

    Currently executing build status

    XML Schema

    Source:

  • 401 [expand]

    Returned when user has no permission to view specified plan

  • 404 [expand]

    Returned when specified project, plan or build result does not exists. Also when build result is not currently executed ie. build has been completed already

/planDirectoryInfo

Returns information about the directories where artifacts, build logs, and build results will be stored. Disabled by default. See https://confluence.atlassian.com/display/BAMBOO/Plan+directory+information+REST+API for more information.

Methods

/planDirectoryInfo/{planKey}

resource-wide template parameters
parameter value description

planKey

string

Methods

GET

Provides the directories where artifacts and build logs can be found for a given plan key

available response representations:

  • 200 - application/json (planDirectoryInfo) [expand]

    Directories which may contain artifacts and log fiels for a given plan

    XML Schema

    Source:

/info

Methods

GET

available response representations:

  • application/xml (info) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="info" type="restInfo"/><xs:element name="info" type="restInfo"/>
  • application/json (info) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="info" type="restInfo"/><xs:element name="info" type="restInfo"/>

/deploy/projectVersioning

Methods

/deploy/projectVersioning/{deploymentProjectId}/variables

resource-wide template parameters
parameter value description

deploymentProjectId

long

deployment project id

Methods

GET

Get variables associated with deployment project.

available response representations:

  • 200 - application/json (versionVariables) [expand]
    XML Schema

    Source:

  • 400 [expand]

    Validation error

  • 404 [expand]

    Deployment project not found

/deploy/projectVersioning/{deploymentProjectId}/namingPreview?nextVersionName&incrementNumbers&incrementableVariables

resource-wide template parameters
parameter value description

deploymentProjectId

long

deployment project id

Methods

GET

Get deployment version name preview.

request query parameters
parameter value description

nextVersionName

string

name version. Mandatory

incrementNumbers

boolean

if version number should be incremented

incrementableVariables

string

variables used for version name. Divided by coma

available response representations:

  • 200 - application/json (restNamingPreview) [expand]
    XML Schema

    Source:

  • 400 - application/json [expand]

    Validation error

  • 404 [expand]

    Deployment project not found

/deploy/projectVersioning/{deploymentProjectId}/nextVersion?resultKey

resource-wide template parameters
parameter value description

deploymentProjectId

long

deployment project id

Methods

GET

Get next deployment version name

request query parameters
parameter value description

resultKey

string

build result key

available response representations:

  • 200 - application/json (restNamingPreview) [expand]
    XML Schema

    Source:

  • 400 - application/json [expand]

    Validation error

  • 404 [expand]

    Deployment project not found

/deploy/projectVersioning/{deploymentProjectId}/parseVariables?nextVersionName

resource-wide template parameters
parameter value description

deploymentProjectId

long

deployment project id

Methods

GET

Extract variables value from version name.

request query parameters
parameter value description

nextVersionName

string

version name

available response representations:

  • 200 - application/json [expand]
  • 400 - application/json [expand]

    Validation error

  • 404 [expand]

    Deployment project not found

/deploy/environment/{environmentId}/requirement

Provides RESTful operations on deployment environment requirements.

resource-wide template parameters
parameter value description

environmentId

long

Methods

GET

Gets all the requirements of an environment.

available response representations:

  • 200 (200) [expand]

    A list of a requirements

    XML Schema

    Source:

  • 401 [expand]

    If the user lack permissions for retrieving details about the environment structure, which translates into WRITE permissions to view and edit the environment configuration

  • 404 [expand]

    If the specified environment id is not found

POST

Adds a requirement for a given environment.

acceptable request representations:

  • application/json (requirement) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <requirement>
        <id>-1</id>
        <key>REQ-KEY</key>
        <matchType>EXISTS</matchType>
        <readonlyData/>
        <operations>
            <canEdit>true</canEdit>
            <canDelete>true</canDelete>
        </operations>
    </requirement>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="requirement" type="restRequirement"/><xs:element name="requirement" type="restRequirement"/>

available response representations:

  • 200 (200) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <requirement>
        <id>-1</id>
        <key>REQ-KEY</key>
        <matchType>EXISTS</matchType>
        <readonlyData/>
        <operations>
            <canEdit>true</canEdit>
            <canDelete>true</canDelete>
        </operations>
    </requirement>
    

    The updated requirement

    XML Schema

    Source:

  • 403 [expand]

    If the user has no permissions to add a requirement to an environment, which translates into no WRITE permissions to edit the configuration of the environment it belongs to

  • 404 [expand]

    If the environment id is not found

/deploy/environment/{environmentId}/requirement/detailedSummary

resource-wide template parameters
parameter value description

environmentId

long

environmentId

long

Methods

GET

Gets a detailed summary of the agents that are capable of running an environment, based of its requirements.

available response representations:

  • 200 (200) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restAgentSummary>
        <matchingAgentsCount>0</matchingAgentsCount>
        <matchingImagesCount>0</matchingImagesCount>
        <onlineEnabledAgentsCount>0</onlineEnabledAgentsCount>
        <isElasticBambooEnabled>false</isElasticBambooEnabled>
        <requirementsCountWithNoMatches>0</requirementsCountWithNoMatches>
        <requirementsCount>0</requirementsCount>
        <canConfigureAgents>true</canConfigureAgents>
        <canConfigureImages>true</canConfigureImages>
        <hasDedicatedExecutors>false</hasDedicatedExecutors>
    </restAgentSummary>
    

    a summary of the agents that can run an environment

    XML Schema

    Source:

  • 401 [expand]

    if the user does not have permissions to get information about the environment.

  • 404 [expand]

    If the specified environment id is not found

/deploy/environment/{environmentId}/requirement/summary

resource-wide template parameters
parameter value description

environmentId

long

environmentId

long

Methods

GET

Gets a summary of the agents that are capable of running an environment, based of its requirements.

available response representations:

  • 200 (200) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restAgentSummary>
        <matchingAgentsCount>0</matchingAgentsCount>
        <matchingImagesCount>0</matchingImagesCount>
        <onlineEnabledAgentsCount>0</onlineEnabledAgentsCount>
        <isElasticBambooEnabled>false</isElasticBambooEnabled>
        <requirementsCountWithNoMatches>0</requirementsCountWithNoMatches>
        <requirementsCount>0</requirementsCount>
        <canConfigureAgents>true</canConfigureAgents>
        <canConfigureImages>true</canConfigureImages>
        <hasDedicatedExecutors>false</hasDedicatedExecutors>
    </restAgentSummary>
    

    a summary of the agents that can run an environment

    XML Schema

    Source:

  • 401 [expand]

    if the user does not have permissions to get information about the environment.

  • 404 [expand]

    If the specified environment id is not found

/deploy/environment/{environmentId}/requirement/{id}

resource-wide template parameters
parameter value description

environmentId

long

environmentId

long

id

long

Methods

GET

Gets the details of a requirement for a given environment.

available response representations:

  • 200 (200) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <requirement>
        <id>-1</id>
        <key>REQ-KEY</key>
        <matchType>EXISTS</matchType>
        <readonlyData/>
        <operations>
            <canEdit>true</canEdit>
            <canDelete>true</canDelete>
        </operations>
    </requirement>
    

    A representation of a requirement

    XML Schema

    Source:

  • 403 [expand]

    If the user lack permissions for retrieving details about the environment, which translates into WRITE permissions to view and edit the environment

  • 404 [expand]

    If the specified environment id is not found or the requirement id does not exist

/deploy/environment/{environmentId}/requirement/{requirementId}

resource-wide template parameters
parameter value description

environmentId

long

environmentId

long

environment id

requirementId

long

requirement id of the requirement to delete

Methods

PUT

Updates a requirement for a given environment.

acceptable request representations:

  • application/json (requirement) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <requirement>
        <id>-1</id>
        <key>REQ-KEY</key>
        <matchType>EXISTS</matchType>
        <readonlyData/>
        <operations>
            <canEdit>true</canEdit>
            <canDelete>true</canDelete>
        </operations>
    </requirement>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="requirement" type="restRequirement"/><xs:element name="requirement" type="restRequirement"/>

available response representations:

  • 200 (200) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <requirement>
        <id>-1</id>
        <key>REQ-KEY</key>
        <matchType>EXISTS</matchType>
        <readonlyData/>
        <operations>
            <canEdit>true</canEdit>
            <canDelete>true</canDelete>
        </operations>
    </requirement>
    

    The updated requirement

    XML Schema

    Source:

  • 403 [expand]

    If the user has no permissions for updating a requirement, which translates into no WRITE permissions to edit the configuration of the environment it belongs to

  • 404 [expand]

    If the environment id is not found, or the requirement id does not exist

DELETE

Removes a requirement for an environment.

available response representations:

  • 401 [expand]

    If the user lacks permissions to remove an environment requirement, which translates into no WRITE permissions to edit the environment

  • 204 [expand]

    The environment's requirement has been deleted successfully

  • 404 [expand]

    If the environment id is not found, or the requirement it does not exist

/access-token

Methods

POST

Create new access token for current user.

acceptable request representations:

  • application/json (createAccessTokenRequest) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <createAccessTokenRequest>
        <name>token name</name>
        <permissions>READ</permissions>
    </createAccessTokenRequest>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="createAccessTokenRequest" type="createAccessTokenRequest"/><xs:element name="createAccessTokenRequest" type="createAccessTokenRequest"/>

available response representations:

  • 200 - application/json (page) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restAccessToken>
        <tokenId>1234</tokenId>
        <name>token name</name>
        <permissions>READ</permissions>
        <creationDate>1970-01-01T00:00:00.000Z</creationDate>
        <rawToken>asdASdasdasdasDAS</rawToken>
    </restAccessToken>
    

    New access tokens with rawToken field value.

    XML Schema

    Source:

  • 400 [expand]

    Token count limit exceeded, token with same name already exists, general error. The response will hold additional information.

GET

Retrieve a page of user's access tokens.

available response representations:

  • 200 - application/json (page) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of access tokens.

    XML Schema

    Source:

/access-token/{tokenId}

resource-wide template parameters
parameter value description

tokenId

string

Methods

DELETE

Revoke current user's access token.

available response representations:

  • 400 [expand]

    User don't own provided token. The response will hold additional information.

  • 204 [expand]

    When token has been successfully revoked.

/agent/assignment?executorType&executorId

Methods

GET

request query parameters
parameter value description

executorType

string

executorId

long

available response representations:

  • application/json (dedicatedAgent) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="dedicatedAgent" type="restDedicatedAgent"/><xs:element name="dedicatedAgent" type="restDedicatedAgent"/>

DELETE

request query parameters
parameter value description

executorType

string

should be AGENT or IMAGE

executorId

long

executor id

assignmentType

string

should be PROJECT, PLAN, JOB, ENVIRONMENT, DEPLOYMENT_PROJECT

entityId

long

entity id

available response representations:

  • 400 - application/json [expand]

    when can't parse executorType or executableType

  • 401 - application/json [expand]

    A response with code HTTP 401 indicates that the calling user had insufficient permissions for the request.

  • 204 [expand]

    successful removal of agent assignment

POST

Dedicate agent or image.

request query parameters
parameter value description

executorType

string

should be AGENT or IMAGE

executorId

long

executor id. Id of agent or elastic image.

assignmentType

string

should be PROJECT, PLAN, JOB, ENVIRONMENT, DEPLOYMENT_PROJECT

entityId

long

entity id. Identifier of project, plan, job, deployment project or environment.

available response representations:

/agent/assignment/search?executorType&executorId&entityType&searchTerm

Methods

GET

request query parameters
parameter value description

executorType

string

executorId

long

entityType

string

searchTerm

string

available response representations:

  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/deploy/project

Methods

PUT

Create deployment project.

acceptable request representations:

  • application/json (createDeploymentProjectRequest) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <createDeploymentProjectRequest>
        <name>Test deployment</name>
        <planKey>
            <key>PROJ-PLAN</key>
        </planKey>
        <description>Project description</description>
        <publicAccess>true</publicAccess>
    </createDeploymentProjectRequest>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="createDeploymentProjectRequest" type="restCreateDeploymentProjectRequest"/><xs:element name="createDeploymentProjectRequest" type="restCreateDeploymentProjectRequest"/>

available response representations:

  • 200 - application/json (restDeploymentProject) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <deploymentProject>
        <id>12</id>
        <oid>21ayer</oid>
        <key>
            <key>213123213</key>
        </key>
        <name>Test deployment</name>
        <planKey>
            <key>PROJ-PLAN</key>
        </planKey>
        <description>Project description</description>
        <environments>
            <id>12</id>
            <key>
                <key>1111</key>
            </key>
            <name>Dev</name>
            <description>Dev environment</description>
            <deploymentProjectId>12</deploymentProjectId>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <position>0</position>
            <configurationState>TASKED</configurationState>
        </environments>
        <environments>
            <id>17</id>
            <key>
                <key>1111</key>
            </key>
            <name>QA</name>
            <description>QA environment</description>
            <deploymentProjectId>12</deploymentProjectId>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <position>1</position>
            <configurationState>TASKED</configurationState>
        </environments>
        <operations>
            <canView>true</canView>
            <canEdit>true</canEdit>
            <canDelete>false</canDelete>
            <allowedToExecute>false</allowedToExecute>
            <canExecute>false</canExecute>
            <cantExecuteReason>Not authorized</cantExecuteReason>
            <allowedToCreateVersion>false</allowedToCreateVersion>
            <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
        </operations>
        <repositorySpecsManaged>false</repositorySpecsManaged>
    </deploymentProject>
    

    Created deployment project

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="restDeploymentProject">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="oid" type="xs:string" minOccurs="0"/>
          <xs:element ref="key" minOccurs="0"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="planKey" type="restKey" minOccurs="0"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="environments" type="restEnvironment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="repositorySpecsManaged" type="xs:boolean"/>
          <xs:element name="restVcsBambooSpecsSource" type="restVcsBambooSpecsSource" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType><xs:complexType name="restDeploymentProject">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="oid" type="xs:string" minOccurs="0"/>
          <xs:element ref="key" minOccurs="0"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="planKey" type="restKey" minOccurs="0"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="environments" type="restEnvironment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="repositorySpecsManaged" type="xs:boolean"/>
          <xs:element name="restVcsBambooSpecsSource" type="restVcsBambooSpecsSource" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
  • 400 - application/json (restErrorCollection) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <errors>Can't create deployment project because CreateDeploymentProjectRequest is empty</errors>
        <fieldErrors/>
    </errors>
    

    Validation error

    XML Schema

    Source:

/deploy/project/{deploymentProjectId}

resource-wide template parameters
parameter value description

deploymentProjectId

long

deployment project

Methods

GET

Find deployment project by id.

available response representations:

  • 200 - application/json (restDeploymentProject) [expand]

    return deployment project

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="restDeploymentProject">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="oid" type="xs:string" minOccurs="0"/>
          <xs:element ref="key" minOccurs="0"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="planKey" type="restKey" minOccurs="0"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="environments" type="restEnvironment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="repositorySpecsManaged" type="xs:boolean"/>
          <xs:element name="restVcsBambooSpecsSource" type="restVcsBambooSpecsSource" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType><xs:complexType name="restDeploymentProject">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="oid" type="xs:string" minOccurs="0"/>
          <xs:element ref="key" minOccurs="0"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="planKey" type="restKey" minOccurs="0"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="environments" type="restEnvironment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="repositorySpecsManaged" type="xs:boolean"/>
          <xs:element name="restVcsBambooSpecsSource" type="restVcsBambooSpecsSource" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
  • 404 [expand]

    Can't find deployment project by deploymentProjectId

POST

Update deployment project.

acceptable request representations:

  • application/json (updateDeploymentProjectRequest) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <updateDeploymentProjectRequest>
        <name>Test deployment</name>
        <planKey>
            <key>PROJ-PLAN</key>
        </planKey>
        <description>Project description</description>
    </updateDeploymentProjectRequest>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="updateDeploymentProjectRequest" type="restUpdateDeploymentProjectRequest"/><xs:element name="updateDeploymentProjectRequest" type="restUpdateDeploymentProjectRequest"/>

available response representations:

  • 200 - application/json (restDeploymentProject) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <deploymentProject>
        <id>12</id>
        <oid>21ayer</oid>
        <key>
            <key>213123213</key>
        </key>
        <name>Test deployment</name>
        <planKey>
            <key>PROJ-PLAN</key>
        </planKey>
        <description>Project description</description>
        <environments>
            <id>12</id>
            <key>
                <key>1111</key>
            </key>
            <name>Dev</name>
            <description>Dev environment</description>
            <deploymentProjectId>12</deploymentProjectId>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <position>0</position>
            <configurationState>TASKED</configurationState>
        </environments>
        <environments>
            <id>17</id>
            <key>
                <key>1111</key>
            </key>
            <name>QA</name>
            <description>QA environment</description>
            <deploymentProjectId>12</deploymentProjectId>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <position>1</position>
            <configurationState>TASKED</configurationState>
        </environments>
        <operations>
            <canView>true</canView>
            <canEdit>true</canEdit>
            <canDelete>false</canDelete>
            <allowedToExecute>false</allowedToExecute>
            <canExecute>false</canExecute>
            <cantExecuteReason>Not authorized</cantExecuteReason>
            <allowedToCreateVersion>false</allowedToCreateVersion>
            <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
        </operations>
        <repositorySpecsManaged>false</repositorySpecsManaged>
    </deploymentProject>
    

    return deployment project

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="restDeploymentProject">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="oid" type="xs:string" minOccurs="0"/>
          <xs:element ref="key" minOccurs="0"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="planKey" type="restKey" minOccurs="0"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="environments" type="restEnvironment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="repositorySpecsManaged" type="xs:boolean"/>
          <xs:element name="restVcsBambooSpecsSource" type="restVcsBambooSpecsSource" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType><xs:complexType name="restDeploymentProject">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="oid" type="xs:string" minOccurs="0"/>
          <xs:element ref="key" minOccurs="0"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="planKey" type="restKey" minOccurs="0"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="environments" type="restEnvironment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="repositorySpecsManaged" type="xs:boolean"/>
          <xs:element name="restVcsBambooSpecsSource" type="restVcsBambooSpecsSource" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
  • 400 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <errors>No deployment project was found for the given ID 123</errors>
        <fieldErrors/>
    </errors>
    

    Validation error

  • 404 [expand]

    Can't find deployment project by deploymentProjectId

DELETE

Delete deployment project

available response representations:

  • 204 [expand]

    deployment project was removed

  • 403 [expand]

    Returned when user has no Administration permission to deployment project

  • 404 [expand]

    Returned when specified deployment project does not exist

/deploy/project/{deploymentProjectId}/version

resource-wide template parameters
parameter value description

deploymentProjectId

long

id of deployment project

Methods

POST

Create deployment version for given deployment project.

acceptable request representations:

  • application/json (restCreateVersionRequest) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restCreateVersionRequest>
        <planResultKey>PRJ-PLN-2</planResultKey>
        <name>version1</name>
        <nextVersionName>version2</nextVersionName>
    </restCreateVersionRequest>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="restCreateVersionRequest" type="restCreateVersionRequest"/><xs:element name="restCreateVersionRequest" type="restCreateVersionRequest"/>

available response representations:

  • 200 - application/json (restDeploymentVersion) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <version>
        <id>15</id>
        <name>version1</name>
        <creationDate>2020-11-25T13:01:28.029Z</creationDate>
        <creatorUserName>Administrator User</creatorUserName>
        <versionStatus>
            <id>1</id>
            <userName>admin</userName>
            <displayName>Approved</displayName>
            <gravatarUrl></gravatarUrl>
            <creationDate>2020-11-25T13:01:28.039Z</creationDate>
            <versionState>APPROVED</versionState>
        </versionStatus>
        <operations>
            <canView>true</canView>
            <canEdit>true</canEdit>
            <canDelete>false</canDelete>
            <allowedToExecute>false</allowedToExecute>
            <canExecute>false</canExecute>
            <cantExecuteReason>Not authorized</cantExecuteReason>
            <allowedToCreateVersion>false</allowedToCreateVersion>
            <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
        </operations>
        <creatorDisplayName>Administrator User</creatorDisplayName>
        <creatorGravatarUrl></creatorGravatarUrl>
        <planBranchName>PLAN12</planBranchName>
        <ageZeroPoint>2020-11-25T13:01:28.039Z</ageZeroPoint>
    </version>
    

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="restDeploymentVersion">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="creatorUserName" type="xs:string" minOccurs="0"/>
          <xs:element name="items" type="restDeploymentVersionItem" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element name="versionStatus" type="restDeploymentVersionStatus" minOccurs="0"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="creatorDisplayName" type="xs:string" minOccurs="0"/>
          <xs:element name="creatorGravatarUrl" type="xs:string" minOccurs="0"/>
          <xs:element name="planBranchName" type="xs:string" minOccurs="0"/>
          <xs:element name="ageZeroPoint" type="xs:dateTime" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType><xs:complexType name="restDeploymentVersion">
        <xs:sequence>
          <xs:element name="id" type="xs:long"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="creatorUserName" type="xs:string" minOccurs="0"/>
          <xs:element name="items" type="restDeploymentVersionItem" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element name="versionStatus" type="restDeploymentVersionStatus" minOccurs="0"/>
          <xs:element ref="operations" minOccurs="0"/>
          <xs:element name="creatorDisplayName" type="xs:string" minOccurs="0"/>
          <xs:element name="creatorGravatarUrl" type="xs:string" minOccurs="0"/>
          <xs:element name="planBranchName" type="xs:string" minOccurs="0"/>
          <xs:element name="ageZeroPoint" type="xs:dateTime" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
  • 400 - application/json (restErrorCollection) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <fieldErrors>
            <entry>
                <key>versionName</key>
                <value/>
            </entry>
        </fieldErrors>
    </errors>
    

    Returns when validation error occurred

    XML Schema

    Source:

  • 401 [expand]

    Returns for anonymous access

  • 403 [expand]

    Returns when user don't have permissions to create version in deployment project

  • 404 [expand]

    Can't find deployment project by deploymentProjectId

/deploy/project/{deploymentProjectId}/versions?branchKey

resource-wide template parameters
parameter value description

deploymentProjectId

long

deployment project id

Methods

GET

Get list of deployment versions by deployment project id

request query parameters
parameter value description

branchKey

string

plan branch key. Can be empty if default branch is required

available response representations:

  • 200 - application/json (restDeploymentVersionList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <deploymentVersions start-index="0" max-result="2" size="2">
        <versions>
            <id>15</id>
            <name>version1</name>
            <creationDate>2020-11-25T13:01:28.042Z</creationDate>
            <creatorUserName>Administrator User</creatorUserName>
            <versionStatus>
                <id>1</id>
                <userName>admin</userName>
                <displayName>Approved</displayName>
                <gravatarUrl></gravatarUrl>
                <creationDate>2020-11-25T13:01:28.042Z</creationDate>
                <versionState>APPROVED</versionState>
            </versionStatus>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <creatorDisplayName>Administrator User</creatorDisplayName>
            <creatorGravatarUrl></creatorGravatarUrl>
            <planBranchName>PLAN12</planBranchName>
            <ageZeroPoint>2020-11-25T13:01:28.042Z</ageZeroPoint>
        </versions>
        <versions>
            <id>15</id>
            <name>version1</name>
            <creationDate>2020-11-25T13:01:28.042Z</creationDate>
            <creatorUserName>Administrator User</creatorUserName>
            <versionStatus>
                <id>1</id>
                <userName>admin</userName>
                <displayName>Approved</displayName>
                <gravatarUrl></gravatarUrl>
                <creationDate>2020-11-25T13:01:28.042Z</creationDate>
                <versionState>APPROVED</versionState>
            </versionStatus>
            <operations>
                <canView>true</canView>
                <canEdit>true</canEdit>
                <canDelete>false</canDelete>
                <allowedToExecute>false</allowedToExecute>
                <canExecute>false</canExecute>
                <cantExecuteReason>Not authorized</cantExecuteReason>
                <allowedToCreateVersion>false</allowedToCreateVersion>
                <allowedToSetVersionStatus>false</allowedToSetVersionStatus>
            </operations>
            <creatorDisplayName>Administrator User</creatorDisplayName>
            <creatorGravatarUrl></creatorGravatarUrl>
            <planBranchName>PLAN12</planBranchName>
            <ageZeroPoint>2020-11-25T13:01:28.042Z</ageZeroPoint>
        </versions>
    </deploymentVersions>
    

    deployment project versions

    XML Schema

    Source:

  • 400 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <errors>Please provide a valid planBranchKey</errors>
        <fieldErrors/>
    </errors>
    

    Validation error during deployment project update

  • 404 [expand]

    Can't find deployment project by deploymentProjectId

/deploy/project/forPlan?planKey

Methods

GET

Get list of deployment projects for build plan.

request query parameters
parameter value description

planKey

string

plan key. Required

available response representations:

  • 200 - application/json (restLinkedDeploymentProjectList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restLinkedDeploymentProject>
        <id>12</id>
        <name>Deployment project 1</name>
        <description>Deployment project 1 description</description>
    </restLinkedDeploymentProject>
    

    list of linked deployment projects

    XML Schema

    Source:

  • 400 - application/json (restErrorCollection) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <errors>Please provide a valid plan key</errors>
        <fieldErrors/>
    </errors>
    

    when plan key is empty or plan don't found

    XML Schema

    Source:

/deploy/project/{deploymentProjectId}/repository

resource-wide template parameters
parameter value description

deploymentProjectId

long

Methods

GET

Fetch list of repositories which granted to create/edit environment in given deployment project by Repository stored Bamboo Specs. Returns json array: [{"id":"123", "name":"repo1", "url":"http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123"}]

available response representations:

  • 200 [expand]

    The page object with list of repositories.

  • 403 [expand]

    Returned when user has no Administration permission to project

  • 404 [expand]

    Returned when specified project does not exist

POST

Grant permission to create/edit plan in given deployment project by Bamboo Specs from given repository.

acceptable request representations:

  • application/json (restIdContainer) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restIdContainer" type="restIdContainer"/><xs:element name="restIdContainer" type="restIdContainer"/>

available response representations:

  • 201 [expand]

    added repository entity.

  • 400 [expand]

    Returned when idContainer is empty or null

  • 403 [expand]

    Returned when user has no Administration permission to project

  • 404 [expand]

    Returned when specified project does not exist or repository not found by id

/deploy/project/{deploymentProjectId}/repository/{repositoryId}

resource-wide template parameters
parameter value description

repositoryId

long

linked repository root id

deploymentProjectId

long

project key

Methods

DELETE

Remove approval to create plans in given deployment project by given repository

available response representations:

  • 204 [expand]

    When successfully removed link between project and repository.

  • 403 [expand]

    Returned when user has no Administration permission to project

  • 404 [expand]

    Returned when specified project or repository does not exist

/deploy/project/{deploymentProjectId}/repository/search?searchTerm

resource-wide template parameters
parameter value description

deploymentProjectId

long

Methods

GET

Search for linked repositories which can be granted to create/modify environment by Repository stored Bamboo Specs in given deployment project.

request query parameters
parameter value description

searchTerm

string

available response representations:

  • 200 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restRepositoryList start-index="0" max-result="1" size="2">
        <searchResults>
            <id>123</id>
            <name>linked repository 1</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=123</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
        <searchResults>
            <id>321</id>
            <name>linked repository 2</name>
            <url>http://localhost:8085/admin/configureLinkedRepositories.action?repositoryId=321</url>
            <rssEnabled>true</rssEnabled>
        </searchResults>
    </restRepositoryList>
    

    The page object with list of repositories.

  • 403 [expand]

    Returned when user has no Administration permission to deployment project

  • 404 [expand]

    Returned when specified deployment project does not exist

/deploy/project/{deploymentProjectId}/specs?package&format

resource-wide template parameters
parameter value description

deploymentProjectId

long

The deployment project to export

Methods

GET

Export a deployment project to Java Specs

request query parameters
parameter value description

package

string

The package to use as the namespace of the exported Spec

format

string

Optionally, a format of code. It's {@link SpecsExporter.ExportFormat#JAVA} by default. Other option is {@link SpecsExporter.ExportFormat#YAML}.

available response representations:

  • 200 [expand]

    A JSON object with a code field containing the spec

  • 403 [expand]

    Returned when user has no Administration permission to deployment project

/deploy/project/all

Methods

GET

Find all deployment projects with environments. Returns only deployment projects and environments visible for user.

available response representations:

  • 200 - application/json (deploymentProjectsList) [expand]

    List of deployment projects with environments

    XML Schema

    Source:

/queue/deployment?environmentId&versionId&verboseLogging

Methods

POST

Trigger deployment for deployment environment and version.

request query parameters
parameter value description

environmentId

long

Deployment environment id. Mandatory

versionId

long

Version (release) id. Mandatory

verboseLogging

boolean

Runs deployments with verbose logs

available response representations:

  • 200 - application/json (restQueuedDeployment) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restQueuedDeployment>
        <deploymentResultId>12</deploymentResultId>
    </restQueuedDeployment>
    

    Trigger deployment for environment and version

    XML Schema

    Source:

  • 400 - application/json (restValidationError) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <errors>Deployment environment with id 1 and deployment version with id 2 are from different deployment projects</errors>
        <fieldErrors/>
    </errors>
    

    Validation error occurred or deployment can't be triggered

    XML Schema

    Source:

  • 403 - application/json [expand]

    User don't have permissions to trigger deployment to given environment

  • 404 [expand]

    Environment or version are not found

GET

Provide list of deployment results scheduled for execution and waiting in queue.

request query parameters
parameter value description

expand

string

expands deployment result queue items on request. Possible value: queuedDeployments.

available response representations:

  • 200 - application/json (restQueuedDeployments) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <queue expand="queuedDeployments">
        <queuedDeployments start-index="0" max-result="2" size="0">
            <queuedDeployments>
                <deploymentResultId>12</deploymentResultId>
            </queuedDeployments>
            <queuedDeployments>
                <deploymentResultId>25</deploymentResultId>
            </queuedDeployments>
        </queuedDeployments>
    </queue>
    

    XML Schema

    Source:

/queue/deployment/{deploymentResultId}

resource-wide template parameters
parameter value description

deploymentResultId

long

id of deployment result in queue.

Methods

DELETE

Remove deployment result from queue.

available response representations:

  • 400 - application/json (restValidationError) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <errors>
        <errors>Deployment can't be removed from queue as it's in finished state</errors>
        <fieldErrors/>
    </errors>
    

    Deployment already finished and can't be removed from queue

    XML Schema

    Source:

  • 204 [expand]

    Successfully removed deployment result from queue

  • 403 - application/json [expand]

    User don't have permission to delete deployment from queue

  • 404 [expand]

    Can't find deployment result by deploymentResultId

/quicksearch?searchTerm

Methods

GET

Performs a starts with search against full plan name and full plan key. Use "type" argument to filter by plan type by default will return TopLevelPlans

request query parameters
parameter value description

searchTerm

string

to search for. Optional

available response representations:

/admin/users?filter

REST resource to manage users in Bamboo.

Methods

GET

Retrieve a page of users. The authenticated user must have restricted administrative permission or higher to use this resource.

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • 200 - application/json (page) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of users.

    XML Schema

    Source:

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

POST

Create a new user. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

  • application/json (restNewUser) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restNewUser>
        <name>new-user</name>
        <fullName>New User</fullName>
        <email>newuser@example.com</email>
        <password>secret-password</password>
        <passwordConfirm>secret-password</passwordConfirm>
    </restNewUser>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="restNewUser" type="restNewUser"/><xs:element name="restNewUser" type="restNewUser"/>

available response representations:

  • 400 - application/json [expand]

    User couldn't be created. The response will hold additional information.

  • 204 [expand]

    When user has been created.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

/admin/users/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

The name identifying the user to delete.

Methods

DELETE

Deletes the specified user, removing them from the system. The authenticated user must have restricted administrative permission or higher to use this resource.

available response representations:

  • 400 [expand]

    User couldn't be deleted. The response will hold additional information.

  • 204 [expand]

    When user has been deleted successfully or user does not exist.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

/admin/users/credentials

Methods

PUT

Change password of specified user The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

  • application/json (restUserPasswordUpdate) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restUserPasswordUpdate>
        <name>user</name>
        <password>new-password</password>
        <passwordConfirm>new-password</passwordConfirm>
    </restUserPasswordUpdate>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="restUserPasswordUpdate" type="restUserPasswordUpdate"/><xs:element name="restUserPasswordUpdate" type="restUserPasswordUpdate"/>

available response representations:

  • 400 [expand]

    When the password couldn't be changed. The response will hold additional information.

  • 204 [expand]

    Users password has been changed.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user does not exist.

/admin/users/{name : (.+)?}/groups

resource-wide template parameters
parameter value description

name

string

Methods

POST

Add a user to multiple groups. The list of groups should be passed as request body. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

available response representations:

  • 400 [expand]

    When user couldn't be added to one or more groups. The response will hold additional information.

  • 204 [expand]

    The user has been added to all specified groups.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user or groups do not exist.

DELETE

Remove a user from multiple groups. The list of groups should be passed as request body. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

available response representations:

  • 400 [expand]

    When user couldn't be removed from one or more groups. The response will hold additional information.

  • 204 [expand]

    The user has been removed from all specified groups.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user or groups do not exist.

/admin/users/{name : (.+)?}/assigned-groups?filter

resource-wide template parameters
parameter value description

name

string

Methods

GET

Retrieves a list of groups to which the user belongs. The authenticated user must have restricted administrative permission or higher to use this resource.

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • 200 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of users.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user do not exist.

/admin/users/{name : (.+)?}/unassigned-groups?filter

resource-wide template parameters
parameter value description

name

string

Methods

GET

Retrieves a list of groups to which the user does not belong. The authenticated user must have restricted administrative permission or higher to use this resource.

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • 200 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of users.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user do not exist.

/admin/users/{name : (.+)?}/unassigned-aliases?filter

resource-wide template parameters
parameter value description

name

string

Methods

GET

Retrieves a list of unlinked aliases to which the user does not belong. The authenticated user must have restricted administrative permission or higher to use this resource.

request query parameters
parameter value description

filter

string

Default:

available response representations:

  • 200 [expand]

    A page of aliases.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user do not exist.

/admin/users/{name : (.+)?}/alias

resource-wide template parameters
parameter value description

name

string

The name identifying the user to delete.

Methods

GET

Retrieve a page of aliases. The authenticated user must have restricted administrative permission or higher to use this resource.

available response representations:

  • 200 - application/json (page) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of aliases.

    XML Schema

    Source:

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    User not found.

POST

Link existing unlined alias or create the new one. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

  • application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restUserAlias>
        <name>user1-alias@atlassian.com</name>
    </restUserAlias>
    

available response representations:

  • 400 - application/json [expand]

    Alias couldn't be created. The response will hold additional information.

  • 204 [expand]

    When alias has been created.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

DELETE

Unlink the specified alias from user, removing them from the system. The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

  • application/json (restUserAlias) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restUserAlias" type="restUserAlias"/><xs:element name="restUserAlias" type="restUserAlias"/>

available response representations:

  • 400 [expand]

    User couldn't be deleted. The response will hold additional information.

  • 204 [expand]

    When alias has been unlinked successfully or given user doesn't have this alias.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user does not exist.

/admin/users/{name : (.+)?}/access-token

resource-wide template parameters
parameter value description

name

string

Methods

GET

Retrieve a page of user's access tokens. The authenticated user must have restricted administrative permission or higher to use this resource.

available response representations:

  • 200 - application/json (page) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>10</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    A page of access tokens.

    XML Schema

    Source:

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    User not found.

/admin/users/{name : (.+)?}/access-token/{tokenId}

resource-wide template parameters
parameter value description

tokenId

string

id of token

name

string

The name identifying the user to revoke access token from.

Methods

DELETE

Revoke user's access token. The authenticated user must have restricted administrative permission or higher to use this resource.

available response representations:

  • 400 [expand]

    User don't own provided token. The response will hold additional information.

  • 204 [expand]

    When token has been successfully revoked.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user does not exist.

/admin/users/rename

Methods

PUT

Renames specified user The authenticated user must have restricted administrative permission or higher to use this resource.

acceptable request representations:

  • application/json (user) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <user>
        <name>newUsername</name>
        <oldName>oldUsername</oldName>
    </user>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="user" type="restUserRenameRequest"/><xs:element name="user" type="restUserRenameRequest"/>

available response representations:

  • 400 [expand]

    When the user couldn't be renamed. The response will hold additional information.

  • 204 [expand]

    When user has been renamed successfully.

  • 403 [expand]

    The currently authenticated user does not have sufficient permissions.

  • 404 [expand]

    The specified user does not exist.

/

Directory resource for Bamboo REST resources

Methods

GET

Provides list of available REST resources in Bamboo

available response representations:

  • 200 - application/xml, application/json (restResources) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <resources>
        <resources start-index="0" max-result="0" size="0">
            <resource name="info">
                <link href="http://localhost:8085/bamboo/rest/api/latest/info" rel="self"/>
            </resource>
            <resource name="project">
                <link href="http://localhost:8085/bamboo/rest/api/latest/project" rel="self"/>
            </resource>
            <resource name="plan">
                <link href="http://localhost:8085/bamboo/rest/api/latest/plan" rel="self"/>
            </resource>
            <resource name="result">
                <link href="http://localhost:8085/bamboo/rest/api/latest/result" rel="self"/>
            </resource>
            <resource name="chart">
                <link href="http://localhost:8085/bamboo/rest/api/latest/chart" rel="self"/>
            </resource>
            <resource name="queue">
                <link href="http://localhost:8085/bamboo/rest/api/latest/queue" rel="self"/>
            </resource>
            <resource name="export">
                <link href="http://localhost:8085/bamboo/rest/api/latest/export" rel="self"/>
            </resource>
            <resource name="clone">
                <link href="http://localhost:8085/bamboo/rest/api/latest/clone" rel="self"/>
            </resource>
            <resource name="currentUser">
                <link href="http://localhost:8085/bamboo/rest/api/latest/currentUser" rel="self"/>
            </resource>
        </resources>
    </resources>
    

    List of available REST resources

    XML Schema

    Source:

/permissions/deployment

REST endpoint to manage user/group deployment project permissions in Bamboo.

Methods

/permissions/deployment/{id}/users?name

resource-wide template parameters
parameter value description

id

string

deployment project entity key

Methods

GET

Retrieve a list of users with their explicit permissions to given resource. The list can be filtered by some attributes. This resource is paged and returns a single page of results.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/deployment/{id}/users/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

username of the affected user

id

string

deployment project entity key

Methods

PUT

Grants deployment project permissions to a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If 'username' user doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If user already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes deployment project permissions from a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If the 'username' user doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If user already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/deployment/{id}/available-users?name

resource-wide template parameters
parameter value description

id

string

deployment project entity key

Methods

GET

Returns list of users which weren't granted explicitly any deployment project permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/deployment/{id}/groups?name

resource-wide template parameters
parameter value description

id

string

deployment project entity key

Methods

GET

Retrieve a list of groups with their deployment project permissions. The list can be filtered by some attributes. This resource is paged returns a single page of results.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/deployment/{id}/groups/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected group

id

string

deployment project entity key

Methods

PUT

Grants deployment project permissions to a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If group already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes deployment project permissions from a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If group already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/deployment/{id}/available-groups?name

resource-wide template parameters
parameter value description

id

string

deployment project entity key

Methods

GET

Returns list of groups which weren't granted explicitly any deployment project permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/deployment/{id}/roles

resource-wide template parameters
parameter value description

id

string

deployment project entity key

Methods

GET

Retrieve a list of roles with their deployment project permissions. This resource is paged returns a single page of results, although only 2 roles are supported: LOGGED IN users, ANONYMOUS users

available response representations:

  • 200 [expand]

    Return single page of roles with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/deployment/{id}/roles/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected role

id

string

deployment project entity key

Methods

PUT

Grants deployment project permissions to a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist or one of the requested permission isn't supported for given role. Anonymous role supports only VIEW permission.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If role already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes deployment project permissions from a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If role already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/admin/expiry

Provides information about some aspects of global expiry settings. If global expiration settings should be modified look at {@link com.atlassian.bamboo.plugins.rest.admin.expiry.CombinedExpiryResource}.

Methods

/admin/expiry/custom/plan

Methods

GET

Get list of all plans where user has admin permission and which override global expiry settings. If global expiry is not enabled it returns empty response.

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restPageModel>
        <start>0</start>
        <limit>25</limit>
        <results xsi:type="abstractRestModel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </restPageModel>
    

    page object with list of plans

/admin/expiry/custom/plan/{planKey}

resource-wide template parameters
parameter value description

planKey

string

of plan with custom expiry settings.

Methods

DELETE

Delete custom plan expiry settings.

available response representations:

  • 400 [expand]

    when can't parse plan key

  • 204 [expand]

    when plan expiry settings were disabled

  • 403 [expand]

    when user don't have admin permissions for plan

/search

Methods

/search/authors?searchTerm&unlinkedOnly

Methods

GET

A starts-with search of authors based on their authorname,

request query parameters
parameter value description

searchTerm

string

unlinkedOnly

boolean

available response representations:

  • 200 - application/xml, application/json (searchResultsList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <searchResults start-index="0" max-result="1" size="1">
        <searchResults id="jsmith" type="author">
            <searchEntity xsi:type="authorSearchResult" id="jsmith" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <authorName>jsmith</authorName>
            </searchEntity>
        </searchResults>
    </searchResults>
    

    Search results for authors matching the provided search term

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="searchResultsList">
        <xs:sequence>
          <xs:element name="searchResults" type="searchResult" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="start-index" type="xs:int" use="required"/>
        <xs:attribute name="max-result" type="xs:int" use="required"/>
        <xs:attribute name="size" type="xs:int" use="required"/>
      </xs:complexType><xs:complexType name="searchResultsList">
        <xs:sequence>
          <xs:element name="searchResults" type="searchResult" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="start-index" type="xs:int" use="required"/>
        <xs:attribute name="max-result" type="xs:int" use="required"/>
        <xs:attribute name="size" type="xs:int" use="required"/>
      </xs:complexType>

/search/users?searchTerm&includeAvatars

Methods

GET

A starts-with search of users based on their username, full-name and if allowed email address.

request query parameters
parameter value description

searchTerm

string

includeAvatars

boolean

available response representations:

  • 200 - application/xml, application/json (searchResultsList) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <searchResults start-index="0" max-result="1" size="1">
        <searchResults id="jsmith" type="user">
            <searchEntity xsi:type="userSearchResult" id="jsmith" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <username>jsmith</username>
                <fullName>John Smith</fullName>
                <displayableEmail>jsmith@example.com</displayableEmail>
                <avatarUrl>https://secure.gravatar.com/avatar/asdfasdfasdfasdf.jpg?d=mm&amp;s=16&amp;r=g</avatarUrl>
            </searchEntity>
        </searchResults>
    </searchResults>
    

    Search results for users matching the provided search term

    XML Schema

    Source: xsd0.xsd

    <xs:complexType name="searchResultsList">
        <xs:sequence>
          <xs:element name="searchResults" type="searchResult" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="start-index" type="xs:int" use="required"/>
        <xs:attribute name="max-result" type="xs:int" use="required"/>
        <xs:attribute name="size" type="xs:int" use="required"/>
      </xs:complexType><xs:complexType name="searchResultsList">
        <xs:sequence>
          <xs:element name="searchResults" type="searchResult" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="start-index" type="xs:int" use="required"/>
        <xs:attribute name="max-result" type="xs:int" use="required"/>
        <xs:attribute name="size" type="xs:int" use="required"/>
      </xs:complexType>

/search/plans?searchTerm&fuzzy&type&permission

Methods

GET

Performs a "starts with" search against full plan name and full plan key. Use "type" argument to filter by plan type by default will return TopLevelPlans

request query parameters
parameter value description

searchTerm

string

fuzzy

boolean

type

string

permission

string

available response representations:

  • application/xml (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>
  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/search/jobs/{planKey}?searchTerm

resource-wide template parameters
parameter value description

planKey

string

Methods

GET

Performs a "starts with" search against full job name and full job key. Use "type" argument to filter by plan type by default will return TopLevelPlans

request query parameters
parameter value description

searchTerm

string

available response representations:

  • application/xml (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>
  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/search/stages/{planKey}?stageId&searchTerm

resource-wide template parameters
parameter value description

planKey

string

Methods

GET

Performs a "starts with" search against full job name and full job key. Use "type" argument to filter by plan type by default will return TopLevelPlans

request query parameters
parameter value description

stageId

string

searchTerm

string

available response representations:

  • application/xml (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>
  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/search/branches?masterPlanKey&includeMasterBranch&releasedInDeployment&searchTerm&fuzzy&branchNameOnly

Methods

GET

Performs a "starts with" search against full plan branch name and full plan branch key. Branches are restricted to "masterPlanKey" plan.

request query parameters
parameter value description

masterPlanKey

string

includeMasterBranch

boolean

releasedInDeployment

int

searchTerm

string

fuzzy

boolean

branchNameOnly

boolean

available response representations:

  • application/xml (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>
  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/search/projects?searchTerm&permission

Methods

GET

Performs a contains search against project name.

request query parameters
parameter value description

searchTerm

string

permission

string

available response representations:

  • application/xml (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>
  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/search/deployments?searchTerm&permission

Methods

GET

Performs a contains search against deployment project name.

request query parameters
parameter value description

searchTerm

string

permission

string

available response representations:

  • application/xml (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>
  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/search/versions?searchTerm&deploymentProjectId&branchKey&chronologicalOrder

Methods

GET

Performs a contains search against a version name.

request query parameters
parameter value description

searchTerm

string

deploymentProjectId

long

branchKey

string

chronologicalOrder

boolean

available response representations:

  • application/xml (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>
  • application/json (searchResults) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="searchResults" type="searchResultsList"/><xs:element name="searchResults" type="searchResultsList"/>

/encrypt

Resource for encrypt text

Methods

POST

Encrypts a given text based on the instance specific cipher. Encrypted data can be used i.a. in Repository-stored Specs. Feature can be enabled or disabled in Bamboo security configuration. Number of allowed requests per user is limited and can be modified in Bamboo security configuration.

acceptable request representations:

  • application/json (manualEncryptionRequest) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <manualEncryptionRequest>
        <text>Password123</text>
    </manualEncryptionRequest>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="manualEncryptionRequest" type="manualEncryptionRequest"/><xs:element name="manualEncryptionRequest" type="manualEncryptionRequest"/>

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <manualEncryptionResponse>
        <encryptedText>BAMSCRT@0@0@6WC1Z7Vl7tYo+w6Kx4Oasw==</encryptedText>
    </manualEncryptionResponse>
    

    Encrypted text

  • 404 [expand]

    A response with code HTTP 404 indicates that feature is disabled in Bamboo

  • 429 [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <status>
        <status-code>429</status-code>
        <message>Too many request invoked by Joe</message>
    </status>
    

    A response with code HTTP 429 indicates that this resource had been called to many times by the authenticated user. Retry-After header contains information about how long (in seconds) the user has to wait till next call will be allowed.

/permissions/repository

REST endpoint to manage user/group repository permissions in Bamboo.

Methods

/permissions/repository/{id}/users?name

resource-wide template parameters
parameter value description

id

string

repository entity key

Methods

GET

Retrieve a list of users with their explicit permissions to given resource. The list can be filtered by some attributes. This resource is paged and returns a single page of results.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/repository/{id}/users/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

username of the affected user

id

string

repository entity key

Methods

PUT

Grants repository permissions to a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If 'username' user doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If user already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes repository permissions from a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If the 'username' user doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If user already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/repository/{id}/available-users?name

resource-wide template parameters
parameter value description

id

string

repository entity key

Methods

GET

Returns list of users which weren't granted explicitly any repository permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/repository/{id}/groups?name

resource-wide template parameters
parameter value description

id

string

repository entity key

Methods

GET

Retrieve a list of groups with their repository permissions. The list can be filtered by some attributes. This resource is paged returns a single page of results.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/repository/{id}/groups/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected group

id

string

repository entity key

Methods

PUT

Grants repository permissions to a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If group already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes repository permissions from a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If group already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/repository/{id}/available-groups?name

resource-wide template parameters
parameter value description

id

string

repository entity key

Methods

GET

Returns list of groups which weren't granted explicitly any repository permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/repository/{id}/roles

resource-wide template parameters
parameter value description

id

string

repository entity key

Methods

GET

Retrieve a list of roles with their repository permissions. This resource is paged returns a single page of results, although only LOGGED IN users role is supported.

available response representations:

  • 200 [expand]

    Return single page of roles with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/repository/{id}/roles/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected role

id

string

repository entity key

Methods

PUT

Grants repository permissions to a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist or one of the requested permission isn't supported for given role.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If role already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes repository permissions from a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If role already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/clone

Methods

/clone/{projectKey}-{buildKey}:{toProjectKey}-{toBuildKey}

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

toBuildKey

string

toProjectKey

string

Methods

PUT

Method used to clone an existing Plan into a new one, possibly into different project. Usage: /rest/api/latest/clone/FROM-PLAN:TO-PLAN

available response representations:

  • application/xml (plan) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plan" type="restPlan"/><xs:element name="plan" type="restPlan"/>
  • application/json (plan) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="plan" type="restPlan"/><xs:element name="plan" type="restPlan"/>

/quickFilter

Methods

POST

Create a new quick filter with basic configuration, e.g. name or position on list. This method does not allow to configure quick filter's rules.

acceptable request representations:

  • application/json (quickFilter) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <quickFilter>
        <name>Integration Tests</name>
    </quickFilter>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="quickFilter" type="restQuickFilter"/><xs:element name="quickFilter" type="restQuickFilter"/>

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <quickFilter>
        <id>100623</id>
        <name>Integration Tests</name>
        <position>3</position>
        <hasRules>false</hasRules>
    </quickFilter>
    

    Returned when quick filter was created successfully. Response will contain Quick Filter definition with assigned ID.

  • 400 - application/json [expand]

    When any validation errors occur. Response will contain all error messages.

GET

Obtain a list of quick filters defined for this Bamboo instance.

request query parameters
parameter value description

configured

boolean

When set, the list will only contain filters which have or have not been properly configured. Quick filters are considered configured when they have rules set up.

available response representations:

  • 200 - application/json [expand]

    List of quick filters. Each entity will contain only basic configuration, excluding e.g. quick filter's rules.

/quickFilter/{id}

resource-wide template parameters
parameter value description

id

long

Methods

PUT

Update quick filter's basic configuration, e.g. name or position on list. This method does not allow to configure quick filter's rules.

acceptable request representations:

  • application/json (quickFilter) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <quickFilter>
        <id>100623</id>
        <name>Integration Tests</name>
        <position>3</position>
    </quickFilter>
    

    XML Schema

    Source: xsd0.xsd

    <xs:element name="quickFilter" type="restQuickFilter"/><xs:element name="quickFilter" type="restQuickFilter"/>

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <quickFilter>
        <id>100623</id>
        <name>Integration Tests</name>
        <position>3</position>
        <hasRules>false</hasRules>
    </quickFilter>
    

    Returned when quick filter was updated successfully. Response will contain Quick Filter definition with data after update.

  • 400 - application/json [expand]

    When any validation errors occur or no quick filter was found with given ID. Response will contain all error messages.

DELETE

Delete a quick filter.

available response representations:

  • 400 - application/json [expand]

    Sent when quick filter was not found with the given ID.

  • 204 - application/json [expand]

    Returned when quick filter was deleted successfully.

GET

Get a single quick filter by ID.

available response representations:

  • 200 - application/json [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <quickFilter>
        <id>100623</id>
        <name>Integration Tests</name>
        <position>3</position>
        <hasRules>false</hasRules>
    </quickFilter>
    

    Single quick filter data. Will contain only basic configuration, excluding e.g. quick filter's rules.

  • 400 - application/json [expand]

    Sent when quick filter was not found with the given ID.

/quickFilter/visible

Methods

GET

Return visible quick filters for currently logged in user.

available response representations:

  • 200 - application/json [expand]

    List of visible quick filters for logged in user. Each entity will contain only basic configuration, excluding e.g. quick filter's rules.

PUT

Saves the list of visible quick filters for currently logged in user.

acceptable request representations:

available response representations:

  • 200 - application/json [expand]

    Returned without any content when the visible filters were successfully saved for current user.

  • 400 - application/json [expand]

    Sent whenever any quick filter was not found with the given ID.

/quickFilter/active

Methods

GET

Return active quick filters for currently logged in user.

available response representations:

  • 200 - application/json [expand]

    List of active quick filters for logged in user. Each entity will contain only basic configuration, excluding e.g. quick filter's rules.

/quickFilter/{id}/activate

resource-wide template parameters
parameter value description

id

long

Methods

PUT

Activates a quick filter for currently logged in user.

available response representations:

  • 200 - application/json [expand]

    Returned without any content when filter with given ID was successfully activated for current user.

  • 400 - application/json [expand]

    Sent when quick filter was not found with the given ID.

/quickFilter/{id}/deactivate

resource-wide template parameters
parameter value description

id

long

Methods

PUT

Deactivates a quick filter for currently logged in user.

available response representations:

  • 200 - application/json [expand]

    Returned without any content when filter with given ID was successfully deactivated for current user.

  • 400 - application/json [expand]

    Sent when quick filter was not found with the given ID.

/quickFilter/deactivate

Methods

PUT

Deactivates all quick filter for currently logged in user.

available response representations:

  • 200 - application/json [expand]

    Returned without any content when all filters were successfully deactivated for current user.

/permissions/global

REST endpoint to manage user/group global permissions in Bamboo.

Methods

/permissions/global/users?ignore&name

Methods

GET

Retrieve a list of users with their global permissions. The list can be filtered by some attributes. This resource is paged and returns a single page of results.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users with their permissions

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/permissions/global/users/{name : (.+)?}?ignore

resource-wide template parameters
parameter value description

name

string

username of the affected user

Methods

PUT

Grants global permissions to a given user.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

acceptable request representations:

available response representations:

  • 400 [expand]

    If 'username' user doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If user already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

DELETE

Revokes global permissions from a given user.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

acceptable request representations:

available response representations:

  • 400 [expand]

    If the 'username' user doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If user already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/permissions/global/available-users?ignore&name

Methods

GET

Returns list of users which weren't granted explicitly any permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

ignore

string

user filter, filter is case insensitive matches: username, user's full name, user's email

name

string

represents the params that define which page the request is after

available response representations:

  • 200 [expand]

    Return single page of users which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/permissions/global/groups?ignore&name

Methods

GET

Retrieve a list of groups with their global permissions. The list can be filtered by some attributes. This resource is paged returns a single page of results.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups with their permissions

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/permissions/global/groups/{name : (.+)?}?ignore

resource-wide template parameters
parameter value description

name

string

affected group

Methods

PUT

Grants global permissions to a given group.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If group already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

DELETE

Revokes global permissions from a given group.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If group already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/permissions/global/available-groups?ignore&name

Methods

GET

Returns list of groups which weren't granted explicitly any permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/permissions/global/roles?ignore

Methods

GET

Retrieve a list of roles with their global permissions. This resource is paged returns a single page of results, although only 2 roles are supported: LOGGED IN users, ANONYMOUS users

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

available response representations:

  • 200 [expand]

    Return single page of roles with their permissions

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/permissions/global/roles/{name : (.+)?}?ignore

resource-wide template parameters
parameter value description

name

string

affected role

Methods

PUT

Grants global permissions to a given role.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist or one of the requested permission isn't supported for given role. Anonymous role supports only VIEW permission.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If role already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

DELETE

Revokes global permissions from a given role.

request query parameters
parameter value description

ignore

string

parameter not used, can be ignored

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If role already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks global admin or restricted admin permission.

/dependency

Methods

/dependency/search/{projectKey}-{buildKey}/child?searchTerm

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Search for available plan child dependencies

request query parameters
parameter value description

searchTerm

string

available response representations:

  • application/xml (dependencies) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="dependencies" type="restDependencies"/><xs:element name="dependencies" type="restDependencies"/>
  • application/json (dependencies) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="dependencies" type="restDependencies"/><xs:element name="dependencies" type="restDependencies"/>

/dependency/search/{projectKey}-{buildKey}/parent?searchTerm

resource-wide template parameters
parameter value description

projectKey

string

buildKey

string

Methods

GET

Search for available plan parent dependencies

request query parameters
parameter value description

searchTerm

string

available response representations:

  • application/xml (dependencies) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="dependencies" type="restDependencies"/><xs:element name="dependencies" type="restDependencies"/>
  • application/json (dependencies) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="dependencies" type="restDependencies"/><xs:element name="dependencies" type="restDependencies"/>

/permissions/project

REST endpoint to manage user/group project permissions in Bamboo.

Methods

/permissions/project/{key}/users?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Retrieve a list of users with their explicit permissions to given resource. The list can be filtered by some attributes. This resource is paged and returns a single page of results.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/project/{key}/users/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

username of the affected user

key

string

project entity key

Methods

PUT

Grants project permissions to a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If 'username' user doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If user already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes project permissions from a given user.

acceptable request representations:

available response representations:

  • 400 [expand]

    If the 'username' user doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If user already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/project/{key}/available-users?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Returns list of users which weren't granted explicitly any project permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

user filter, filter is case insensitive matches: username, user's full name, user's email

available response representations:

  • 200 [expand]

    Return single page of users which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/project/{key}/groups?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Retrieve a list of groups with their project permissions. The list can be filtered by some attributes. This resource is paged returns a single page of results.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/project/{key}/groups/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected group

key

string

project entity key

Methods

PUT

Grants project permissions to a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist or one of the requested permission isn't supported for given endpoint.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If group already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes project permissions from a given group.

acceptable request representations:

available response representations:

  • 400 [expand]

    If group doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If group already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/project/{key}/available-groups?name

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Returns list of groups which weren't granted explicitly any project permissions. Resource is paged, returns single page of resources.

request query parameters
parameter value description

name

string

group name filter, filter is case insensitive matches group name

available response representations:

  • 200 [expand]

    Return single page of groups which don't have any explicit permissions granted

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/project/{key}/roles

resource-wide template parameters
parameter value description

key

string

project entity key

Methods

GET

Retrieve a list of roles with their project permissions. This resource is paged returns a single page of results, although only LOGGED IN users role is supported

available response representations:

  • 200 [expand]

    Return single page of roles with their permissions

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/permissions/project/{key}/roles/{name : (.+)?}

resource-wide template parameters
parameter value description

name

string

affected role

key

string

project entity key

Methods

PUT

Grants project permissions to a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist or one of the requested permission isn't supported for given role.

  • 204 [expand]

    If permissions were granted.

  • 304 [expand]

    If role already had requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

DELETE

Revokes project permissions from a given role.

acceptable request representations:

available response representations:

  • 400 [expand]

    If role doesn't exist.

  • 204 [expand]

    If permissions were revoked.

  • 304 [expand]

    If role already lacked requested permissions and permission state hasn't been changed.

  • 403 [expand]

    If the user lacks effective admin permissions for given entity.

/job/{jobKey}

Resource which allows to get and update Docker configuration for a job.

Methods

/job/{jobKey}/docker

resource-wide template parameters
parameter value description

jobKey

string

Key of the job

Methods

PUT

Updates Docker configuration for given job.

acceptable request representations:

  • application/xml (restDockerPipelineConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restDockerPipelineConfiguration" type="restDockerPipelineConfiguration"/><xs:element name="restDockerPipelineConfiguration" type="restDockerPipelineConfiguration"/>
  • application/json (restDockerPipelineConfiguration) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restDockerPipelineConfiguration" type="restDockerPipelineConfiguration"/><xs:element name="restDockerPipelineConfiguration" type="restDockerPipelineConfiguration"/>

available response representations:

  • 400 [expand]

    If validation fails

  • 204 [expand]

    If configuration is updated properly.

  • 403 [expand]

    If the user has no admin permissions or job doesn't exist

GET

Retrieves Docker configuration for given job.

available response representations:

  • 200 [expand]

    Returns Docker Pipeline configuration for given environment

  • 400 [expand]

    If validation fails

  • 403 [expand]

    If the user has no admin permissions or job doesn't exist

/server

Methods

GET

available response representations:

  • application/xml (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>
  • application/json (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>

/server/pause

Methods

POST

Pauses the server

available response representations:

  • application/xml (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>
  • application/json (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>

/server/prepareForRestart

Methods

PUT

Prepare server for restarting: suspend change detection, stop indexing, stop ec2 instance ordering etc

available response representations:

  • application/xml (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>
  • application/json (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>

/server/resume

Methods

POST

Resumes the server

available response representations:

  • application/xml (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>
  • application/json (restServerStatusInfo) [expand]
    XML Schema

    Source: xsd0.xsd

    <xs:element name="restServerStatusInfo" type="restServerStatusInfo"/><xs:element name="restServerStatusInfo" type="restServerStatusInfo"/>