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. The Bamboo REST APIs supersede the deprecated Bamboo Remote API - Deprecated. However, only a subset of the methods from the remote API have been implemented as methods in the REST APIs. For a comparison of methods between the Bamboo remote API and the Bamboo REST APIs, please see Comparing the Bamboo Remote API to the Bamboo REST APIs.

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. Currently the HTTP GET method is the only method available in the Bamboo REST API.

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" nulber="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

/project

User: mwent Date: May 22, 2009 Time: 1:04:59 PM

Methods

GET

Method used to list all projects defined in Bamboo. Permissions for projects are checked based on Plan permissions (no project level permissions in Bamboo) Projects without any plan visible for user are not listed Should be invoked as /rest/api/latest/project <p/> Possible expand parameters projects - list of projects projects.project - list of projects with project details projects.project.plans - list of project details and plans for project projects.project.plans.plan - list of project details and plans for project with plan details

available response representations:

/project/{projectKey}

resource-wide template parameters
parametervaluedescription

projectKey

string

Methods

GET

Method used to retrieve information for project specified as project key Should be invoked as /rest/api/latest/project/PROJECTKEY <p/> Possible expand parameters plans - list of plans for project plans.plan - list of plans with plan details (only plans visible - READ permission for user) plans.plan.actions - list of plans with plan details and actions available for user for plan

available response representations:

/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 size="0" max-result="1" start-index="0">
            <queuedBuild buildResultKey="PROJECTKEY-PLANKEY-10" buildNumber="10" planKey="PROJECTKEY-PLANKEY" expand="queuedBuild">
                <triggerReason>Manual build</triggerReason>
                <changes expand="changes" size="0" max-result="2" start-index="0">
                    <change changesetId="10" author="Author" expand="change">
                        <comment>Sample comment</comment>
                        <date>2011-10-04T09:10:00.065+11:00</date>
                        <files size="0" max-result="3" start-index="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 changesetId="10" author="Author" expand="change">
                        <comment>Sample comment</comment>
                        <date>2011-10-04T09:10:00.065+11:00</date>
                        <files size="0" max-result="3" start-index="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: schema1.xsd

    <xs:complexType name="restQueuedBuilds">
        <xs:sequence>
          <xs:element ref="link" minOccurs="0"/>
          <xs:element name="queuedBuilds" type="restQueuedBuildList" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="expand" type="xs:string"/>
      </xs:complexType>

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

resource-wide template parameters
parametervaluedescription

buildKey

string

plan key (only top level plan key, can not be job key)

projectKey

string

project key

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
parametervaluedescription

stage

string

name of the stage that should be executed even if defined as 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.

acceptable request representations:

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

available response representations:

  • 404 [expand]

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

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

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restQueuedBuild buildResultKey="PROJECTKEY-PLANKEY-10" buildNumber="10" planKey="PROJECTKEY-PLANKEY" expand="queuedBuild">
        <triggerReason>Manual build</triggerReason>
        <changes expand="changes" size="0" max-result="2" start-index="0">
            <change changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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 changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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: schema1.xsd

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

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

  • 400 [expand]

    Returned when build was not added to the queue because of Bamboo limitation - for example too many concurrent builds running for requested plan already

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

resource-wide template parameters
parametervaluedescription

buildNumber

int

build number to resume/rerun

buildKey

string

plan key (only top level plan key, can not be job key)

projectKey

string

project key

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
parametervaluedescription

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:

  • 404 [expand]

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

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

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <restQueuedBuild buildResultKey="PROJECTKEY-PLANKEY-10" buildNumber="10" planKey="PROJECTKEY-PLANKEY" expand="queuedBuild">
        <triggerReason>Manual build</triggerReason>
        <changes expand="changes" size="0" max-result="2" start-index="0">
            <change changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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 changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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: schema1.xsd

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

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

  • 400 [expand]

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

/queue/{projectKey}-{buildKey}-{buildNumber}

resource-wide template parameters
parametervaluedescription

buildNumber

int

build number

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.

projectKey

string

project key

Methods

DELETE

Stop build execution, however only if build has not been started yet - so if is waiting in the build queue. If build does not exist in the queue anymore, method has no effect.

