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

Pipeline environment variable valid characters

Douglas Lovell June 9, 2017

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
Cristtopher Quintana T. October 18, 2018

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

0 votes
Lee Richmond July 25, 2018

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...

0 votes
gusrub July 30, 2017

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

davina
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 30, 2017

Hi @gusrub,

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.

 

Cheers,

Davina

gusrub July 31, 2017

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

danielcooperxyz January 18, 2018

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? 

soufiane_mjouh March 21, 2018

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

brandontamm April 30, 2018

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 ..

Like Herraiz Stéphane likes this
0 votes
davina
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 23, 2017

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!

gusrub July 30, 2017

Hey @davina 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!

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events