REST API: check if any plan in bamboo project is currently building

Hi, I am trying to write an app which accesses the REST API and checks whether any plan in a specific bamboo project is currently building. The result overview (https://bamboo/build/rest/api/latest/result/Project) only shows me all finished builds and not builds which are currently in progress. Is there an easy way to get this information? Thanks, Martin

16 answers

This widget could not be displayed.

I wanted to give this a bump.

The QUEUE service only lists what is waiting to start building.

The RESULT service only lists what has been completed.

There seems to be a gap here. Is there any way to find out what is *currently* building?

This widget could not be displayed.

Seriously? There is no endpoint for this?

This widget could not be displayed.

Use the rest/api/latest/plan/{BuildKey} REST call and look for isBuilding.

John: rest/api/latest/plan does not cover branches builds though.

This widget could not be displayed.

You can try the QUEUE service, though that may only be plans waiting to be built. https://developer.atlassian.com/display/BAMBOODEV/Bamboo+REST+Resources#BambooRESTResources-BuildQueueService

This widget could not be displayed.

Bump, is there really no REST API for knowing what is currently building?

This widget could not be displayed.

currentActivity.action will tell you what is currently building but I don't know of any way to get it via rest or filter it for a specific plan. You might look in the api doc for currentActivity and see if you can find anything.

This widget could not be displayed.

For branch builds just pass the branch build key which is normally just the parent key with the branch id appended.

So if your parent key is BUILD-FULL your branch key will be BUILD-FULL0.

To script this better just expand the branches in the plan REST CALL to get the key name.

This widget could not be displayed.

I'm still conviced that there should be an endpoint for all running builds.

We are using Atlasboard to show stuff on a screen in our office, and we want (beneath others) to show all currently running builds.

Don't want to iterate over all Projects or Plans to get this information...

This widget could not be displayed.

If you just want to see active builds visually you can use the Build Activity Screen in Bamboo 5. Its not pretty like the wallboard but it will show you everything running as well as agent usage:

/currentActivity.action

Build -> Build Activity

This widget could not be displayed.

Is there still no API for this?

This widget could not be displayed.

Bump

I'd like to inform you that in next few weeks I am going to release my package on npm which exposes API with all builds information like what is currently building, what is in the queue, how looks recent builds etc.

In the first release frontend side (I will make something like wallboard) and backend will be in the one package, but in future I think that I will split package into two standalone repos: backend - api, frontend. Cross your fingers wink

This widget could not be displayed.

I would suggest to vote for this to happen:

https://jira.atlassian.com/browse/BAM-3641

This widget could not be displayed.

ugly one:

curl -u uid:pw http://bambooserver/admin/agent/configureAgents!default.action | grep Building | wc -l

not nice but it will give you the number of agents currently building,

or you could regexp it

good luck

Poul

This widget could not be displayed.

One can use this, the result is either false or true

curl -ks --user <user>:<password> http://<bamboo_server>/rest/api/latest/plan/<project_key>-<plan_key>.json | jq .isBuilding
This widget could not be displayed.

There is a query parameter to get all the results, including the ones that are building: 

includeAllStates=true

For example you could use it in:

/result/PLANKEY-latest.json?includeAllStates=true

sorry for the old bump on this -- looks like this only returns data on top level plans, is there anyway to check status on builds from lower branches?

Use a plan branch key as path parameter

/result/PLAN-KEY1-latest.json?includeAllStates=true 

This looks like the same line i responded to from Luca... am i missing something? 

 
 
This widget could not be displayed.

I think this might be what you are looking for:

wget -q -O agent.txt --http-user=%LOGIN% --http-password=%PASSWORD% "http://localhost:8085/rest/api/latest/agent?os_authType=basic"

The output is json and shows what the agents are currently doing.  In particular there is an element 'busy' that will be true or false for each agent:

"busy":true
"busy":false

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted Wednesday in New to Jira

Are you planning to trial, or are currently trialling Jira Software? - We want to talk to you!

Hello! I'm Rayen, a product manager at Atlassian. My team and I are working hard to improve the trial experience for Jira Software Cloud. We are interested in   talking to 20 people planning t...

139 views 2 0
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you