A capability is a feature of an agent. A capability can be defined on an agent for:
- 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).See also Configuring agents.
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
- Defining a new Docker capability
Editing and deleting a capability
To edit an existing capability, see Modifying and deleting capabilities.
Renaming a capability
To rename an existing capability, see Renaming a capability.
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.