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

Limit pipelines to a specific branch

This question is in reference to Atlassian Documentation: Configure bitbucket-pipelines.yml

Is there a way to disable pipelines for specific branches?  Or, only enable for one specific branch?  We'd like to only have pipelines run on our 'master' branch for now, and ignore everything else.  

Tried adding a default that simply has an echo statement in the script, but it still spends a lot of time spinning up a docker, just to do that echo.  Seems like a waste of resources?

2 answers

1 accepted

28 votes
Answer accepted
Joshua Tjhin Atlassian Team Jun 07, 2016

Hi James

You sure can limit pipelines to run only when certain branches change.

Here's an example of a bitbucket-pipelines.yml that only runs when master is pushed

pipelines:
  branches:
    master:
      - step:
          script:
            - echo "only on master"

With this configuration, if I push another branch, it won't be built.

That seems to have done the trick.  I was thinking 'default' was a required block, meaning a branch always has a match.  I was wrong!  

Thank you.

Yup, works for me too, thanks!

Note that the 'default' block is a sibling of the 'branches' block, not a descendant.  That tripped me up for a couple minutes.

Like # people like this

I have a single repository under bit-bucket account and this repository has this 4 branches :

- master 
- API
- Admin - Web

 I put bitbucket-pipelines.yml under master and its like that:

 

image: maven:3.5.0-jdk-7
pipelines:
branches:
API: - step:
caches
: - maven script: - mvn install

 

so I expect that when I push something to API, this will file will be triggered , but in fact it never happened, did I miss any?

is there a way to gave multiple options?
I mean, I want to run the same test on both `develop` and `master`, it's a bit ugly to repeat the same 10 rows of config for both brenches

it'd be great something like this

pipelines:
branches:
API|Admin:
- step:
caches
: - maven script:

but i think it breaks the yaml 

Like # people like this

Any information about this? We would like to see similar functionality.

you can write

branches: '{master, develop}': 
Like # people like this

Wow, didn't know about it, thank you

Like Miquel Ferrer Llompart likes this

that's incredible, thanks indeed

it is not in any way clear trough the documentation!

Like Mirko Tebaldi likes this
pipelines:
branches:
'{master,dev}':
- step:
# In next line with proper indentation.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Bitbucket

Share your software development horror stories!

Hey Community! I work on the Bitbucket product marketing team. With Halloween approaching, we wanted to discuss a topic tailor-made for October: development horror stories. Whether it was a lurk...

1,016 views 11 2
Join discussion

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