The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

regex bash script in pipeline

Deleted user
May 30, 2019

I am trying to write a bash regex compare in my pipeline and it makes the YAML invalid but I can't get around this by single or double quotes because then it won't execute the command on the container. Any suggestions?

 

 - step:
name: test
script:
- [[ $BITBUCKET_BRANCH =~ [A-Z][a-z]+-[0-9]{2,} ]] && export BRANCH = $BASH_REMATCH[0]
- [[ $BRANCH =~ [0-9]+ ]] && export VERSION=1.$(date +%y).1$BASH_REMATCH-beta.$BITBUCKET_BUILD_NUMBER   

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

1 vote
Daniel Santos
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 7, 2019

Hello @[deleted]

Thank you for bringing this one up. 

When testing this I realized that this issue is caused by a problem to interpret the square brackets "[[" at the beginning of this command.

I just opened a bug report for this thanks to you:

You should be able to go if you use the IF command to wrap up your test.

if [[ test ]]; then command_success; else command_failure; fi

 so your commands will become:

    - if [[ $BITBUCKET_BRANCH =~ [A-Z][a-z]+-[0-9]{2,} ]]; then export BRANCH = $BASH_REMATCH[0]; fi
- if [[ $BRANCH =~ [0-9]+ ]]; then export VERSION=1.$(date +%y).1$BASH_REMATCH-beta.$BITBUCKET_BUILD_NUMBER; fi  

Please let me know if that solves the issue for you.

TAGS
AUG Leaders

Atlassian Community Events