Issue Summary
Bamboo 10.2.2 variables are been read as unique String when setting more than one value
Steps to Reproduce
- create a plan
- create a Plan Variable:
- serverlist: server1,server2 # create a script tssk
Argument on Script Task:
- ${bamboo.serverlist}
Script Task 1:
param ( [string[]]$serverlist = "" ) Foreach ($server in $serverList) { Write-Output "Updating Server: $($server)" }
Expected Results
Log Result:
command 25-Mar-2025 17:49:59 Beginning to execute external process for build 'array - test - Default Job #2 (ARRAY-TEST-JOB1-2)'\n ... running command line: \nC:\Users\Bamboo\bamboo-agent-home\temp\ARRAY-TEST-JOB1-2-ScriptBuildTask-9654200115802238794.ps1 server1,server2\n ... in: C:\build\ARRAY-TEST-JOB1\n build 25-Mar-2025 17:50:02 Updating Server: server1 build 25-Mar-2025 17:50:02 Updating Server: server2 simple 25-Mar-2025 17:50:02 Finished task 'Script' with result: Success
Actual Results
Log Result:
simple 25-Mar-2025 17:44:18 Build array - scrpitvaraible - Default Job #3 (ARRAY-SCRPIT-JOB1-3) started building on agent 'Elastic Agent on i-04dfb0d8691d499c6' (Elastic agent on instance i-04dfb0d8691d499c6) command 25-Mar-2025 17:44:19 Substituting variable: ${bamboo.serverlist} with server1,server2 simple 25-Mar-2025 17:44:19 Starting task 'Script' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' command 25-Mar-2025 17:44:19 Beginning to execute external process for build 'array - scrpitvaraible - Default Job #3 (ARRAY-SCRPIT-JOB1-3)'\n ... running command line: \nC:\Users\Bamboo\bamboo-agent-home\temp\ARRAY-SCRPIT-JOB1-3-ScriptBuildTask-2050474197974038510.ps1 server1,server2\n ... in: C:\build\ARRAY-SCRPIT-JOB1\n build 25-Mar-2025 17:44:19 Updating Server: server1,server2 simple 25-Mar-2025 17:44:19 Finished task 'Script' with result: Success
Workaround
manually splitting arguments in your scripts using the command $serverArray = $serverlist.Split(','), which you have already implemented.