Cookie Notice
This site uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. To change your preferences, click Cookie Settings. Otherwise, clicking on the the website, closing the banner, or clicking Accept all Cookies indicates you agree to our use of cookies on your device. Atlassian Cookies and Tracking Notice
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:
- Retrieve a list of projects.
- Retrieve the plans for each project as well as plan details and available actions.
- Retrieve a specific plan as well as plan details and available actions.
- Retrieve the build results for a specific plan in a project.
- Retrieve the artifacts for a build.
- Retrieve all report type definitions as well as links to related images (for report types of specified parameters).
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:
- Developing your own REST APIs for Bamboo: Bamboo uses the Atlassian REST plugin to implement the Bamboo APIs. The REST plugin is bundled with Bamboo. You can add your own REST APIs to Bamboo by creating a Bamboo plugin that includes the REST plugin module.
- Understanding the principles behind the Atlassian REST API design: You may be interested in the guidelines followed by the Atlassian developers who are designing REST APIs for Atlassian applications, including the Bamboo REST APIs.
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.
<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:
{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
parameter | value | description |
---|
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
parameter | value | description |
---|
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
parameter | value | description |
---|
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/x-www-form-urlencoded
[
expand]
available response representations:
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"/>
Returned when user does not have sufficient rights to view or execute build for specified plan
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
parameter | value | description |
---|
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
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:
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"/>
Returned when user does not have sufficient rights to view or execute build for specified plan
Returned when build is currently executing or is in state not allowing execution
/queue/{projectKey}-{buildKey}-{buildNumber}
resource-wide template parameters
parameter | value | description |
---|
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:
On success (success is also when build doesn't exists in the queue - so nothing to stop)
Returned when specified plan does not exist
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
Methods
GET
available response representations:
/plan/{projectKey}/{buildKey}
resource-wide template parameters
Methods
GET
available response representations:
/clone/{projectKey}-{buildKey}:{toProjectKey}-{toBuildKey}
resource-wide template parameters
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
Methods
GET
available response representations:
/export/{projectKey}/{buildKey}
resource-wide template parameters
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
parameter | value | description |
---|
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
parameter | value | description |
---|
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
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:
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>
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
parameter | value | description |
---|
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
parameter | value | description |
---|
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:
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
parameter | value | description |
---|
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
parameter | value | description |
---|
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
parameter | value | description |
---|
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:
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>
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
parameter | value | description |
---|
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
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:
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>
Returned when user has no permission to view specified plan
/result/{projectKey}-{buildKey}-{buildNumber}/comment
resource-wide template parameters
parameter | value | description |
---|
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:
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"/>
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
parameter | value | description |
---|
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:
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"/>
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
parameter | value | description |
---|
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
parameter | value | description |
---|
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:
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
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:
View cookie preferences