Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

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

Daniel DiVita March 1, 2018

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

1 vote
Charlie Misonne
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
March 1, 2018

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
AUG Leaders

Atlassian Community Events