Pipeline environment variable valid characters

We are getting the message, "A variable value contains an illegal string or character" from Bitbucket Pipeline.

The Environment Variable Document, unless I missed it, doesn't mention any limits on values.  It doesn't say anything about escaping characters in the values.

What characters are not valid?  Are there any escaping mechanisms?

4 answers

0 votes

Hi Douglas,

If you scroll down on that documentation page to "User variables", you will see a few limitations:

  • Names can only contain ASCII letters, digits and underscores
  • Names are case-sensitive
  • Names can't start with a digit

Hope this helps!

Hey @Davina Adisusila I'm having exactly the same issue. I do not see any illegal characters on my env vars.


Opening the validator shows this:


Screenshot from 2017-07-30 16-20-40.png

I even tried to use the env vars without the double quotes to no avail, still getting this:


Screenshot from 2017-07-30 16-18-37.png

I do have, of course, the referenced variables defined in my environment variables page set.


Is this a known issue... something we are doing wrong perhaps?


I love to have the pipelines integrated with the source control but unfortunately storing the credentials on the YAML is not an option as you'd guess.


Thanks in advance!

Just to add to the conversation: using the ENV VARS within the pipelines section works; I added the following as the last command of the pipeline for instance:


echo "Database name is $DB_NAME"


And it does output in the log the database name, so it seems that only when using env vars in the definitions section they are not properly parsed:

Screenshot from 2017-07-30 17-33-39.png

Hi @Gustavo Rubio,

Yes you're right, under our official documentation "Defining a service" you'll see:

Note - the environment section must contain only literal values, not environment variables.

I will raise a bug against the validator - it should say it is invalid.




Oh, snap!, I missed that but still, the validator should not be green as you say. Thanks for the quick response!

This problem had me confused for a while. Is it true that we cannot set env vars in the definitions with env vars from the pipeline settings? 

This is so unintuitive... Why would we use environment variables from Bitbucket, when we can't actually use them in the service definitions...

SERIOUSLY - Wasted a few hours on this ridiculousness..why would Atlassian do something awesome like create environmental variables and then NOT allow us to implement them in the entire YAML file?! And the ENTIRE documentation for bitbucket pipelines doesnt promote the use of the environmental variables...I'm about to switch to Gitlab where we don't have half-baked implementations and documentation ..

I'm confused, so what is the point of allowing us to create user-defined ENV vars is we can't actually use them? If anything using them in the pipelines.yml file seems like the ONLY place you would want to use them...

For real? I have more than 18 intents and then read this...

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Nov 06, 2018 in Bitbucket

Upgrade Best Practices

Hello! My name is Mark Askew and I am a Premier Support Engineer for products Bitbucket Server/Data Center, Fisheye & Crucible. Today, I want to bring the discussion that Jennifer, Matt, and ...

1,906 views 7 10
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you