Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,363,261
Community Members
 
Community Events
168
Community Groups

Ensure that bamboo shows failure when using CURL to call an external API?

We are using a CURL script in bamboo to call and external API.If the API comes back with, say, a HTTP 400 (Bad Request) status message, how can Bamboo interpret that as a failure? Currently, the plan passes because bamboo was able to run the script. We also added the "-v" option to enable verbose messaging. The response also contains the word "error"

1 answer

Hi Daniel

A Bamboo build will fail when the last exit code of your script ends with a value greater than 0.

By default a curl command will end with 0, even when you get an HTTP repsonse code other than 200.

The easiest solution is to use the --fail flag in your curl command. It will exit with error code 22.

Check the curl manual for more info.

Example:

curl --fail https://community.atlassian.com/thisdoesnotexist
echo $? #this outputs the exit code of the previous command. 22 in this case

note: do not include that echo command in your script as it's own exit code will be 0.

An alterative is to extract  the http response code from your curl response and check whether it's 200 or something else but that requires some extra Linux commands.

 

In case your curl command is not the last one in your script task you should either save the exit code in a variable and or use set -e at the top of your script.

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events