List of default keys for the bamboo-capabilities.properties file
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
You can define the capabilities of a specific remote agent by using a configuration file on the agent machine. Instructions on how to configure the capabilities properties file can be found here:
The purpose of this page is to provide a list of capabilities (keys) that can be used inside the capabilities properties file. You must use '\' to escape spaces, periods and backslashes ('\') as pointed out in the document aforementioned.
Solution
JDK capabilities
1
2
3
4
5
6
7
8
9
system.jdk.JDK
system.jdk.JDK 1.5
system.jdk.JDK 1.6
system.jdk.JDK 1.7
system.jdk.JDK 1.8
system.jdk.JDK 1.9
system.jdk.JDK 10
system.jdk.JDK 11
system.jdk.JDK 17
Examples:
system.jdk.JDK\ <jdk number>=<jdk location>
1
2
3
4
system.jdk.JDK\ 1.6=/System/Library/Frameworks/JavaVM.framework/Versions/1.6
system.jdk.JDK\ 1.6=C:\\Program Files\\Java\\jdk6.0.17
system.jdk.JDK\ 11=/usr/lib/jvm/java-11/bin/java
system.jdk.JDK\ 17=/opt/java/openjdk17/bin/java
Executable capabilities
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Ant
system.builder.ant.Ant
system.builder.ant.Ant 1.10
system.builder.ant.Ant 1.9
system.builder.ant.Nunit
# Command
system.builder.command.PowerShell 7.0
system.builder.command.bash 4.0
system.builder.command.bash 5.0
# Grails
system.builder.grailsBuilder.Grails 2.4
system.builder.grailsBuilder.Grails 3.2
system.builder.grailsBuilder.Grails 3.3
# Fastlane
system.builder.fastlane.Fastlane
# MSBuild
system.builder.msbuild.MSBuild v4.0 (32bit)
system.builder.msbuild.MSBuild v4.0 (64bit)
# Maven
system.builder.maven.Maven 1.0
system.builder.mvn2.Maven 2
system.builder.mvn2.Maven 2.0
system.builder.mvn2.Maven 2.1
system.builder.mvn2.Maven 2.2
system.builder.mvn3.Maven 3
system.builder.mvn3.Maven 3.2
system.builder.mvn3.Maven 3.3
system.builder.mvn3.Maven 3.5
system.builder.mvn3.Maven 3.6
# Nant
system.builder.nant.Nant
# Node.js
system.builder.node.Node.js
system.builder.node.Node.js 4
system.builder.node.Node.js 6
system.builder.node.Node.js 8
system.builder.node.Node.js 10
# Nunit
system.builder.nunit.Nunit
# PHPUnit
system.builder.phpunit.PHPUnit 3.7
system.builder.phpunit.PHPUnit 4.4
# PHPUnit 33X
system.builder.phpunit33X.PHPUnit 10
system.builder.phpunit33X.PHPUnit 11
# Visual Studio
system.builder.devenv.Visual Studio 2019 Dev16
system.builder.devenv.Visual Studio 2022 Dev17
# VSTest Runner
system.builder.vstestconsole.VS Test Console
Examples:
system.builder.<executable type>.<executable label>=<executable path>
1
2
3
4
5
6
system.builder.ant.Ant=/opt/apache-ant-1.7.1
system.builder.mvn2.Maven\ 2=/opt/maven-2.0
system.builder.node.Node.js\ 0.12=/opt/node-0.12/bin/node
system.builder.node.Node.js\ 4=C:\\opt\\node-4\\node.exe
system.builder.msbuild.MSBuild\ v4.0\ (64bit)=C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\MSBuild.exe
system.builder.command.PowerShell\ 7.0=C:\\Program Files\\PowerShell\\7\\pwsh.exe
Docker capabilities
1
system.docker.executable
Example:
system.docker.executable=<docker executable location>
1
system.docker.executable=/usr/bin/docker
DVCS capabilities
1
2
system.git.executable
system.hg.executable
Examples:
system.<DVCS>.executable=<DVCS command location>
1
2
system.git.executable=/usr/bin/git
system.git.executable=C:\\opt\\git\\bin\\git.exe
Perforce capabilities
1
system.p4Executable
Example:
system.p4Executable=<perforce executable location>
1
system.p4Executable=/usr/bin/p4
Custom capabilities
<custom capability name>=<custom capability value>
1
2
3
operating.system=osx
hello=world
capability=value
You can use pretty much whatever you want here as custom – however to prevent confusion between system capabilities and custom capabilities, you might want to avoid prefixing custom capabilities with system
.
Additional notes
Your Bamboo instance might already contain several other (different/custom) capabilities. Ultimately, you might want to retrieve this information directly from your Bamboo database using the following SQL statement:
1 2
select distinct KEY_IDENTIFIER from CAPABILITY;
Capability prefixes must be provided in lowercase format, while the capability name can use a combination of uppercase, lowercase and space characters.
You might also be interested in using the REST API to export the remote agent capabilities:
Was this helpful?