Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to use executeAllStages with REST API to control a build

I am using the REST API endpoint  https://mybamboo.company.com.com/rest/api/latest/queue/<ProjectKey>-<PLanKey>

According to documentation, this endpoint supports parameters stage=<nameOfStage> and executAllStage=<true/false> 

I cannot get either the stage or executeAllStages parameters to work.  Regardless of how I set them, the behavior remains the same.  The automatic stages are executed, but stop when it hits the first manual. 

Assume I have 3 stages named: Stage1, Stage2, Stage3.   Stage3 is manual

I am using the Ansible URI module, so the call looks like: 

-
uri:
  headers:
    Authorization: 'Bearer {{ bearer_token }}'
  body_format: raw
  body:   stage=Stage3&executeAllStages=true
  method: POST
  url: https://mybamboo.company.com/rest/api/latest/queue/TAU-ETX/
  

The equivalent curl would be:

curl --fail 

  -H "Authorization: Bearer <XXX>"

  -X POST

  -d "stage=Stage3&executeAllStages=true"

  --location https://mybamboo.company.com.com/rest/api/latest/queue/TAU-ETX

In both formats, the call runs without errors, but no matter how I set the values for stage and executeAllStages, Stage1 and Stage2 are run, Stage3 is not.

There are a lot of questions about this and closely related issues, the best answer I have found being https://community.atlassian.com/t5/Bamboo-questions/Rest-Api-to-start-a-stage-for-build/qaq-p/786887 but I have not been able to get by this.

Can someone help me find my error or confirm there is a bug?

 

2 answers

1 accepted

1 vote
Answer accepted

Hi @james_mckean ! How are you doing?

Did you try to add the stage and/or executeAllStages parameter to the end of the URL instead of passing it as a body?

Hope this helps!

Sorry for the long wait. 

I am used to using Ansible, so my curl formatting is rusty.   If you mean something like 

curl --fail -H "Authorization: bearer XXX" -X POST https://bamboo.mybamboo.com/rest/api/latest/queue/TAU-ETX?stage=3&executeAllStages=true

then I get an error like

no matches found: https://bamboo.dev.mybamboo.com/rest/api/latest/queue/TAU-ETX?stage=3&executeAllStages=true
Like Cristiano Mariano likes this

Oh, wait. I am in a zsh shell so apparently the ? needs to be escaped with double quotes.  

Like Cristiano Mariano likes this

OK, further experimenting.  I cannot get the bearer token to work, but basic authentication does.  Final working format is:

curl --fail -k --user <user>:<password>   -X POST https://bamboo.mybamboo.com/rest/api/latest/queue/TAU-ETX"?stage=3&executeAllStages=true"

This builds all stages including the manual one.  Now I just have to figure out how to accomplish the same in Ansible.  

Thanks for the hint.

Like # people like this

Hi @james_mckean !

I am very glad to hear that it worked.

And thanks for give back the Ansible example to the community!

For anyone else trying to make this work in Ansible, the correct format is

name: 'execute all stages test'
hosts: localhost
tasks:
-
uri:
headers:
Authorization: 'Bearer {{ bearer_token }}'
method: POST
url: "https://bamboo.myBamboo.com/rest/api/latest/queue/TAU-ETX/?stage=Stage3&executeAllStages=true"
validate_certs: false 

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bamboo

Bamboo Data Center on Kubernetes

Hi, If you are running self-managed environments and looking to adopt modern infrastructure, Bamboo Data Center can now be deployed in a Kubernetes cluster. By leveraging Kubernetes, you can easily...

66 views 0 4
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you