- an executable (e.g. Maven)
- a JDK
- a Version Control System client application (e.g. Git)
- a custom capability. This is a key-value property which defines a particular characteristic of an agent (e.g. 'operating.system=WindowsXP' or 'fast.builds=true').
Capabilities typically define the path to an executable that has already been installed, and must be defined in Bamboo before Bamboo or its agents can make use of those.
Capabilities can be defined specifically for an agent, or they can be shared between either all local agents or all remote agents. Note that the value of an agent-specific capability overrides the value of a shared capability of the same name (if one exists).
Defining a new capability
To define a new capability, see:
- Defining a new executable capability
- Defining a new JDK capability
- Defining a new custom capability
- Defining a new version control capability
Editing a capability
To edit an existing capability, see Modifying and deleting capabilities.
Renaming a capability
To rename an existing capability, see Renaming a capability.
Deleting a capability
To delete a capability, see Modifying and deleting capabilities.
- A requirement is specified in a job or a task. A requirement specifies a capability that an agent must have for it to build that job or task. A job inherits all of the requirements specified in its tasks.
Together, capabilities and requirements control which agents can execute builds for particular jobs. Each job can only be built by agents whose capabilities match the job's requirements. See Configuring a job's requirements for more information.