Hi,
I'm using Bamboo v7.0.4.
I have created a Bamboo plan with YAML specs and I would like to define an empty plan variable. If a user doesn't provide a value when they trigger the plan, the plan will have a check in place and fail.
I want to avoid using a dummy value as a placeholder value.
Bamboo plan as YAML specs to reproduce the issue:
version: 2
plan:
project-key: ABC
name: Empty Variable Test
key: EVT
variables:
MY_VARIABLE: ""
Using null as a value instead of an empty string, will lead to the same result:
version: 2
plan:
project-key: ABC
name: Empty Variable Test
key: EVT
variables:
MY_VARIABLE: null
Both will lead to an error when the specs are scanned by Bamboo:
23-Jul-2020 14:25:18 Bamboo YAML import failed: Could not determine YAML document version: variables / MY_VARIABLE: String must not be empty.
I flagged this topic as a probable bug, since it's possible to declare an empty variable when you configure a plan manually and it's also possible to then export the plan into Java specs, so I assume Java specs also allow empty variables.
.variables(new Variable("MY_VARIABLE", ""))
I checked the Bamboo bug tracker in advance and couldn't find any related ticket.
Cheers
YAML Specs doesn't allow to have empty values for String elements. So only workaround is to use dummy value
Thanks for your clarification that the only solution right now is a dummy value.
Do you agree that this is a bug / regression compared to manual variable creation and Java specs, which both allow empty values, and should be fixed?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
YAML is not replacement for Java code. You can't have loops or inline documentation or enums or what ever strict compilable language gives you. It's not possible to submit YAML from command line without repository configuration.
What I want to say is that some design decisions were made during YAML Specs implementation. One of them is inability to support empty Strings.
We're constantly working to improve parity between Java and YAML specs as hear strong demand from customers.
Created https://jira.atlassian.com/browse/BAM-21021 to track feedback and interest.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bamboo should export only valid YAML specs though; If the exported YAML is invalid or incomplete, it should indicate that.
If a complete and valid YAML spec can not be exported from a plan, it should:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.