This is the documentation for Bamboo 5.6. View this page for the

Unknown macro: {spacejump}

of Bamboo, or visit the latest Bamboo documentation.

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.

To configure a script task:

  1. Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).
  2. Click the name of the desired script task, or click Add Task and then Script if creating a new task.
  3. Complete the following settings:

    Script configuration
    Task DescriptionA description of the task, which is displayed in Bamboo.
    Script locationSelect the location of the script file.
    • File — enter the location of the file in the Script file field. This can be either relative to the repository root of the plan, or absolute. You can include variables (see Bamboo variables).
    • Inline — enter the script in the Script body field.
    Argument

    Specify an argument to pass to the script. Arguments that contain spaces must be quoted. You can include variables (see Bamboo variables).

  4. 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).
    Multiple variables should be separated with spaces. Parameters with spaces must be quoted (e.g ANT_OPTS="-Xms200m -Xmx700m").

    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.

  5. Click Save.

An example that calls a Python script (on a Linux machine):

4 Comments

  1. inline scripts don't work with escaped xml characters 

    • &
    • <
    • >
    • "
    • '

    JIRA incident logged here:

    BAM-13207 - Getting issue details... STATUS

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

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

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