This documentation relates to an earlier version of Bamboo.
View

Unknown macro: {spacejump}

or visit the current documentation home.

このページの内容

Specifying Global, Build-specific or System Variables

When configuring a plan, you may want to specify variables to be used in the build process. There are three types of variables available to you:

  • Global variables are defined across your entire Bamboo instance, and have the same (static) value for every plan that is built by Bamboo. You can define as many global variables as you wish (see Defining Global Variables).
  • Build-specific variables are evaluated by Bamboo dynamically at build time. The source of a build-specific variable can either be a Bamboo property or one of the default plugins (assuming they have been enabled). The following build-specific variables are available by default:

    ビルド固有の変数

    ソース

    説明

    buildKey

    Bamboo property

    The plan key for the build, e.g. BAM-MAIN

    buildNumber

    Bamboo property

    Bamboo のビルド番号、例: 123

    buildPlanName

    Bamboo property

    The Bamboo plan name e.g. Some Project name - Some plan name

    buildTimeStamp

    Bamboo property

    The time when build was started in ISO 8601 format e.g. 2010-01-01T01:00:00.000+01:00

    buildForceCleanCheckout

    Bamboo property

    Whether the "Force Clean Build" option was used, values:true/false

    custom.svn.revision.number

    プラグイン

    (For Subversion only) The revision number

    custom.svn.lastchange.revision.number

    プラグイン

    (For Subversion only) The last changed revision number

    custom.svn.username

    プラグイン

    (For Subversion only) User name used for repository authentication

    custom.cvs.last.update.time

    プラグイン

    (For CVS only) The last updated timestamp

    custom.cvs.last.update.time.label

    プラグイン

    (For CVS only) The last updated timestamp to be used as a label for post build result labelling. The spaces in the cvs version string are replaced with '_'

    custom.p4.revision.number

    プラグイン

    (For Perforce only) The change set number

    custom.p4.username

    プラグイン

    (For Perforce only) User name used for repository authentication

    custom.p4.port

    プラグイン

    (For Perforce only) Port used for repository communication

    custom.p4.client

    プラグイン

    (For Perforce only) Client used for repository communication

  • System variables also apply across your entire Bamboo instance and inherit their values from system or environment variables of the same name.

The usage format for all global and build-specific variables is:

${bamboo.<variable>}

すべてのシステム変数に使用される形式は次のとおりです。

${system.<variable>}

e.g. if you have a system variable MYPATH=C:\MyPath; you can use a Bamboo system variable system.MYPATH which will inherit the same value as the system variable.

Where can I use Global, Build-specific or System Variables?

Variables can be used in the following fields of your build plan:

フィールド

Available variables

Goal (for Maven builders only)
— see Specifying a Builder

Global variables
Build-specific variables
System variables

Build File (for Ant and NAnt builders only)
— see Specifying a Builder

Global variables
Build-specific variables
System variables

Target (for Ant and NAnt builders only)
— see Specifying a Builder

Global variables
Build-specific variables
System variables

Options (for NAnt builders only)
— see Specifying a Builder

Global variables
Build-specific variables
System variables

Script (for Scripts only)
— see Specifying a Builder

Global variables
Build-specific variables
System variables

Argument (for Scripts and Custom Commands only)
— see Specifying a Builder

Global variables
Build-specific variables
System variables

System Environment Variables
— see Specifying a Builder

Global variables
Build-specific variables
System variables

Repository URL (for Subversion repositories only)
— see Specifying the Source Repository for a Plan

Global variables
System variables

Web Repository URL (for Subversion, CVS and Perforce repositories)
— see Specifying the Source Repository for a Plan

Global variables
System variables

CVS Root (for CVS repositories only)
— see Specifying the Source Repository for a Plan

Global variables
System variables

Branch name (for CVS repositories only)
— see Specifying the Source Repository for a Plan

Global variables
System variables


Maven example 

For example, you may want your Maven 2 version to be determined by Bamboo. In Maven 2 pom.xml you may have:

...
<groupId>com.atlassian.boo</groupId>
<artifactId>boo-test</artifactId>
<packaging>jar</packaging>
<version>1.1.${env.bambooBuildNumber}-SNAPSHOT</version>
...

You can then specify the following in the 'Goal' field of your build plan:

clean package -DbambooBuildNumber=${bamboo.buildNumber}

When the command runs, Bamboo will replace the buildNumber with the actual number (e.g. 1102), which will be passed to the underlying Maven build to use. The command will then produce a jar that looks like this: boo-test-1.1.1102-SNAPSHOT.jar.

Ant example

You can then specify the following in the 'Target' field of your build plan:

-f build.xml -DbambooBuildNumber=${bamboo.buildNumber}

When the command runs, Bamboo will replace the buildNumber with the actual number (e.g. 1102), which will be passed to the underlying Ant build to use.

Using Capabilities as Variables

グローバル変数と同じ方法で使用する機能を指定することもできます。

機能の形式は次のようにする必要があります。

${bamboo.capability.<capability_key>}

例:

  • カスタム
    ${bamboo.capability.<capability_key>}
  • JDK
    ${bamboo.capability.system.jdk.<jdk_label>}
  • ビルダー
    ${bamboo.capability.system.builder.<builder_type>.<builder_label>}
    e.g. ${bamboo.capability.system.build.maven.Maven1}
  • perforce
    ${bamboo.capability.system.p4Executable}

機能をクリックすると、特定の機能キーが URL に含まれます。

URL のスペース文字は "+" の文字に置き換わります。変数として使用する場合は、スペース文字を含む機能ラベルを使用しないことをお勧めします。スペース文字の考えられる解決策は、「${}」記号でフォーマットすることですが、すべての場合にうまくいくわけではありません。

What Capabilities Can I Use Where?

Global and Build-Specific Variables can be used in a specific fields of your build plan, as specified above. For capabilities,

  • System Capabilities are available to all of these fields, (i.e. global and build-specific).
  • Agent Capabilities (i.e. agent-specific and shared/server capabilities) are available only to the build-specific fields. (i.e. not available to Repository URL, CVS Root or Branch name.)

例:

システム変数を指定しようとしているが、エージェントごとに異なる値を設定する場合は、次の手順を実行してください。

  1. Set the following as a system environment variable field on the 'Builder' tab:
    ${bamboo.capability.thatsystemvariable}
  2. システム環境変数を各エージェントのカスタム機能として指定し、必要に応じて機能を異なる値に設定します。