available response representations:

  • 204 [expand]

    On success (success is also when build doesn't exists in the queue - so nothing to stop)

  • 404 [expand]

    Returned when specified plan does not exist

  • 401 [expand]

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

/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 plans.plan - list of plans with plan details plans.plan.actions <p/>

available response representations:

/plan/{projectKey}-{buildKey}

resource-wide template parameters
parametervaluedescription

buildKey

string

projectKey

string

Methods

GET

available response representations:

/plan/{projectKey}/{buildKey}

resource-wide template parameters
parametervaluedescription

buildKey

string

projectKey

string

Methods

GET

available response representations:

/clone

Methods

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

resource-wide template parameters
parametervaluedescription

toBuildKey

string

buildKey

string

toProjectKey

string

projectKey

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:

/info

Methods

GET

available response representations:

/

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 size="0" max-result="0" start-index="0">
            <resource name="info">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/info"/>
            </resource>
            <resource name="project">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/project"/>
            </resource>
            <resource name="plan">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/plan"/>
            </resource>
            <resource name="result">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/result"/>
            </resource>
            <resource name="chart">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/chart"/>
            </resource>
            <resource name="queue">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/queue"/>
            </resource>
            <resource name="export">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/export"/>
            </resource>
            <resource name="clone">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/clone"/>
            </resource>
            <resource name="currentUser">
                <link rel="self" href="http://localhost:8085/bamboo/rest/api/latest/currentUser"/>
            </resource>
        </resources>
    </resources>
    

    List of available REST resources

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restResources">
        <xs:sequence>
          <xs:element ref="link" minOccurs="0"/>
          <xs:element name="resources" type="restResourceList" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="expand" type="xs:string"/>
      </xs:complexType>

/server

Methods

GET

available response representations:

/server/resume

Methods

POST

Resumes the server

available response representations:

/server/pause

Methods

POST

Pauses the server

available response representations:

/export

Export XML details for a Plan and its Project

Methods

/export/{projectKey}-{buildKey}

resource-wide template parameters
parametervaluedescription

buildKey

string

projectKey

string

Methods

GET

available response representations:

/export/{projectKey}/{buildKey}

resource-wide template parameters
parametervaluedescription

buildKey

string

projectKey

string

Methods

GET

available response representations:

/currentUser

Methods

GET

available response representations:

/result?expand&favourite&label&issueKey&includeAllStates&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
parametervaluedescription

expand

string

expands build result details on request. Possible values are: artifacts, comments, labels, jiraIssues, stages. stages expand is available only for top level plans. It allows to drill down to job results using stages.stage.results.result. All expand parameters should contain results.result prefix.

favourite

boolean

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

label

string

filter by comma separated list of labels

issueKey

string

filter by comma separated list of Jira issue key related to result

includeAllStates

boolean

return all build results including Unknown states

continuable

boolean

filter only results that may be continued (stopped on Manual Stage)

buildstate

boolean

filter results by state, valid values are Unknown, Successful, Failed

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 (restResults) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results size="0" max-result="2" start-index="0">
            <result restartable="false" continuable="false" id="10000" number="2" lifeCycleState="Finished" state="SUCCESS" key="PPROJECTKEY-PLANKEY-2" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2011-10-04T09:09:59.968+11:00</buildStartedTime>
                <prettyBuildStartedTime>2011-10-04T09:09:59</prettyBuildStartedTime>
                <buildCompletedTime>2011-10-04T09:10:00.050+11:00</buildCompletedTime>
                <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2011-10-04T09:10:00.051+11:00</queueStartedTime>
                <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts size="0" max-result="1" start-index="0">
                    <artifact>
                        <name>cargo log</name>
                        <link rel="self" href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments size="0" max-result="2" start-index="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                </comments>
                <labels size="0" max-result="2" start-index="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues size="0" max-result="2" start-index="0">
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
                    </issue>
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
                    </issue>
                </jiraIssues>
            </result>
            <result restartable="false" continuable="false" id="10000" number="2" lifeCycleState="Finished" state="SUCCESS" key="ANOTHERPPROJECTKEY-ANOTHERPLANKEY-2" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
                <planName>ANOTHER_PLAN_NAME</planName>
                <projectName>ANOTHER_PROJECT_NAME</projectName>
                <buildStartedTime>2011-10-04T09:10:00.146+11:00</buildStartedTime>
                <prettyBuildStartedTime>2011-10-04T09:10:00</prettyBuildStartedTime>
                <buildCompletedTime>2011-10-04T09:10:00.146+11:00</buildCompletedTime>
                <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2011-10-04T09:10:00.146+11:00</queueStartedTime>
                <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments size="0" max-result="2" start-index="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                </comments>
                <labels size="0" max-result="2" start-index="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues size="0" max-result="2" start-index="0">
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
                    </issue>
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
                    </issue>
                </jiraIssues>
            </result>
        </results>
    </results>
    

    Latest build results for all plans

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restResults">
        <xs:sequence>
          <xs:element name="results" type="restResultList" minOccurs="0"/>
          <xs:element ref="link" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="expand" type="xs:string"/>
      </xs:complexType>

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

resource-wide template parameters
parametervaluedescription

buildNumber

string

buildNumber (numeric value or 'latest')

buildKey

string

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

projectKey

string

project key

Methods

GET

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

request query parameters
parametervaluedescription

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:

  • 404 [expand]

    Returned when specified project or plan does not exists

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

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <result restartable="false" continuable="false" id="10000" number="2" lifeCycleState="Finished" state="SUCCESS" key="PPROJECTKEY-PLANKEY-2" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
        <planName>PLAN_NAME</planName>
        <projectName>PROJECT_NAME</projectName>
        <buildStartedTime>2011-10-04T09:09:59.968+11:00</buildStartedTime>
        <prettyBuildStartedTime>2011-10-04T09:09:59</prettyBuildStartedTime>
        <buildCompletedTime>2011-10-04T09:10:00.050+11:00</buildCompletedTime>
        <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
        <buildDurationInSeconds>1</buildDurationInSeconds>
        <buildDuration>1000</buildDuration>
        <buildDurationDescription>1 second</buildDurationDescription>
        <buildRelativeTime>1 hour ago</buildRelativeTime>
        <queueStartedTime>2011-10-04T09:10:00.051+11:00</queueStartedTime>
        <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
        <restartCount>0</restartCount>
        <artifacts size="0" max-result="1" start-index="0">
            <artifact>
                <name>cargo log</name>
                <link rel="self" href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log"/>
                <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                <shared>true</shared>
                <size>1024</size>
                <prettySizeDescription>1 kilobyte</prettySizeDescription>
            </artifact>
        </artifacts>
        <comments size="0" max-result="2" start-index="0">
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
            </comment>
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
            </comment>
        </comments>
        <labels size="0" max-result="2" start-index="0">
            <label name="someLabel"/>
            <label name="someLabel"/>
        </labels>
        <jiraIssues size="0" max-result="2" start-index="0">
            <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
            </issue>
            <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
            </issue>
        </jiraIssues>
        <changes expand="changes" size="0" max-result="2" start-index="0">
            <change changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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 changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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 size="0" max-result="1" start-index="0">
            <item value="admin" key="ManualBuildTriggerReason.userName"/>
        </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: schema1.xsd

    <xs:complexType name="resultDetails">
        <xs:complexContent>
          <xs:extension base="result">
            <xs:sequence>
              <xs:element name="changes" type="restChangeList" minOccurs="0"/>
              <xs:element name="testResults" type="restTestResults" minOccurs="0"/>
              <xs:element name="metadata" type="restBuildMetadataList" minOccurs="0"/>
              <xs:element ref="progress" minOccurs="0"/>
              <xs:element name="queue" type="restBuildQueueStatus" minOccurs="0"/>
              <xs:element name="logEntries" type="restBuildLogEntryList" minOccurs="0"/>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
  • 401 [expand]

    Returned when user has no permission to view specified plan

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

resource-wide template parameters
parametervaluedescription

projectKey

string

project key to filter plan result list

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
parametervaluedescription

expand

string

expands build result details on request. Possible values are: artifacts, comments, labels, jiraIssues, stages. stages expand is available only for top level plans. It allows to drill down to job results using stages.stage.results.result. All expand parameters should contain results.result prefix.

favourite

boolean

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

label

string

filter by comma separated list of labels

issueKey

string

filter by comma separated list of Jira issue key related to result

includeAllStates

boolean

return all build results including Unknown states

continuable

boolean

filter only results that may be continued (stopped on Manual Stage)

buildstate

boolean

filter results by state, valid values are Unknown, Successful, Failed

start-index

int

start index for results list (zero based)

max-results

int

maximum size for returned list

available response representations:

  • 404 [expand]

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

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

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

    Latest build results for plans for specified project

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restResults">
        <xs:sequence>
          <xs:element name="results" type="restResultList" minOccurs="0"/>
          <xs:element ref="link" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="expand" type="xs:string"/>
      </xs:complexType>

/result/byChangeset/{csid}

resource-wide template parameters
parametervaluedescription

csid

string

changeset id related to build result

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 size="0" max-result="2" start-index="0">
            <result restartable="false" continuable="false" id="10000" number="1" lifeCycleState="Finished" state="SUCCESS" key="PPROJECTKEY-PLANKEY-1" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2011-10-04T09:10:00.146+11:00</buildStartedTime>
                <prettyBuildStartedTime>2011-10-04T09:10:00</prettyBuildStartedTime>
                <buildCompletedTime>2011-10-04T09:10:00.146+11:00</buildCompletedTime>
                <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2011-10-04T09:10:00.146+11:00</queueStartedTime>
                <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments size="0" max-result="2" start-index="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                </comments>
                <labels size="0" max-result="2" start-index="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues size="0" max-result="2" start-index="0">
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
                    </issue>
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
                    </issue>
                </jiraIssues>
            </result>
            <result restartable="false" continuable="false" id="10000" number="2" lifeCycleState="Finished" state="SUCCESS" key="PPROJECTKEY-PLANKEY-2" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2011-10-04T09:09:59.968+11:00</buildStartedTime>
                <prettyBuildStartedTime>2011-10-04T09:09:59</prettyBuildStartedTime>
                <buildCompletedTime>2011-10-04T09:10:00.050+11:00</buildCompletedTime>
                <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2011-10-04T09:10:00.051+11:00</queueStartedTime>
                <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts size="0" max-result="1" start-index="0">
                    <artifact>
                        <name>cargo log</name>
                        <link rel="self" href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments size="0" max-result="2" start-index="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                </comments>
                <labels size="0" max-result="2" start-index="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues size="0" max-result="2" start-index="0">
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
                    </issue>
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
                    </issue>
                </jiraIssues>
            </result>
        </results>
    </results>
    

    Build results for specified changeset.

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restResults">
        <xs:sequence>
          <xs:element name="results" type="restResultList" minOccurs="0"/>
          <xs:element ref="link" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="expand" type="xs:string"/>
      </xs:complexType>

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

resource-wide template parameters
parametervaluedescription

buildKey

string

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

projectKey

string

project key

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
parametervaluedescription

expand

string

expands build result details on request. Possible values are: artifacts, comments, labels, jiraIssues, stages. stages expand is available only for top level plans. It allows to drill down to job results using stages.stage.results.result. All expand parameters should contain results.result prefix.

favourite

boolean

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

label

string

filter by comma separated list of labels

issueKey

string

filter by comma separated list of Jira issue key related to result

includeAllStates

boolean

return all build results including Unknown states

continuable

boolean

filter only results that may be continued (stopped on Manual Stage)

buildstate

boolean

filter results by state, valid values are Unknown, Successful, Failed

start-index

int

start index for results list (zero based)

max-results

int

maximum size for returned list

available response representations:

  • 404 [expand]

    Returned when specified project or plan does not exists

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

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <results size="0" max-result="2" start-index="0">
            <result restartable="false" continuable="false" id="10000" number="1" lifeCycleState="Finished" state="SUCCESS" key="PPROJECTKEY-PLANKEY-1" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2011-10-04T09:10:00.146+11:00</buildStartedTime>
                <prettyBuildStartedTime>2011-10-04T09:10:00</prettyBuildStartedTime>
                <buildCompletedTime>2011-10-04T09:10:00.146+11:00</buildCompletedTime>
                <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2011-10-04T09:10:00.146+11:00</queueStartedTime>
                <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <comments size="0" max-result="2" start-index="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                </comments>
                <labels size="0" max-result="2" start-index="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues size="0" max-result="2" start-index="0">
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
                    </issue>
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
                    </issue>
                </jiraIssues>
            </result>
            <result restartable="false" continuable="false" id="10000" number="2" lifeCycleState="Finished" state="SUCCESS" key="PPROJECTKEY-PLANKEY-2" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
                <planName>PLAN_NAME</planName>
                <projectName>PROJECT_NAME</projectName>
                <buildStartedTime>2011-10-04T09:09:59.968+11:00</buildStartedTime>
                <prettyBuildStartedTime>2011-10-04T09:09:59</prettyBuildStartedTime>
                <buildCompletedTime>2011-10-04T09:10:00.050+11:00</buildCompletedTime>
                <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
                <buildDurationInSeconds>1</buildDurationInSeconds>
                <buildDuration>1000</buildDuration>
                <buildDurationDescription>1 second</buildDurationDescription>
                <buildRelativeTime>1 hour ago</buildRelativeTime>
                <queueStartedTime>2011-10-04T09:10:00.051+11:00</queueStartedTime>
                <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
                <restartCount>0</restartCount>
                <artifacts size="0" max-result="1" start-index="0">
                    <artifact>
                        <name>cargo log</name>
                        <link rel="self" href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log"/>
                        <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                        <shared>true</shared>
                        <size>1024</size>
                        <prettySizeDescription>1 kilobyte</prettySizeDescription>
                    </artifact>
                </artifacts>
                <comments size="0" max-result="2" start-index="0">
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                    <comment author="bambooUser">
                        <content>Sample comment for build</content>
                        <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                        <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
                    </comment>
                </comments>
                <labels size="0" max-result="2" start-index="0">
                    <label name="someLabel"/>
                    <label name="someLabel"/>
                </labels>
                <jiraIssues size="0" max-result="2" start-index="0">
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
                    </issue>
                    <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                        <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
                    </issue>
                </jiraIssues>
            </result>
        </results>
    </results>
    

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

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restResults">
        <xs:sequence>
          <xs:element name="results" type="restResultList" minOccurs="0"/>
          <xs:element ref="link" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="expand" type="xs:string"/>
      </xs:complexType>
  • 401 [expand]

    Returned when user has no permission to view specified plan

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

resource-wide template parameters
parametervaluedescription

buildNumber

string

buildNumber (numeric value or 'latest')

buildKey

string

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

projectKey

string

project key

Methods

GET

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

request query parameters
parametervaluedescription

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:

  • 404 [expand]

    Returned when specified project or plan does not exists

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

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <result restartable="false" continuable="false" id="10000" number="2" lifeCycleState="Finished" state="SUCCESS" key="PPROJECTKEY-PLANKEY-2" expand="changes,metadata,artifacts,comments,labels,jiraIssues,stages">
        <planName>PLAN_NAME</planName>
        <projectName>PROJECT_NAME</projectName>
        <buildStartedTime>2011-10-04T09:09:59.968+11:00</buildStartedTime>
        <prettyBuildStartedTime>2011-10-04T09:09:59</prettyBuildStartedTime>
        <buildCompletedTime>2011-10-04T09:10:00.050+11:00</buildCompletedTime>
        <prettyBuildCompletedTime>2011-10-04T09:10:00</prettyBuildCompletedTime>
        <buildDurationInSeconds>1</buildDurationInSeconds>
        <buildDuration>1000</buildDuration>
        <buildDurationDescription>1 second</buildDurationDescription>
        <buildRelativeTime>1 hour ago</buildRelativeTime>
        <queueStartedTime>2011-10-04T09:10:00.051+11:00</queueStartedTime>
        <prettyQueueStartedTime>2011-10-04T09:10:00</prettyQueueStartedTime>
        <restartCount>0</restartCount>
        <artifacts size="0" max-result="1" start-index="0">
            <artifact>
                <name>cargo log</name>
                <link rel="self" href="http://localhost:8085/bamboo/browse/PROJECTKEY-PLANKEY-2/artifact/shared/cargo-log.log"/>
                <producerJobKey>PROJECTKEY-PLANKEY-2</producerJobKey>
                <shared>true</shared>
                <size>1024</size>
                <prettySizeDescription>1 kilobyte</prettySizeDescription>
            </artifact>
        </artifacts>
        <comments size="0" max-result="2" start-index="0">
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
            </comment>
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
            </comment>
        </comments>
        <labels size="0" max-result="2" start-index="0">
            <label name="someLabel"/>
            <label name="someLabel"/>
        </labels>
        <jiraIssues size="0" max-result="2" start-index="0">
            <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Break out the Run options from the current menu" key="BAM-9040">
                <url rel="self" href="https://jira.atlassian.com/browse/BAM-9040"/>
            </issue>
            <issue statusIconUrl="https://jira.atlassian.com/images/icons/status_resolved.gif" status="Resolved" issueType="Story" iconUrl="https://jira.atlassian.com/images/icons/sales.gif" summary="Task to allow users to tag and branch in SVN" key="BAM-9137">
                <url rel="self" href="https://jira.atlassian.com/browse/BAM-9137"/>
            </issue>
        </jiraIssues>
        <changes expand="changes" size="0" max-result="2" start-index="0">
            <change changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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 changesetId="10" author="Author" expand="change">
                <comment>Sample comment</comment>
                <date>2011-10-04T09:10:00.065+11:00</date>
                <files size="0" max-result="3" start-index="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 size="0" max-result="1" start-index="0">
            <item value="admin" key="ManualBuildTriggerReason.userName"/>
        </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: schema1.xsd

    <xs:complexType name="resultDetails">
        <xs:complexContent>
          <xs:extension base="result">
            <xs:sequence>
              <xs:element name="changes" type="restChangeList" minOccurs="0"/>
              <xs:element name="testResults" type="restTestResults" minOccurs="0"/>
              <xs:element name="metadata" type="restBuildMetadataList" minOccurs="0"/>
              <xs:element ref="progress" minOccurs="0"/>
              <xs:element name="queue" type="restBuildQueueStatus" minOccurs="0"/>
              <xs:element name="logEntries" type="restBuildLogEntryList" minOccurs="0"/>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
  • 401 [expand]

    Returned when user has no permission to view specified plan

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

resource-wide template parameters
parametervaluedescription

buildNumber

string

build number

buildKey

string

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

projectKey

string

project key

Methods

GET

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

available response representations:

  • 404 [expand]

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

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

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <comments>
        <comments size="0" max-result="2" start-index="0">
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
            </comment>
            <comment author="bambooUser">
                <content>Sample comment for build</content>
                <creationDate>2011-10-04T09:10:00.052+11:00</creationDate>
                <modificationDate>2011-10-04T09:10:00.052+11:00</modificationDate>
            </comment>
        </comments>
    </comments>
    

    List of comments for build result

    XML Schema

    Source: schema1.xsd

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

    Returned when user has no permission to view specified plan

POST

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

acceptable request representations:

  • application/xml (restComment) [expand]

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

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restComment">
        <xs:sequence>
          <xs:element name="content" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:string" minOccurs="0"/>
          <xs:element name="modificationDate" type="xs:string" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="author" type="xs:string"/>
      </xs:complexType>
  • application/json (restComment) [expand]

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

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restComment">
        <xs:sequence>
          <xs:element name="content" type="xs:string" minOccurs="0"/>
          <xs:element name="creationDate" type="xs:string" minOccurs="0"/>
          <xs:element name="modificationDate" type="xs:string" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="author" type="xs:string"/>
      </xs:complexType>

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

resource-wide template parameters
parametervaluedescription

buildNumber

string

buildNumber (numeric value or 'latest')

buildKey

string

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

projectKey

string

project key

Methods

GET

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

available response representations:

  • 404 [expand]

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

  • 200 (restBuildLabelList) [expand]

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

    List of comments for build result

    XML Schema

    Source: schema1.xsd

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

    Returned when user has no permission to view specified plan

POST

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

acceptable request representations:

  • application/xml (restBuildLabel) [expand]

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

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restBuildLabel">
        <xs:sequence/>
        <xs:attribute name="name" type="xs:string"/>
      </xs:complexType>
  • application/json (restBuildLabel) [expand]

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

    XML Schema

    Source: schema1.xsd

    <xs:complexType name="restBuildLabel">
        <xs:sequence/>
        <xs:attribute name="name" type="xs:string"/>
      </xs:complexType>

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

resource-wide template parameters
parametervaluedescription

buildNumber

string

buildNumber (numeric value or 'latest')

buildKey

string

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

labelName

string

label name to remove from build result

projectKey

string

project key

Methods

DELETE

Removes label from build result specified by projectKey-buildKey-buildNumber.

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

resource-wide template parameters
parametervaluedescription

buildNumber

string

buildNumber (numeric value only, 'latest' keyword is not supported for this method)

buildKey

string

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

projectKey

string

project key

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:

  • 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

  • 200 (restResultStatus) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <status expand="stages" key="PROJECTKEY-PLANKEY-100">
        <finished>false</finished>
        <prettyQueuedTime>2011-10-04T09:10:00</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" size="0" max-result="1" start-index="0">
            <stage>
                <results expand="results" size="0" max-result="1" start-index="0">
                    <result state="Unknown" expand="result">
                        <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

/chart

Methods

GET

available response representations:

/chart/reports

Methods

GET

available response representations:

/chart/planSummary

Methods

GET

available response representations: