[Bamboo Knowledge Base]
This page describes how to configure a Bamboo task to use a script executable. You can use Bash on Linux, and batch files on Windows.
Related pages:
To configure a script task:
Complete the following settings:
Script configuration | |
---|---|
Task Description | A description of the task, which is displayed in Bamboo. |
Script location | Select the location of the script file.
|
Argument | Specify an argument to pass to the script. Arguments that contain spaces must be quoted. You can include variables (see Bamboo variables). |
If required, specify environment variables and working directory settings:
Environment Variables | (Optional) Additional system environment variables that you want to pass to your build. Note that existing environment variables are automatically available to the executable. You can also include Bamboo global or build-specific variables (see Bamboo variables). |
Working Sub Directory | (Optional) An alternative subdirectory, relative to the job's root directory, where Bamboo will run the executable. The root directory contains everything checked out from the job's configured source repository. If you leave this field blank, Bamboo will look for build files in the root directory. This option is useful if your task has a build script in a subdirectory and the executable needs to be run from within that subdirectory. |
Run as Powershell script | (Optional, Windows only) Check the 'Run as Powershell script' checkbox to run the script with Powershell instead of cmd.exe which interprets .bat files. The inline editor supports Powershell syntax. |
An example that calls a Python script (on a Linux machine):
4 Comments
drcheeves
inline scripts don't work with escaped xml characters
JIRA incident logged here:
BAM-13207 - Getting issue details... STATUS
Matt Jernigan
Okay, I REALLY don't understand why this task is built this way. If I have both Windows and Linux build agents, then the only way to get jobs with a Script task to choose the right agent is to add a custom capability to each agent indicating what kind of script it can run (bash or batch, Windows or Linux, whatever) and then to also add a requirement to each job indicating one or the other. This looks like unnecessary complexity for something that could have been easily automated by adding OS and/or script type capabilities to the default agent capabilities (how hard could that be?) and then providing two or three different script tasks to choose from (bash, batch and/or Powershell) instead of just this singular identity-confused one.
paulwatson
Hi Matt - yep, agree with you on this. I've raised https://jira.atlassian.com/browse/BAM-15189, and quoted your comment above. Please comment further on that issue if you want.
Gerard Iglesias
Hello,
How do we configure Bamboo to use bash instead of sh, there are some limitation that we don't understand, like source or . is not available to the scripting capability.
Thanx in advance