Missed Team ’24? Catch up on announcements here.

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

Defining Conditional Steps

Sascha Mowtschan October 2, 2019

I want to run some steps only in particular cases.

My expectation would be like:

- step:
   name: some conditional step
   script:
     - echo "run only if the condition is true"
   when: <some condition>

       

2 answers

1 accepted

0 votes
Answer accepted
Daniel Santos
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 3, 2019

Hi @Sascha Mowtschan

We don't have such configuration to set special conditions for a build to happen. 
Would you mind sharing what type of conditions you would test in the when clause?
Depending on what you share for those conditions I'll be able to open a feature request for this.

If you are attempting to avoid builds on certain commits you can use the "[skip ci]" token in their commit message. Commits with that token will not trigger builds.

Sascha Mowtschan October 3, 2019

Hi @Daniel Santos 

something like:

when: $(git diff --name-only --diff-filter=AMDR HEAD^ some-directory-or-file) != ""

Daniel Santos
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 4, 2019

 

Hi @Sascha Mowtschan

I've created the following feature request for this:

Please vote on this one and add yourself as a watcher to make sure you will have any updates from that ticket. Let me know if you have more comments or questions on this matter. =]

Like Shahriar Nady likes this
Sascha Mowtschan October 4, 2019

awesome! thank you!

I voted and added my self as a watcher. 

Like Daniel Santos likes this
Daniel Santos
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 4, 2019

That is great, you are welcome!

Alex Popa
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 2, 2020
- step:
          name: path1 failing step
          script:
             - echo "failing path1"
             - exit 1
          condition:
              changesets:
                 includePaths:
                   - "path1/*"
                   - "path2/*"
Like # people like this
NAT
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
August 25, 2020

Hi @Alex Popa

Could you please share me the documents or more configuration for this condition step?

Many thanks,

NAT

Mateusz Przybyłek January 8, 2021

@NAT search for "condition", because BB pipeline documentation sucks https://support.atlassian.com/bitbucket-cloud/docs/configure-bitbucket-pipelinesyml/

Like # people like this
0 votes
Sam Gendler
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
August 24, 2021

At the moment, using exactly the syntax specified in the documentation results in an error that the yaml file is failing schema validation.  It says 

There is an error in your bitbucket-pipelines.yml at [pipelines > branches > master > 0 > step > condition]. 
To be precise: At least one condition is required

My step is defined as:

 - step: &codegen
name: Generate Protos
script:
- make ci_tools
- make proto_go
artifacts:
- golang/**
condition:
changesets:
includePaths:
- "proto/**/*.proto"

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events