Hi
I was trying to run a pipe based on a specific condition in the script. The condition is multiline scripts.
I want to implement something like the below but I am getting errors. Please guide.
script:
- >- if [ "$Var" = True ]; then
- pipe: atlassian/aws-code-deploy:1.1.1
variables:
<A>
fi
- >- if [ "$Var" = False ]; then
- pipe: atlassian/aws-code-deploy:1.1.1
variables:
<B>
fi
Hello @Agastya Bisht ,
Welcome to Atlassian Community!
I'm afraid it's currently not possible to condition the execution of pipes in Bitbucket Pipelines, as bash does not recognize the "pipe" as a valid command. We have a feature request to implement that functionality, which you can check in the following link :
I would suggest you to add your vote there, since this helps both developers and product managers to understand the interest. Also, make sure you add yourself as a watcher in case you want to receive first-hand updates from that ticket. Please note that all features are implemented with this policy in mind.
While this feature is not implemented, one workaround I can think of is separating the conditions into multiple steps, and finishing the step early with an exit 0 in case the condition is not met. Please refer to the example below :
image: atlassian/default-image:3
pipelines:
default:
- step:
name: "Execute when the variable is true"
script:
- if [ "$VAR" != true ]; then exit 0 ; fi # Finish the step if the $VAR value is not true
- pipe: atlassian/aws-code-deploy:1.1.1
variables: <A>
- step:
name: "Execute when the variable is false"
script:
- if [ "$VAR" != false ]; then exit 0 ; fi # Finish the step if the $VAR value is not false
- pipe: atlassian/aws-code-deploy:1.1.1
variables: <B>
Hope that helps! Let me know in case you have any questions.
Thank you, @Agastya Bisht .
Kind regards,
Patrik S
Thank you, Patrik
Your provided solution worked for me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.